* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 2:11 Java Git (aka jgit) library switching license to BSD/EPL Shawn O. Pearce
@ 2008-05-09 2:29 ` Dave Watson
2008-05-09 3:05 ` Daniel Barkalow
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Dave Watson @ 2008-05-09 2:29 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Junio C Hamano, Linus Torvalds, Nicolas Pitre,
Johannes Schindelin, Daniel Barkalow, Robin Rosenberg,
Philippe Ombredanne, git
I have no objection to the relicense, if it will help things out.
--
Dave Watson
Director of Software Development
MIMvista Corp.
On May 8, 2008, at 10:11 PM, "Shawn O. Pearce" <spearce@spearce.org>
wrote:
> The Java Git library (also known as "jgit"[*1*]) is a 100% pure Java
> implementation of a data access library for the Git on-disk data
> structures, as well as a re-implementation of some commonly used
> application functions such as history graph traversal/visualization
> and network transport (fetch).
>
> Since its inception on March 6, 2006 jgit has been under the
> GPLv2 license. To make the library available to a wider audience
> (including but not limited to the Eclipse Git plugin, numerous
> Apache projects such as Ant/Maven, the Netbeans IDE, etc.) we are
> switching to a dual license between a 3-clause BSD (the EDL[*2*])
> and the EPL[*3*].
>
> As of the bleeding edge (40c5c6cb11b8cc6caf3ea6a681caf0a6b8d66f36
> [*4*]) the ownership of all currently surviving lines of code is
> broken down as follows:
>
> $ sh owner.sh
> 78% 27607 Shawn O. Pearce
> 17% 6061 Robin Rosenberg
> 4% 1518 Dave Watson
> 0% 4 Thad Hughes
> 0% 2 Roger C. Soares
> ------------------------------
> 100% 35192 total
>
> Robin and Dave:
>
> With 17% and 4% ownership, can you please reply to verify
> this license change will be permitted for your contributions?
> Please note this change is _only_ to jgit, and not to the egit
> (Eclipse plugin) code.
>
> Nico, Linus, Junio, Daniel, Dscho, et.al.:
>
> We would appreciate it if you could provide a statement saying
> you have no current copyright ownership interest in jgit, and that
> you do not currently own nor invented any patents related to the
> "Git technology" that this code might need to use to function as
> a Git implementation.
>
> Part of the application process for EGit to become a project
> under the umbrella of the Eclipse Foundation[*5*] requires us
> to be reasonably certain the source code we are contributing is
> free of claims that could be brought by a 3rd party. A statement
> from major contributors to C Git (those who created much of the
> C implementation) would show those individuals have no claims
> to bring against the current version of jgit, and that jgit is
> therefore likely to be free of any IP claims.
>
> There are three particular sections of jgit code that I would
> like to bring to your attention before you respond:
>
> * BinaryDelta[*6*] bears a striking simiarlity to patch-delta.c.
> * PackFetchConnection[*7*] does what builtin-fetch-pack.c does.
> * IndexPack[*8*] does what index-pack.c does.
>
> Here (and everywhere else in jgit) we have tried to avoid directly
> translating C->Java, but sometimes things just come out in a
> similar way once expressed in source form. Knowing both the jgit
> and C git code well I think these are the closest sections where
> someone might suspect jgit copied code from C git. The attached
> owner.sh script applied to those three files in C git came up
> with the following major contributors:
>
> 33% 616 Nicolas Pitre
> 16% 304 Junio C Hamano
> 13% 241 Johannes Schindelin
> 10% 197 Sergey Vlasov
> 5% 107 Linus Torvalds
> 5% 105 Shawn O. Pearce
> 5% 94 Martin Koegler
> 3% 71 Daniel Barkalow
> 2% 40 Johannes Sixt
> 1% 36 Geert Bosch
>
>
> *1* http://repo.or.cz/w/egit.git
> *2* http://www.eclipse.org/org/documents/edl-v10.php
> *3* http://www.eclipse.org/org/documents/epl-v10.php
> *4* http://repo.or.cz/w/egit/spearce.git
> *5* http://wiki.eclipse.org/EGit/Proposal
>
> *6* http://repo.or.cz/w/egit/spearce.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/lib/BinaryDelta.java;h=bba6b19a4000923abfe57b844bae17e7a03e0419;hb=40c5c6cb11b8cc6caf3ea6a681caf0a6b8d66f36
> *7* http://repo.or.cz/w/egit/spearce.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/transport/PackFetchConnection.java;h=c7fa66c0654eaf84c143e61ee4d11b74d73db28f;hb=40c5c6cb11b8cc6caf3ea6a681caf0a6b8d66f36
> *8* http://repo.or.cz/w/egit/spearce.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java;h=b6e5956f62fa8cb60770c991699ae7b457d8954f;hb=40c5c6cb11b8cc6caf3ea6a681caf0a6b8d66f36
>
> --8< owner.sh --
> #!/bin/sh
>
> for f in $(git ls-files \
> jgit \
> org.spearce.jgit \
> org.spearce.jgit.test \
> | egrep -v '.(launch|pack|idx)$' \
> | egrep -v ^org.spearce.jgit/lib/ \
> )
> do
> git blame -C -C --whitespace "$f"
> done | perl -e '
> $total = 0;
> while (<>) {
> die "$_\n" unless
> /^[0-9a-f]+ (?:[^)]+)?\((.*?) \d{4}-\d{2}-\d{2} /;
> $n = $1;
> $n =~ s/^\s+//;
> $n =~ s/\s+$//;
> $who{$n}++;
> $total++;
> }
> @own = map {[$_, $who{$_}, $who{$_} * 100 / $total]} keys %who;
> $fnd = 0;
> foreach (sort {$b->[2] <=> $a->[2]} @own) {
> $fnd += $_->[1];
> printf "%3i%% %7i %s\n", $_->[2], $_->[1], $_->[0];
> }
> $unk = $total - $fnd;
> print "-" x 30, "\n";
> if ($unk > 0) {
> printf "%3i%% %7i (unknown)\n", $unk * 100 / $total, $unk;
> }
> printf "%3i%% %7i total\n", 100, $total;
> '
>
> --
> Shawn.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 2:11 Java Git (aka jgit) library switching license to BSD/EPL Shawn O. Pearce
2008-05-09 2:29 ` Dave Watson
@ 2008-05-09 3:05 ` Daniel Barkalow
2008-05-09 7:20 ` Robin Rosenberg
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Daniel Barkalow @ 2008-05-09 3:05 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Junio C Hamano, Linus Torvalds, Nicolas Pitre,
Johannes Schindelin, Robin Rosenberg, Dave Watson,
Philippe Ombredanne, git
On Thu, 8 May 2008, Shawn O. Pearce wrote:
> Nico, Linus, Junio, Daniel, Dscho, et.al.:
>
> We would appreciate it if you could provide a statement saying
> you have no current copyright ownership interest in jgit, and that
> you do not currently own nor invented any patents related to the
> "Git technology" that this code might need to use to function as
> a Git implementation.
No current copyright ownership or related patents for me. (And if I had
copyright ownership, I'd be fine with the relicense anyway.)
-Daniel
*This .sig left intentionally blank*
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 2:11 Java Git (aka jgit) library switching license to BSD/EPL Shawn O. Pearce
2008-05-09 2:29 ` Dave Watson
2008-05-09 3:05 ` Daniel Barkalow
@ 2008-05-09 7:20 ` Robin Rosenberg
2008-05-09 9:57 ` Johannes Schindelin
2008-05-09 16:26 ` Nicolas Pitre
4 siblings, 0 replies; 7+ messages in thread
From: Robin Rosenberg @ 2008-05-09 7:20 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Junio C Hamano, Linus Torvalds, Nicolas Pitre,
Johannes Schindelin, Daniel Barkalow, Dave Watson,
Philippe Ombredanne, git
fredagen den 9 maj 2008 04.11.58 skrev Shawn O. Pearce:
> The Java Git library (also known as "jgit"[*1*]) is a 100% pure Java
> implementation of a data access library for the Git on-disk data
> structures, as well as a re-implementation of some commonly used
> application functions such as history graph traversal/visualization
> and network transport (fetch).
>
> Since its inception on March 6, 2006 jgit has been under the
> GPLv2 license. To make the library available to a wider audience
> (including but not limited to the Eclipse Git plugin, numerous
> Apache projects such as Ant/Maven, the Netbeans IDE, etc.) we are
> switching to a dual license between a 3-clause BSD (the EDL[*2*])
> and the EPL[*3*].
I confirm this is fine with me.
-- robin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 2:11 Java Git (aka jgit) library switching license to BSD/EPL Shawn O. Pearce
` (2 preceding siblings ...)
2008-05-09 7:20 ` Robin Rosenberg
@ 2008-05-09 9:57 ` Johannes Schindelin
2008-05-09 16:26 ` Nicolas Pitre
4 siblings, 0 replies; 7+ messages in thread
From: Johannes Schindelin @ 2008-05-09 9:57 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Junio C Hamano, Linus Torvalds, Nicolas Pitre, Daniel Barkalow,
Robin Rosenberg, Dave Watson, Philippe Ombredanne, git
Hi,
On Thu, 8 May 2008, Shawn O. Pearce wrote:
> Nico, Linus, Junio, Daniel, Dscho, et.al.:
>
> We would appreciate it if you could provide a statement saying
> you have no current copyright ownership interest in jgit, and that
> you do not currently own nor invented any patents related to the
> "Git technology" that this code might need to use to function as
> a Git implementation.
I confirm that if there is any copyright attributable to me, that I am
excited to relicense with whatever license, at the discretion of Shawn O.
Pearce.
Thanks,
Dscho
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 2:11 Java Git (aka jgit) library switching license to BSD/EPL Shawn O. Pearce
` (3 preceding siblings ...)
2008-05-09 9:57 ` Johannes Schindelin
@ 2008-05-09 16:26 ` Nicolas Pitre
2008-05-09 23:38 ` Shawn O. Pearce
4 siblings, 1 reply; 7+ messages in thread
From: Nicolas Pitre @ 2008-05-09 16:26 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Junio C Hamano, Linus Torvalds, Johannes Schindelin,
Daniel Barkalow, Robin Rosenberg, Dave Watson,
Philippe Ombredanne, git
On Thu, 8 May 2008, Shawn O. Pearce wrote:
> Nico, Linus, Junio, Daniel, Dscho, et.al.:
>
> We would appreciate it if you could provide a statement saying
> you have no current copyright ownership interest in jgit, and that
> you do not currently own nor invented any patents related to the
> "Git technology" that this code might need to use to function as
> a Git implementation.
I do not have any such copyright nor patent claims for the jgit code.
As long as the C version remains the authoritative reference
implementation for protocol and data format, and any algorithmic
improvements made to the jgit source can be merged back into the C
version using the GPL, then I have no issue with the license used by
jgit either.
Nicolas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Java Git (aka jgit) library switching license to BSD/EPL
2008-05-09 16:26 ` Nicolas Pitre
@ 2008-05-09 23:38 ` Shawn O. Pearce
0 siblings, 0 replies; 7+ messages in thread
From: Shawn O. Pearce @ 2008-05-09 23:38 UTC (permalink / raw)
To: Nicolas Pitre
Cc: Junio C Hamano, Linus Torvalds, Johannes Schindelin,
Daniel Barkalow, Robin Rosenberg, Dave Watson,
Philippe Ombredanne, git
Nicolas Pitre <nico@cam.org> wrote:
> On Thu, 8 May 2008, Shawn O. Pearce wrote:
>
> > Nico, Linus, Junio, Daniel, Dscho, et.al.:
> >
> > We would appreciate it if you could provide a statement saying
> > you have no current copyright ownership interest in jgit, and that
> > you do not currently own nor invented any patents related to the
> > "Git technology" that this code might need to use to function as
> > a Git implementation.
>
> I do not have any such copyright nor patent claims for the jgit code.
>
> As long as the C version remains the authoritative reference
> implementation for protocol and data format,
I don't think anyone is going to argue with that. Its very unlikey
that jgit would unseat C git as the Git implementation used by
everyone. But I do hope that jgit grows more in popularity as more
people come to Git, especially Java users/developers.
> and any algorithmic
> improvements made to the jgit source can be merged back into the C
> version using the GPL, then I have no issue with the license used by
> jgit either.
This shouldn't be a problem. We're moving to a 3-clause BSD. As I
understand it, anyone can take code under a 3-clause BSD license,
make a few changes, and release the modified version under the GPL,
and the original BSD project can't take those changes back in due
to the changes being licensed under the GPL. From what I have
read this has happened several times in the Linux kernel with code
obtained from *BSD.
So long as someone is willing to port the improved algorithm across
langauges from Java->C, even if it is a direct translation, it can
still be included in C Git.
Thanks for the reply Nico (and everyone else), it is most appreciated.
--
Shawn.
^ permalink raw reply [flat|nested] 7+ messages in thread