I can relay the list of dependencies and their licenses.

On Thu, Sep 9, 2021 at 9:20 AM Steve Lawrence <slawre...@apache.org> wrote:

> I personally don't care too much about having the existing git history
> once its part of ASF, especially if it makes thing any easier (as you
> mention, squash/rebase can be difficut through merges). So I'd say we
> just do plan B--create a tarball of the current state (without the git
> history), and the content of that tarball is what goes through the IP
> clearance process, and is the content of the inital commit when adding
> to the apache/daffodil-vscode repo.
>
> Note that I think the incubator will still want access to the existing
> repo so they can view the full git history. Understanding where
> everything came from and verifying the provenance is important to
> ensuring we have all the appropriate CLA's. So while the tarball is
> maybe what is officially voted on, they will want access to the repo.
>
> That said, I don't think we are going to get CLA's for any Microsoft
> contribute code. So either all Microsoft contributed code will need to
> be kept MIT, or removed from the codebase. And if feels a bit odd to
> grant something to ASF where the original codebase stays MIT and isn't
> part of that grant.
>
> I think understanding how much code still exists that is Microsoft/MIT
> is going to be important to getting this through the IP clearance process.
>
> So I'm curious how much of that original Microsoft code still exists? I
> assume since it was just example code it has mostly been replaced? If
> that's the case, we could potentially say Microsoft has no ownership of
> this code, and so their CLA and MIT license aren't necessary?
>
> We should also have a good understanding of the dependencies. If any of
> them are not compatible with ALv2, then going through this process isn't
> even worth it until they are replaced. Do you have a list of the
> dependencies?
>
>
> On 9/9/21 11:16 AM, Beckerle, Mike wrote:
> > So the daffodil-vscode code-base wants to be granted to become part of
> the
> > Daffodil project.
> >
> > One question arises which is "what is the contribution?" exactly.
> >
> > The normal way this is identified is by creating a tarball of the source
> files
> > and specifying an sha or md5 hash of that file.
> >
> > However, this code base is perhaps different from usual.
> >
> > It started by creating a detached fork of the vscode debugger example
> code base.
> > This is MIT-Licensed which is a compatible license.
> >
> > The files are then edited. There are around 100 commits on top of the
> base that
> > came from the vscode debugger repository.
> >
> > So the contribution is that set of 100 commits - the patches/change-sets
> they
> > represent.
> >
> > These commits often edit the original files of the vscode debugger
> example to
> > add the daffodil-specific functionality. That is, the contribution
> material is
> > in several cases intermingled in the lines of the existing files.
> That's ok I
> > think so long as the modified file had MIT license.
> >
> > There's some value in preserving the 100 commits by our contributors,
> not
> > squashing it down to one commit, though if it's really not sensible to
> proceed
> > otherwise, we can choose to squash it down to one commit.
> >
> > Furthermore, the vscode debugger example repo itself had many commits in
> it. The
> > current daffodil-vscode repo preserves all these commits as well. I
> don't see
> > value in preserving these commits, and would rather they were squashed
> into a
> > single "starting point" commit, with a dependencies file specifying the
> githash
> > where we forked from, just so we can refer back if necessary.
> >
> > So as a starting suggestion (subject to discussion of other
> alternatives) is this:
> >
> > Plan A:
> >
> >  1. squash all commits up to and including the last Microsoft commit,
> together
> >     into one.
> >  2. rebase the remaining commits on top of that.
> >      1. I'm a bit worried about this rebase. There are merge commits,
> etc. in
> >         the history. I'm not sure this will just all rebase while
> preserving all
> >         the commits, but maybe it will "just work"
> >  3. create a "patch set" corresponding to the 100 or so commits that
> make up the
> >     "contribution".
> >      1. I don't know if this is even feasible for this many commits.
> >  4. create a tar/zip of this aggregate patch set.
> >  5. compute an md5 of this patch set.
> >
> > The patch set tar/zip file and its md5 hash are "the granted software".
> >
> > The problem with this idea is that there's no obvious way to review a
> patch set,
> > shy of applying it.
> >
> > A better way may be to change steps 3 - 5 above to
> >
> > Plan B:
> >
> >     3. push the main branch to a new empty git repository
> >          The point of this is to remove all historic stuff from the
> repository,
> >     i.e., have a minimal git repo that contains only the contribution
> and the
> >     single other commit it must be based on.
> >
> >     4. create a tarball of this git repository, and md5 hash of it
> >
> >     5. document that the contribution is from githash X (after the first
> commit)
> >     to githash Y (the final commit) of this repository
> >
> >
> > This has the advantage that the contribution is a self-contained
> review-able thing.
> >
> > Other ideas are welcome. (Plans C, D, etc) The only requirements I know
> of are:
> >
> >  1. a single file containing the contribution, and its md5 hash
> >  2. a sensible way one can review the contents of this contribution file
> >  3. preserve history of derivation from the vscode debugger example.
> >
> >
> >
> >
> >
> >
> >
> >
> > Mike Beckerle | Principal Engineer
> >
> > mbecke...@owlcyberdefense.com <mailto:bhum...@owlcyberdefense.com>
> >
> > P +1-781-330-0412
> >
>
>

Reply via email to