# Contribution licensing question(s)

4 messages from 2017-11-01 to 2017-11-01. Participants: Elijah Newren, Stefan Beller, Jeff King.
Thread: https://gitlist.dev/t/47092

## Elijah Newren, 2017-11-01 15:50

Subject: Contribution licensing question(s)
Message-ID: <CABPp-BF5Aitu05X83Lbm+8rWKojOnNNec_4bf5PRy+hKZGPPHw@mail.gmail.com>
URL: https://gitlist.dev/e/CABPp-BF5Aitu05X83Lbm%2B8rWKojOnNNec_4bf5PRy%2BhKZGPPHw%40mail.gmail.com

```
Hi,

My employer has a new-ish open-source-contribution process, and is
curious about some licensing question(s) before I submit a few patch
series.

Background: git's README.md file points out that some parts of git are
under a license other than GPLv2 (while still GPLv2-compatible),
though it doesn't state which one(s) or what a contributor might want
to do if they want to grant permission under one of those more
permissive license(s). Also, I seem to recall that years ago there
were requests to make code available under a slightly more permissive
license to allow re-usage in jgit and perhaps other projects, though I
can't find any trace of this in the codebase.  git's COPYING file has
wording suggesting how to make a license transition (to GPLv3) easier,
but only considers completely new files as opposed to (significant)
modifications to existing files.

I'm not sure whether my specific git contributions would matter to
jgit (which we also use internally, both directly and indirectly), but
generally, is contributing under a more permissive GPLv2-compatible
license to permit re-usage in other projects like jgit (or for easing
future license switches) still relevant?  If so, which license(s) have
folks gravitated towards for these contributions, and how would one
mark their submitted patches?

Thanks,
Elijah

```

## Stefan Beller, 2017-11-01 18:32

Subject: Re: Contribution licensing question(s)
Message-ID: <CAGZ79kYM83May-S3jtXzaAucu_6U=ZJ+mGtqMT=GWqY3B66icg@mail.gmail.com>
URL: https://gitlist.dev/e/CAGZ79kYM83May-S3jtXzaAucu_6U%3DZJ%2BmGtqMT%3DGWqY3B66icg%40mail.gmail.com
In-Reply-To: <CABPp-BF5Aitu05X83Lbm+8rWKojOnNNec_4bf5PRy+hKZGPPHw@mail.gmail.com>

```
On Wed, Nov 1, 2017 at 8:50 AM, Elijah Newren <newren@gmail.com> wrote:
> Hi,
>
> My employer has a new-ish open-source-contribution process, and is
> curious about some licensing question(s) before I submit a few patch
> series.

cool. :)

> Background: git's README.md file points out that some parts of git are
> under a license other than GPLv2 (while still GPLv2-compatible),

e.g. xdiff/* seems to have headers indicating it is LGPL.
otherwise I suspect contrib/ to be a fun place to look for different licenses.
IIUC, the files in builtin/ as well as the root of the git repo are all GPLv2,
though I am not your lawyer.

> though it doesn't state which one(s) or what a contributor might want
> to do if they want to grant permission under one of those more

I'd be surprised if we had anything more permissive than GPL,
e.g. BSD, APACHE in the tree outside of contrib/.

> permissive license(s). Also, I seem to recall that years ago there
> were requests to make code available under a slightly more permissive
> license to allow re-usage in jgit

JGit is in Java, so you have to rewrite the code anyway?

> and perhaps other projects, though I
> can't find any trace of this in the codebase.  git's COPYING file has
> wording suggesting how to make a license transition (to GPLv3) easier,
> but only considers completely new files as opposed to (significant)
> modifications to existing files.

I think going to GPLv3 is a pipe dream by now:

  git shortlog -sne | wc -l
  1589

It will be hard to identify all the contributors that had meaningful
contributions (more than a typofix?) and ask them if they agree
on a re-licensing of the code they submitted at the time.

These potential contributors may have changed their email address
(e.g. by switching jobs, whereas the copyright is with the employer
anyways, usually. :/)

> I'm not sure whether my specific git contributions would matter to
> jgit (which we also use internally, both directly and indirectly), but
> generally, is contributing under a more permissive GPLv2-compatible
> license to permit re-usage in other projects like jgit (or for easing
> future license switches) still relevant?

Contributions to git ask for your 'sign off', which ensures that
the conditions in https://developercertificate.org/ are met.
The first point points out "open source license indicated in the file".
However most files (e.g. git.c) have no license header and just
assume the license as in COPYING.

>  If so, which license(s) have
> folks gravitated towards for these contributions, and how would one
> mark their submitted patches?

That is an interesting question. When adding new files, maybe
by a file header? Existing files are more interesting though.

Stefan

```

## Jeff King, 2017-11-01 18:38

Subject: Re: Contribution licensing question(s)
Message-ID: <20171101183829.mwoi7urka3hze3pm@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20171101183829.mwoi7urka3hze3pm%40sigill.intra.peff.net
In-Reply-To: <CABPp-BF5Aitu05X83Lbm+8rWKojOnNNec_4bf5PRy+hKZGPPHw@mail.gmail.com>

```
On Wed, Nov 01, 2017 at 08:50:00AM -0700, Elijah Newren wrote:

> Background: git's README.md file points out that some parts of git are
> under a license other than GPLv2 (while still GPLv2-compatible),
> though it doesn't state which one(s)

I think this note is mostly about code we've imported from elsewhere.
For example, libxdiff seems to be under LGPL.

> or what a contributor might want
> to do if they want to grant permission under one of those more
> permissive license(s).

If it's a whole file or subsystem that can be used standalone, I think
it would make sense to mark the copyright at the top of the file (like
xdiff does).

For smaller bits or changes to GPL'd code, it's not clear to me if you
can meaningfully dual-license them. I.e., I think you hit a question of
whether small changes are copyrightable in themselves or if they're
simply a derived work of Git. I'll leave that one to people more clueful
about legal issues.

> Also, I seem to recall that years ago there
> were requests to make code available under a slightly more permissive
> license to allow re-usage in jgit and perhaps other projects, though I
> can't find any trace of this in the codebase.

This was mostly done for the libgit2 project, which uses GPL with a
linking exception:

  https://github.com/libgit2/libgit2/blob/master/COPYING

When that project started, they asked for dual-license permission from
various git.git contributors, which is documented in that repo:

  https://github.com/libgit2/libgit2/blob/master/git.git-authors

> I'm not sure whether my specific git contributions would matter to
> jgit (which we also use internally, both directly and indirectly), but
> generally, is contributing under a more permissive GPLv2-compatible
> license to permit re-usage in other projects like jgit (or for easing
> future license switches) still relevant?  If so, which license(s) have
> folks gravitated towards for these contributions, and how would one
> mark their submitted patches?

Hopefully the above answers most of these questions. But I think in
general the approach is not "license it differently in git.git", but
"grant those other projects a different license to use your code, too".

-Peff

```

## Elijah Newren, 2017-11-01 18:59

Subject: Re: Contribution licensing question(s)
Message-ID: <CABPp-BFT+_WXyYFN1t18TLaLzZfJYtGAS3SqK3TxPT6toH-obw@mail.gmail.com>
URL: https://gitlist.dev/e/CABPp-BFT%2B_WXyYFN1t18TLaLzZfJYtGAS3SqK3TxPT6toH-obw%40mail.gmail.com
In-Reply-To: <20171101183829.mwoi7urka3hze3pm@sigill.intra.peff.net>

```
Hi Peff,

On Wed, Nov 1, 2017 at 11:38 AM, Jeff King <peff@peff.net> wrote:

> This was mostly done for the libgit2 project, which uses GPL with a
> linking exception:
>
>   https://github.com/libgit2/libgit2/blob/master/COPYING
>
> When that project started, they asked for dual-license permission from
> various git.git contributors, which is documented in that repo:
>
>   https://github.com/libgit2/libgit2/blob/master/git.git-authors

Ah, thanks, not sure why I had mis-remembered that as being a jgit
thing.  Thanks for jogging my memory.  I think that (and your comment
to just grant other projects a different license) answers the main
question; I'll take it back and see what they say.

Thanks,
Elijah

```
