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

[BUG] License change is not legal #6158

Open
MisterSheeple opened this issue Oct 9, 2024 · 14 comments
Open

[BUG] License change is not legal #6158

MisterSheeple opened this issue Oct 9, 2024 · 14 comments
Labels
bug Something isn't working

Comments

@MisterSheeple
Copy link

MisterSheeple commented Oct 9, 2024

Describe the bug

The project was recently switched from using GPL to LGPL. As LGPL is a more permissive license, such a license change requires permission from all of the contributors, which I assume you don't have. Additionally, OpenJDK is registered under GPLv2, which means you'd also need the permission of everyone who's ever committed to OpenJDK. [Edit: it turns out OpenJDK has a linking exception, so this is not an issue, but my other complaints still apply.] This means the license cannot legally be changed to LGPL from regular GPL.

The log file and images/videos

N/A

Steps To Reproduce

1. Read the LICENSE file
2. See that it's not GPL anymore
3. Wonder how that's possible
4. Come to the conclusion that it's not possible

Expected Behavior

The project should be using GPL.

Platform

All

Anything else?

No response

@MisterSheeple MisterSheeple added the bug Something isn't working label Oct 9, 2024
@CADIndie
Copy link

CADIndie commented Oct 9, 2024

I would like to point out the exception in the OpenJDK license, specifically the classpath exception, stating:

13 | As a special exception, the copyright holders of this library give you
14 | permission to link this library with independent modules to produce an
15 | executable, regardless of the license terms of these independent modules,
16 | and to copy and distribute the resulting executable under terms of your
17 | choice, provided that you also meet, for each linked independent module,
18 | the terms and conditions of the license of that module.  An independent
19 | module is a module which is not derived from or based on this library.  If
20 | you modify this library, you may extend this exception to your version of
21 | the library, but you are not obligated to do so.  If you do not wish to do
22 | so, delete this exception statement from your version.

@Felix14-v2
Copy link

Felix14-v2 commented Oct 9, 2024

Additionally, OpenJDK is registered under GPLv2, which means you'd also need the permission of everyone who's ever committed to OpenJDK

That's not how the things work. OpenJDK is a different project with a different repository: https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch
Any program can use modules with different licenses, and PojavLauncher do that. It seems that you didn't even read the README:
https://github.com/PojavLauncherTeam/PojavLauncher?tab=readme-ov-file#credits--third-party-components-and-their-licenses-if-available

Moreover, even some code parts in a single project can be protected by a different licence, if this is explicitly stated. For example, the LTW renderer is protected by Polygorm Shield (and has already been stolen by FoldCraft Launcher, violating its license).

@Dilen0001
Copy link

.

@root-S7
Copy link

root-S7 commented Oct 10, 2024

Additionally, OpenJDK is registered under GPLv2, which means you'd also need the permission of everyone who's ever committed to OpenJDK

That's not how the things work. OpenJDK is a different project with a different repository: https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch Any program can use modules with different licenses, and PojavLauncher do that. It seems that you didn't even read the README: https://github.com/PojavLauncherTeam/PojavLauncher?tab=readme-ov-file#credits--third-party-components-and-their-licenses-if-available

Moreover, even some code parts in a single project can be protected by a different licence, if this is explicitly stated. For example, the LTW renderer is protected by Polygorm Shield (and has already been stolen by FoldCraft Launcher, violating its license).

LTW没有开源

@MisterSheeple
Copy link
Author

MisterSheeple commented Oct 10, 2024

That's not how the things work. OpenJDK is a different project with a different repository: https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch
Any program can use modules with different licenses, and PojavLauncher do that.

With copyleft licenses like GPL, you're wrong, that is how it works. Under normal circumstances, GPL requires any project that uses a GPL-licensed project as a dependency to also be licensed under the GPL. This is a well known mechanism of the license and I encourage you to look it up since you're clearly misinformed.

As another person mentioned, OpenJDK in particular does not have this issue because they use the optional "linking exception" which allows projects using it as a non-derivative dependency to use their own license rather than requiring GPL.

In any case, this license change is still a violation of the GPL because when it comes to Pojav's own code, they almost certainly did not get permission from all of the contributors to change it to LGPL.

It seems that you didn't even read the README

Where do you think I got this information from? It says in the readme that OpenJDK is used by the project under the GPLv2 license. What's your point?

@Coloryr
Copy link
Contributor

Coloryr commented Oct 12, 2024

dlopen a GPLv3 lib, your project must GPLv3, because this is not process isolation

@MisterSheeple
Copy link
Author

dlopen a GPLv3 lib, your project must GPLv3, because this is not process isolation

Good catch. I'll add that to the top post

@MisterSheeple
Copy link
Author

MisterSheeple commented Oct 12, 2024

Actually, dlopen appears to be a function of Android itself, so I don't think its use applies here, unless you meant that dlopen is being used to link GPLv3-licensed libraries

@CADIndie
Copy link

As I've stated before, the clause in the OpenJDK license almost entirely removes the issue with the JDK and as far as I know there is no issues with the other libraries at the moment.

@CADIndie
Copy link

As for the issues in regards to contributions and contributors, majority of the project is made by people that have already agreed to the license change, and the ones that haven't have minor changes that aren't make or break and can be removed if they don't agree to the change, however I have spoken with @artdeell and he will be reaching out to the contributors to that haven't agreed to get their approval on the license change, any that don't agree will simply have their changes removed or reimplemented.

@Coloryr
Copy link
Contributor

Coloryr commented Oct 12, 2024

dlopen a GPLv3 lib, your project must GPLv3, because this is not process isolation

Good catch. I'll add that to the top post

I mean load the lib to your runtime, dlopen just one form of it. (btw dlopen is from linux)
we should check other thing, like code or some .so

@MisterSheeple
Copy link
Author

MisterSheeple commented Oct 12, 2024

As for the issues in regards to contributions and contributors, majority of the project is made by people that have already agreed to the license change, and the ones that haven't have minor changes that aren't make or break and can be removed if they don't agree to the change, however I have spoken with @artdeell and he will be reaching out to the contributors to that haven't agreed to get their approval on the license change, any that don't agree will simply have their changes removed or reimplemented.

Good to hear, although this should've been done prior to the change, not retrospectively. Regardless, thanks for the update.

@CADIndie
Copy link

CADIndie commented Oct 12, 2024

Of course and I do agree, the same changes were made for QuestCraft 5.1.0 when we switched to LGPLv3 (as we are developers for LTW as well) so I've been working with the Pojav team to resolve these issues, if you have any more questions please refer them to me.

@CADIndie
Copy link

CADIndie commented Oct 15, 2024

@MisterSheeple Hello, just a quick update on the situation:

Me and ArtDev have been going through the contributions, and we gotten permission from a few members including @WesleyVanNeck and @TarikBR, for majority of the rest they have already had their changes removed prior to the license change or they are readme changes which can be changed upon request (if not also already removed/changed). As for the rest, we only have 4-5 requests still awaiting a response, in which if they are denied or not responded too by this weekend, we will remove the changes ourselves (i.e. #6169).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants