git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Junio C Hamano <gitster@pobox.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Nicolas Pitre <nico@cam.org>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Daniel Barkalow <b
Cc: Philippe Ombredanne <philippe@easyeclipse.org>, git@vger.kernel.org
Subject: Java Git (aka jgit) library switching license to BSD/EPL
Date: Thu, 8 May 2008 22:11:58 -0400	[thread overview]
Message-ID: <20080509021158.GA29038@spearce.org> (raw)

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.

             reply	other threads:[~2008-05-09  2:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-09  2:11 Shawn O. Pearce [this message]
2008-05-09  2:29 ` Java Git (aka jgit) library switching license to BSD/EPL 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
2008-05-09 23:38   ` Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080509021158.GA29038@spearce.org \
    --to=spearce@spearce.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=nico@cam.org \
    --cc=philippe@easyeclipse.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).