Relicense the Eclipse plugin under the EPL
commit2baa6eb54706926f74d8ca5a10c7f0448acb5fe6
authorRobin Rosenberg <robin.rosenberg@dewire.com>
Sat, 7 Jun 2008 23:43:14 +0000 (8 01:43 +0200)
committerRobin Rosenberg <robin.rosenberg@dewire.com>
Sun, 8 Jun 2008 22:43:56 +0000 (9 00:43 +0200)
treea6441cf2614c9edfae1aa43d1a827e614c25fddd
parent53a2cc3f6144ddcc10954d3abf68a5b90ed95248
Relicense the Eclipse plugin under the EPL

Acknowledgement of license change was made by the authors on
2007-10-10 by email with the subject "egit/jgit license switch to EPL"

>From: David Watson <dwatson@mimvista.com>
>I don't have a problem with this.

>From: Jing Xue <jingxue@digizenstudio.com>
>Fine by me. You can put my one line patch into public domain if
>that'll help getting more people to use [e]git.  8-)

>From: Ben Konrath <bkonrath@redhat.com>
>The license change is fine by me.

Also confirmed by Roger Soares on 2008-06-08 in a private mail
>From: "Roger C. Soares" <rogersoares@intelinet.com.br>
>Yep, it is ok with me.

Other contributors were not asked because they were either trivial
contributions, the code was already EPL, or their contributions are
not part of the code base anymore.

Confirmed-by: Dave Watson <dwatson@mimvista.com>
Confirmed-by: Shawn O. Pearce <spearce@spearce.org>
Confirmed-by: Roger C. Soares <rogersoares@intelinet.com.br>
Signed-off-by: Robin Rosenberg <robin.rosenburg@dewire.com>
This is the script used to change update license in all .java
files.

    open(F, '-|','git','ls-files');
    while (<F>) {
     chop;
     next unless m,^org.spearce.egit(\.\w+)*/,;
     next unless m,\.java$,;

     my $old_file = $_;
     my $new_file = "$old_file.license.$$";
     my $header = '';
     my $package = '';

     open(I,'<',$old_file);
     while (<I>) {
     if (/^package /) {
     $package = $_;
     last;
     }

     $header .= $_;
     }
     die "$old_file has no package line.\n" unless $package;

     if ($header =~ / - Redistributions of source code must retain/) {
     close I;
     next;
     }

     my $lineno = $.;
     my $author_name;
     my $author_email;
     my %all_years;
     my %author_years;

     print "$old_file\n";
     open(B,'-|','git','blame',
     "-L$lineno,",
     '-C','-C',
     '--whitespace',
     '-p',
     $old_file);
     while (<B>) {
     chop;
     if (/^author (.*)$/) {
     $author_name = $1;
     next;
     }
     if (/^author-mail (<.*>)$/) {
     $author_email = $1;
     next;
     }
     if (/^author-time (\d+)$/) {
     my $year = (localtime($1))[5] + 1900;
     $all_years{$year} = 1;
     $author_years{"$author_name $author_email"}{$year} = 1;
     }
     }
     close B;

     open(O,'>',$new_file);
     print O "/*******************************************************************************\n";

     my %used_author;
     foreach my $year (sort {$a cmp $b} keys %all_years) {
     foreach my $who (sort keys %author_years) {
     next if $used_author{$who}++;
     my $y = (sort {$b cmp $a} keys %{$author_years{$who}})[0];
     print O " * Copyright (C) $y, $who\n";
     }
     }

     print O <<'EOF';
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * See LICENSE for the full license text, also available.
 *******************************************************************************/
EOF
print O $package;
print O while <I>;
close I;
close O;
rename($new_file, $old_file);
}
close F;
99 files changed:
org.spearce.egit-feature/feature.xml
org.spearce.egit.core.test/src/org/spearce/egit/core/internal/mapping/T0002_history.java
org.spearce.egit.core.test/src/org/spearce/egit/core/op/T0001_ConnectProviderOperationTest.java
org.spearce.egit.core.test/src/org/spearce/egit/core/test/Activator.java
org.spearce.egit.core.test/src/org/spearce/egit/core/test/GitTestCase.java
org.spearce.egit.core.test/src/org/spearce/egit/core/test/TestProject.java
org.spearce.egit.core/COPYING [deleted file]
org.spearce.egit.core/src/org/spearce/egit/core/Activator.java
org.spearce.egit.core/src/org/spearce/egit/core/CoreText.java
org.spearce.egit.core/src/org/spearce/egit/core/EclipseGitProgressTransformer.java
org.spearce.egit.core/src/org/spearce/egit/core/GitCorePreferenceInitializer.java
org.spearce.egit.core/src/org/spearce/egit/core/GitCorePreferences.java
org.spearce.egit.core/src/org/spearce/egit/core/GitMoveDeleteHook.java
org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java
org.spearce.egit.core/src/org/spearce/egit/core/GitTag.java
org.spearce.egit.core/src/org/spearce/egit/core/ResourceList.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/UpdateJob.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/BlobStorage.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/CommitFileRevision.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistoryProvider.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileRevision.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/IndexFileRevision.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/KidCommit.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/KidCommitList.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/KidWalk.java
org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/WorkspaceFileRevision.java
org.spearce.egit.core/src/org/spearce/egit/core/op/AssumeUnchangedOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/BranchOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/CloneOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/ConnectProviderOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/ResetOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/TrackOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/UntrackOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/UpdateOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java
org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryChangeListener.java
org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryFinder.java
org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryMapping.java
org.spearce.egit.ui/COPYING [deleted file]
org.spearce.egit.ui/src/org/spearce/egit/ui/Activator.java
org.spearce.egit.ui/src/org/spearce/egit/ui/EclipseAuthenticator.java
org.spearce.egit.ui/src/org/spearce/egit/ui/EclipseProxySelector.java
org.spearce.egit.ui/src/org/spearce/egit/ui/EclipseSshSessionFactory.java
org.spearce.egit.ui/src/org/spearce/egit/ui/GitHistoryPageSource.java
org.spearce.egit.ui/src/org/spearce/egit/ui/PluginPreferenceInitializer.java
org.spearce.egit.ui/src/org/spearce/egit/ui/UIIcons.java
org.spearce.egit.ui/src/org/spearce/egit/ui/UIPreferences.java
org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitCompareFileRevisionEditorInput.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitResourceNode.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/AbstractOperationAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/AssumeUnchanged.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/BranchAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CommitAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CompareWithRevisionAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/Disconnect.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ResetAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ShowResourceInHistoryAction.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/Track.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/Untrack.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/Update.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/BranchChangeListener.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/CloneDestinationPage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/CloneSourcePage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/GitCloneWizard.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/SourceBranchPage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/URIishChangeListener.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitQuickDiffProvider.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitResourceDecorator.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/BranchSelectionDialog.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/CommitDialog.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/factories/GitAdapterFactory.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/CommitFileDiffViewer.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/CommitGraphTable.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/CommitMessageViewer.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/CommitNavigationListener.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FileDiff.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FileDiffContentProvider.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FileDiffLabelProvider.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FindResults.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FindToolbar.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/FindToolbarThread.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GenerateHistoryJob.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GitHistoryPage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GraphContentProvider.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GraphLabelProvider.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTCommit.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTCommitList.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTWalk.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/preferences/GitPreferenceRoot.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/preferences/HistoryPreferencePage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/preferences/StorageSizeFieldEditor.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/preferences/WindowCachePreferencePage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/ExistingOrNewPage.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/SharingWizard.java