Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move license to EPL 2 #683

Closed
wimjongman opened this issue Nov 1, 2021 · 29 comments · Fixed by #783 or #794
Closed

Move license to EPL 2 #683

wimjongman opened this issue Nov 1, 2021 · 29 comments · Fixed by #783 or #794
Assignees
Milestone

Comments

@wimjongman
Copy link
Contributor

The current license is EPL1 and we must move to EPL2.

We need to replace the following files:

license.html
epl-v10.html

and fix all texts in feature.xml and feature.properties.

See examples of the new files here:

https://github.com/eclipse/nebula/tree/master/widgets/oscilloscope/org.eclipse.nebula.widgets.oscilloscope.feature

@wimjongman wimjongman added this to the 4.9 milestone Nov 2, 2021
@wimjongman wimjongman added Help wanted Easy! You can do this! labels Nov 8, 2021
@SteveSchafer-Innovent
Copy link
Contributor

I'll do this. It's about my speed.

@SteveSchafer-Innovent
Copy link
Contributor

SteveSchafer-Innovent commented Dec 10, 2021

What about all the copyright comments in the java files?

Also epl-1 is mentioned in a lot of about.html files.

@ruspl-afed
Copy link
Contributor

ruspl-afed commented Dec 11, 2021

  1. *.java files header should be modified to comply with EPL2.0, see https://github.com/eclipse-passage/passage/blob/master/bundles/org.eclipse.passage.lic.equinox/src/org/eclipse/passage/lic/equinox/ApplicationIdentifier.java
  2. about.html should be replaced with its EPL2.0 version, see https://github.com/eclipse-passage/passage/blob/master/bundles/org.eclipse.passage.lic.equinox/about.html
  3. other textual files should obtain a license header if not yet
    *.properties see https://github.com/eclipse-passage/passage/blob/master/bundles/org.eclipse.passage.lic.equinox/OSGI-INF/l10n/bundle.properties
    *.xml https://github.com/eclipse-passage/passage/blob/master/bundles/org.eclipse.passage.lic.equinox/pom.xml

@SteveSchafer-Innovent please select one small bundle to apply EPL2.0 and let us discuss the required changes in details.

Restoring all the chain of contributors could be problematic for every file, but, since we have git history, it is allowed to use formulation like Copyright (c) <year of creation>, 2021 Contributors to Eclipse Foundation

@wimjongman
Copy link
Contributor Author

Alexander, is point 3 really needed or should we file a new issue and solve that post 4.9?

@ruspl-afed
Copy link
Contributor

Wim, it should not be a big deal while it removes a lot of questions. Typically this is +several files per bundle, nothing notable comparing with amount of .java files.

@wimjongman
Copy link
Contributor Author

Ok. Let's see.

The java files can be changed using a smart regex find/replace. Same for the about.html.

@SteveSchafer-Innovent
Copy link
Contributor

My plan is to change all the files with scripting of one form or another.

@wimjongman
Copy link
Contributor Author

wimjongman commented Dec 14, 2021 via email

@SteveSchafer-Innovent
Copy link
Contributor

How do I access the cross project mailing list?

@ruspl-afed
Copy link
Contributor

ruspl-afed commented Dec 15, 2021

@vogella
Copy link

vogella commented Dec 15, 2021

I used regex expression for the main work and manual fixes then needed, see here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=535802

@wimjongman
Copy link
Contributor Author

How do I access the cross project mailing list?

There is this thing called google ;)

@SteveSchafer-Innovent
Copy link
Contributor

I've created awk scripts for license.html, about.html, feature.properties, epl-2.0.html files, and java files. Should I delete the epl-v10.html files? Still searching for more instances of the license but I should be ready to submit a PR soon.

@ruspl-afed
Copy link
Contributor

Please, please, would you be so kind to not submit all the changes in one PR.

@SteveSchafer-Innovent
Copy link
Contributor

I know, the changes are huge. EVERY java file is changed. Would you suggest one PR for each of the file types?

@ruspl-afed
Copy link
Contributor

I would prefer to have 1 PR per bundle

@SteveSchafer-Innovent
Copy link
Contributor

If bundles are instances of plugin.xml then there are 234 of them. Is that what you mean?

@ruspl-afed
Copy link
Contributor

ruspl-afed commented Dec 15, 2021

Can we start from 1 (one) PR for the first bundle in the list?
This way we can agree on what should be done for every bundle having relatively small sample.

For example we can start from what is inside this location https://github.com/eclipse/birt/tree/master/UI/org.eclipse.birt.report.debug.core

@SteveSchafer-Innovent
Copy link
Contributor

SteveSchafer-Innovent commented Dec 15, 2021

That location doesn't contain epl-v10.html, feature.properties, or license.html, but it's a good test for about.html and java files.

For the copyright notice in java files, I made the script smart enough to pull the creation year from the existing notice but otherwise I ignored everything else and replaced it with this:

/*******************************************************************************
 * Copyright (c) creation-year, 2021 Contributors to Eclipse Foundation
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * https://www.eclipse.org/legal/epl-2.0/.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     See git history
 *******************************************************************************/

I could make the script pull the original contributor name if you think that's necessary. Otherwise is this acceptable?

Also, if the java file did not contain a notice, I added one with 2021 as the creation year.

@ruspl-afed
Copy link
Contributor

That location doesn't contain epl-v10.html, feature.properties, or license.html

because this is not the feature location but bundle location. let's discuss features separately.

Regarding suggested header, @waynebeaton we need your advice

@waynebeaton
Copy link
Contributor

That header is fine as a go-forward solution, but do not remove existing copyright statements.

For completeness, you can do things like add additional copyright holders or "and others" to an existing copyright statement. Or, you can add an entirely new copyright line to an existing header.

FWIW, I was pretty quickly able to identify a header that contains copyright information that is not reflected in the commit log (i.e., the copyright owner was not actually the author or committer of a commit).

@SteveSchafer-Innovent
Copy link
Contributor

SteveSchafer-Innovent commented Dec 15, 2021

If I do not remove existing copyright statements, then I leave the reference to EPL-1, correct? Or add a new copyright to existing header that mentions EPL-2?

@waynebeaton
Copy link
Contributor

No. You can/should change the license statement. Just leave the copyright statements intact.

SteveSchafer-Innovent added a commit to SteveSchafer-Innovent/birt that referenced this issue Dec 17, 2021
Change all occurrences of Eclipse Public License version 1 to version 2
in UI/org.eclipse.birt.report.debug.core.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
@SteveSchafer-Innovent
Copy link
Contributor

PR for https://github.com/eclipse/birt/tree/master/UI/org.eclipse.birt.report.debug.core submitted. This project is fairly limited. I've found license references in more files in other projects, including *.html, *.exsd, *.msg, various .properties and .xml files, *.jj files, whatever those are. Some of the html files will be a bit more challenging to parse. I'll be committing the scripts to https://github.com/SteveSchafer-Innovent/Birt-Eclipse-License-Upgrade-Scripts.

SteveSchafer-Innovent added a commit to SteveSchafer-Innovent/birt that referenced this issue Dec 21, 2021
Suggested corrections.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
@SteveSchafer-Innovent
Copy link
Contributor

There are a number of license.properties files as well as *.msg files that contain a big text block that includes a reference to EPL 1. Is it sufficient to change the reference to EPL 2 or do other parts of that text need to be changed? Specifically there is a date near the top:

license=\
ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
January 28, 2004\n\

wimjongman pushed a commit that referenced this issue Dec 30, 2021
Change all occurrences of Eclipse Public License version 1 to version 2
in UI/org.eclipse.birt.report.debug.core.
@wimjongman
Copy link
Contributor Author

Yes, that needs to be changed to correctly reflect the EPL2 header.

SteveSchafer-Innovent added a commit to SteveSchafer-Innovent/birt that referenced this issue Jan 8, 2022
Changes to report/org.eclipse.birt.report.engine.  This has a
greater variety of file types than the previous PR.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
wimjongman pushed a commit that referenced this issue Jan 23, 2022
Move license to EPL 2 #683

* Change all occurrences of Eclipse Public License version 1 to version 2 in UI/org.eclipse.birt.report.debug.core.
@wimjongman wimjongman linked a pull request Jan 23, 2022 that will close this issue
SteveSchafer-Innovent added a commit to SteveSchafer-Innovent/birt that referenced this issue Jan 26, 2022
Change all occurrences of Eclipse Public License version 1 to version 2
in features/org.eclipse.birt.sdk/feature.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
@wimjongman wimjongman linked a pull request Jan 27, 2022 that will close this issue
wimjongman pushed a commit that referenced this issue Jan 27, 2022
Change all occurrences of Eclipse Public License version 1 to version 2
in features/org.eclipse.birt.sdk/feature.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
@wimjongman wimjongman reopened this Jan 27, 2022
@SteveSchafer-Innovent
Copy link
Contributor

I've submitted PR's for several projects, including a feature project. Are we ready to do the whole thing now?

@wimjongman
Copy link
Contributor Author

Yes, go ahead.

SteveSchafer-Innovent added a commit to SteveSchafer-Innovent/birt that referenced this issue Feb 2, 2022
Change all occurrences of Eclipse Public License version 1 to version 2
in the entire repository.  12391 files changed!  Time to get some other
eyeballs on this.

Signed-off-by: Steve Schafer <sschafer@innoventsolutions.com>
wimjongman pushed a commit that referenced this issue Feb 7, 2022
Change all occurrences of Eclipse Public License version 1 to version 2
in the entire repository.
@wimjongman wimjongman removed the Easy! You can do this! label Feb 7, 2022
@wimjongman
Copy link
Contributor Author

Thanks, Steve! A hell of a job. Well done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants