java-dataloader icon indicating copy to clipboard operation
java-dataloader copied to clipboard

License question

Open renatoathaydes opened this issue 2 years ago • 4 comments

I noticed that many of the source files in this repository are dual-licensed (on the other hand, many files do not have any copyrights declaration):

/*
 * Copyright (c) 2016 The original author or authors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *      The Eclipse Public License is available at
 *      http://www.eclipse.org/legal/epl-v10.html
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */

However, the published pom.xml as well as the README.md and the LICENSE file suggests that this project intends to use the Apache-2.0 license (alone).

Would it be possible to remove the EPL-1.0 license from the copyrights notice?

If not, shouldn't that license be also declared in the published pom.xml and mentioned in the README?

That ensures consumers that there's no possibility "some" files are EPL licensed while the project itself is Apache-2.0 licensed (sorry, our legal team is strict about these things :)).

renatoathaydes avatar Dec 13 '23 09:12 renatoathaydes

Would it be possible to remove the EPL-1.0 license from the copyrights notice?

I am not sure -this project started as a port from another project that was EPL based. The files with copyright notices in them are likely to be those original files.

I am unsure of the legal implications of removing them (if any) since I dont have copyright on the original files say.

If not, shouldn't that license be also declared in the published pom.xml and mentioned in the README?

Yes probably - we have no lawyer and hence are not sticklers for exact law protocol.

I am open to suggestions from your lawyer on how to proceed legally.

bbakerman avatar Dec 13 '23 23:12 bbakerman

Hi @bbakerman. It's not a big issue, but it would be good to know who are the authors of the original source code and which files have been taken from it (is it all sources that contain the EPL license?). I think that the correct course of action is to contact the authors and ask them if they're ok with relicensing their original work under Apache-2.0 and have a NOTICE file (as explained in the Apache-2.0 license text, section 4.4) attributing the original authors. If they do not accept relicensing of their original works (or won't because there's many other contributors), I believe EPL allows you to re-distribute it anyway but you need to keep your project under EPL-1.0 license as well (I will double check on that).

renatoathaydes avatar Dec 14 '23 09:12 renatoathaydes

I've just seen that you started this project as a port from the JS project... are the EPL-licensed files simply ports of JS files that you decided to keep the license on?

It seems that when you translate source code between such different languages, there's no requirement to keep the original license. The authors of those files are from Meta, right? Given how popular this project is , I think it's definitely worthwhile contacting them and make sure it's ok to remove the EPL license and just have this project purely as an Apache-2.0 project.

renatoathaydes avatar Dec 14 '23 10:12 renatoathaydes

The original port was done here

https://github.com/engagingspaces/vertx-dataloader/

You can see the original files with EPL information in them here

https://github.com/engagingspaces/vertx-dataloader/blob/master/src/main/java/io/engagingspaces/vertx/dataloader/BatchLoader.java

they are unchanged from that time (in a comment sense - they have changed since often enough). It seems the original port was as confused as ours. It lists Apache 2.0 licence in its readme but has the inner file licences.

ps. it was ported from that port because it relied on Vertex as a mechanism for asynchronicity and the java port moved back to a standard CompleteableFuture model so it was more widely applicable.

bbakerman avatar Dec 14 '23 22:12 bbakerman