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/li...
*7* http://repo.or.cz/w/egit/spearce.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/tr...
*8* http://repo.or.cz/w/egit/spearce.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/tr...
--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.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Chuck Ebbert | Why do so many machines need "noapic"? |
| Tvrtko A. Ursulin | Western Digital GreenPower drives and Linux |
git: | |
| Shawn O. Pearce | [BULLS**T PATCH] Allow Git to work at Insane Bank Corp |
| Michael Hendricks | removing content from git history |
| Eivind LM | Split a subversion repo into several git repos |
| Nicolas Pitre | Re: [PATCH] gc: call "prune --expire 2.weeks.ago" |
| Joachim Schipper | Re: OpenBSD/alpha Status |
| Cabillot Julien | Re: OpenBSD isakmpd and pf vs Cisco PIX or ASA |
| Marco Peereboom | Re: DELL PERC 5iR slow performance |
| Travers Buda | Re: Important OpenBSD errata |
| Rik Faith | ATI VGA WONDER driver for x386 |
| Mark Tarrabain | Some thoughts on device drivers |
| Karl J. Vesterling | Re: BYTE asks, is UNIX dead? |
| Linus Torvalds | Re: Copyright |
| SMDK2410 LCD Framebuffer driver | 2 hours ago | Linux kernel |
| Resetting the bios password for Toshiba Laptop | 3 hours ago | Hardware |
| Problem booting a barebone kernel in VMWare | 6 hours ago | Linux kernel |
| IP layer send packet | 10 hours ago | Linux kernel |
| PID to ELF image full path | 12 hours ago | Linux kernel |
| types of kernel | 1 day ago | Linux kernel |
| magical mounts | 2 days ago | Linux kernel |
| Problem in scim in Fedora 9 | 2 days ago | Linux general |
| The new Western Digital power saving drives | 2 days ago | Hardware |
| Battery Maximizer Software | 3 days ago | Linux kernel |
