There's been a bit of a furore in the emulation community lately centred around the PlayStation 1 emulator DuckStation, which has now seen two license changes recently. As far as I'm aware, DuckStation is the most popular emulator for Sony's classic PS1 console, due to it being fast and accurate.
Up until recently it was open source under the GPL, then on September 1st it changed over to the PolyForm Strict License, and then again on September 13th it was changed over to the CC-BY-NC-ND license. This places a number of restrictions on the project like no commercial use and no derivatives allowed. That means, according to the creator, that no one else is allowed to package it up either as their change mentioned "Packaging is still **not** permitted, since it is effectively a modified/derived work".
Replying to a user unhappy about it on the GitHub, the creator said this:
I am well aware of how licenses work. That's why I changed, to make it very clear and a deterrent due to certain parties violating the old license, by not attributing and stripping my copyright. Packagers being collateral damage was a beneficial side-effect, considering they don't clearly mark their versions as modified (also a GPL requirement), break functionality, and expect upstream to provide support.
I have the approval of prior contributors, and if I did somehow miss you, then please advise me so I can rewrite that code. I didn't spend several weekends rewriting various parts for no reason. I do not have, nor want a CLA, because I do not agree with taking away contributor's copyright.
Also, I don't appreciate the threats. If you are not a copyright holder, then you are not in a position to make any demands. I find it especially ironic, considering when the GPL was actually violated on multiple occasions, even as recently as a few months ago, nobody ever takes issue with that.
I've restricted the repository to prior contributors, and if they have any concerns, they are more than welcome to do so here. If this turns into harassment, then I'll just shut the whole thing down, because I'm way too busy with my actual job to be dealing with unsubstantiated drama from a hobby that is supposed to be fun. Please consider how the community would benefit from that.
With that in mind, this means DuckStation as of the latest changes is no longer open source. You could say it's "source available", or whatever your chosen way is to describe code you can view but has restrictions on it.
Emulators like this are no exception. I completely understand and sympathize with this change. However, I have to ask: is this really going to help? The people stealing Duckstation and other projects like it for self-gain without contributing to anything other than their own wallets are obviously not the type to shy away from copyright violations. They're no different, if not even more dubious than console bootleggers in many countries. The same applies to third-party Linux packages by other users which are falsely attributed to the original developer. All this will really do is prevent Duckstation from being used by a PS1 developer to resell their game on Steam.
Duckstation has also never had a very good issue tracker (at least one that was easy to find) or other resources, and it's competing with other open source projects like BeetlePSX which are roughly the same minus a few niche features.
I think the reason Github users are angry is not so much because it's no longer free software, but more because the developer is taking GPL-licensed commits he may not legally own and making them his own semi-proprietary work. This is a legal grey area.
Last edited by bonkmaykr on 17 September 2024 at 3:55 am UTC
Quoting: reaperx7Many of you are getting this wrong...
Swanstation was a port of the libretro-core that was maintained by RetroArch without Stenzek's permission after he and the head developer of RetroArch had a falling out over Stenzek teying to push code updates to the tree and the RetroArch dev reversing the changes because "he didn't like them".
Duckstation was meant to be distributed as-is either in flatpak, self extracting executables, or the unmodified source code for distributions of Linux/BSD to do their own localized and self-maintained ports with. The exe and flatpak versions would be supported officially by stenzek where as the source code ports would be distribution maintained.
He changed the license because he doesn't want people to clone Duckstation and then steal his work, and have people blaming him for a forked project's faults like Swanstation did.
I don't blame him. The GPL is a very flawed license when it comes to allowing a developer to have absolute control over him/her project. For some projects its fine, but for others it's a total headache.
This is why many developers in the past have used BSDL, MIT, and other more restricive licenses to maintain control and prevent unauthorized forking. This saves Stenzek the time and trouble of dealing with unofficial ports, packages, and projects. He's not saying you can't fork the project, but what he is say is, if you fork, all changes have to be submitted back forst in private, and approved before you publish your changes go public in your fork so the entire project is on the same page.
You dont need anyone's permission to fork GPL'd code. There was nothing unethical in the forking of Duckstation then, nor is there anything unethical in the continued development of the still GPL'd fork. And if the GPL is "flawed" it is an order of magnitude less so than the CC-BY-NC for software. And where do you get the BSD and MIT license do anything to stop forking? They're even more lax and permissive than the LGPL.
Last edited by Desum on 17 September 2024 at 4:09 am UTC
If he wants to restrict the binary or something, I'm fine with that. Likewise, if he wanted to make a more restricted version of the project, I'm fine with that so long as it's either a new one or a clean-fork of this one.
Add to that, I don't trust a developer this unstable. If it was 100% FOSS instead of being this weird Source Available model, I'd be able to ignore it as I can trust someone will pick up the torch if and when the original dev leaves the project.
So I'd rather just migrate now, and use something else I can trust to be more stable in the long term.
Quoting: reaperx7Many of you are getting this wrong...This is what it means to be FOSS. FOSS is about freedom and openness of the source code. People are free to take your source code and do whatever they want with it. Both good and bad.
Swanstation was a port of the libretro-core that was maintained by RetroArch without Stenzek's permission after he and the head developer of RetroArch had a falling out over Stenzek teying to push code updates to the tree and the RetroArch dev reversing the changes because "he didn't like them".
Duckstation was meant to be distributed as-is either in flatpak, self extracting executables, or the unmodified source code for distributions of Linux/BSD to do their own localized and self-maintained ports with. The exe and flatpak versions would be supported officially by stenzek where as the source code ports would be distribution maintained.
He changed the license because he doesn't want people to clone Duckstation and then steal his work, and have people blaming him for a forked project's faults like Swanstation did.
I don't blame him. The GPL is a very flawed license when it comes to allowing a developer to have absolute control over him/her project. For some projects its fine, but for others it's a total headache.
This is why many developers in the past have used BSDL, MIT, and other more restricive licenses to maintain control and prevent unauthorized forking. This saves Stenzek the time and trouble of dealing with unofficial ports, packages, and projects. He's not saying you can't fork the project, but what he is say is, if you fork, all changes have to be submitted back forst in private, and approved before you publish your changes go public in your fork so the entire project is on the same page.
If they don't like it, they're free to start a new project, under a new license.
Last edited by based on 17 September 2024 at 6:35 am UTC
Quoting: dirkdierickxCan't they simply fork the last GPL licensed version? There are plenty of instances where software changes from GPL to something else (happens quite often in enterprise oss projects), most of the time, they get forked faster than you can read the news statement of the new license in use. I'm sure if there is interest in keeping DuckStation really open, it will happen.
It already has a fork with more users: Swanstation
Quoting: DesumQuoting: dirkdierickxCan't they simply fork the last GPL licensed version? There are plenty of instances where software changes from GPL to something else (happens quite often in enterprise oss projects), most of the time, they get forked faster than you can read the news statement of the new license in use. I'm sure if there is interest in keeping DuckStation really open, it will happen.
It already has a fork with more users: Swanstation
I'm sure someone will go the Jellyfin route with the stand-alone version sometime soon, too. Hopefully, like Jellyfin, it'll be even better than the original.
Edit: In fact, the whole situation is exactly of the Aseprite debacle. People who don't use Linux don't seem to get the "distribution" or "repository" concept of supporting Linux distros. Despite initially calling their projects "open source", what they really mean is collaborative-but-dictatorial.
Last edited by redneckdrow on 17 September 2024 at 3:12 pm UTC
Quoting: fenglengshunope
Quoting: bonkmaykrI think the reason Github users are angry is not so much because it's no longer free software, but more because the developer is taking GPL-licensed commits he may not legally own and making them his own semi-proprietary work. This is a legal grey area.
This is not, this is a violation of GPL license if the contributor did not explicitly give him permission to relicense their work. Any contributor that did not can sue him as per the GPL license and force him to remove their contribution.
Btw, can CC-BY-ND even be compiled ?
See more from me