4 ms·
As much as I like duckstation and am glad that its source code remains publicly available, its move from GPL-3 to a highly restrictive no-derivative license las
by molticrystal 2y ago
As much as I like duckstation and am glad that its source code remains publicly available, its move from GPL-3 to a highly restrictive no-derivative license last month [0] means that supporting new platforms or features or fixing bugs that might pop up on new versions of OS can't be adapted to the latest versions of the code.
Changing the license will only hurt the legitimate interested parties of the future, as nefarious people who fork and rebrand and charge for such programs have a tendency to be unscrupulous and don't care what the license says. It does help with filing claims, but that can be wack a mole.
It would be nice if they would grant non-commercial non-monetary derivatives at least, so people who want to fix code after the author moves on can do so in an honorable manner.
Another solution might be perhaps a termination clause saying that after some multiple of 5 years that it will revert to GPL-3 again. So at least if the worst happens the software can live on.
[0] https://github.com/stenzek/duckstation/commit/7f4e5d55dbdef5a50e0aa4994f667fb03d854928#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7 https://github.com/stenzek/duckstation/commit/7f4e5d55dbdef5...
- haunter 2y agoLast version that you can download/fork before the license change commit https://github.com/stenzek/duckstation/tree/25bc8a64803df7e702db66e0f11d7b7d0fdc99f2 https://github.com/stenzek/duckstation/tree/25bc8a64803df7e7...
- whoopdedo 2y agoUse https://github.com/stenzek/duckstation/commit/6d3b177714eb0c58c6b8538f0175edb95be80536 https://github.com/stenzek/duckstation/commit/6d3b177714eb0c... The commits after that were to remove GPL code before the license change.
- seabass-labrax 2y agoI am not familiar with this project, but I am an expert in free and open source licensing, and in this context there are some irregularities. molticrystal points out the commit in which the licence is 'changed'. Some files which were previously labelled as being dedicated to the public domain ('Unlicense') are now indicated as being under the Creative Commons Attribution-NonCommercial-NoDerivatives International License, version 4. This an is untrue statement at the specific commit, because work in the public domain cannot be copyrighted (this is a simplification, but substantively true). However, it will become a true statement and thus legally significant as and when new, original code is added in future commits, as this would be copyrightable. More importantly, there are other files which previously contained this declaration: // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) This, expressed in the ISO standard SPDX syntax, means that the copyright holder(s) allow copying under the terms of either the GNU General Public License version 3 or the aforementioned Creative Commons licence. Contributors to the project generally continue to hold copyright to their commits under the 'inbound-outbound' doctrine, and this is reinforced by the GitHub terms of service. That means that the main author has to respect the licence terms too. Here's the problem: by changing the licence of the whole program to only the Creative Commons BY-NC-ND, they have to have violated one of the two original options. If they use their rights from the GPL, they must retain the GPL option for others (copyleft principle); if they use their rights from the CC-BY-NC-ND-4.0 licence, they cannot make derivative works so won't be allowed to continue developing the project! All in all, this is just yet another case of 're-licensing' a formerly free and open source project that has no grounds in law. More positively, it is also therefore another case of the inbound-outbound effect of collaborative development strengthening FOSS.
- tourmalinetaco 2y agoIt doesn’t even properly address the original problem. Originally, this was stated to be in response to people “stealing” the source code, making low quality Android ports (without releasing source code), and users coming to the official channels to complain about problems unique to the Android versions. A license change does not in any way stop that, instead it only alienates those who wish to support development and yet now are seemingly disallowed from even contributing due to the weird licensing.
- boredhedgehog 2y agoWhat confused me was that the project is still using the Qt framework. Is that compatible with the new license?
- lights0123 2y agoYes, Qt is LGPL except for a few plugins that are GPL.
- shakna 2y agoThe LGPL requires that you're able to debug, modify, and replace the library in question, in this case, Qt. > You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications. However, DuckStation supplies prebuilt bundles that don't allow for that, in the case of Windows.
- nerdponx 2y agoShould open source contributors start including license terms with every commit? Or at least an SPDX identifier.
- shakna 2y agoAs long as the license pre-exists the change, then the changes will be included beneath that license. As law depends on intent, rather than anything strictly automatic. A "best effort" is fine. The bigger problem is that re-licensing is... Hellfire. You require specific permission from all involved, every single person who agreed to previous terms. If a single person does not grant permission, you either cannot transition, or must strip out everything of their work - and anything their work may have further led to. They can't be the inspiration for anything. You also cannot relicense something once you've placed it in the public domain (99.99999% of the time). So... Begin your history with one license, you're fine. Try and change it... Hire a lawyer first.
- indrora 2y agoThere's a strange issue in the emulator world... I won't call it credit-stealing but it's similar. The short form is that there are some developers who *actively forbid* distribution of binaries you create simply on the grounds of "Your shitty build will send hate my way and I don't want that." And it's true. I know several people who maintain emulators and hot damn do some people on the internet go "I used your emulator and my computer crashed/wife left me/dog died, you suck!" only to find out that this person is running xXxHotTaterBucketXxX's build from 3 years ago that has more bugs than a cricket farm. This happens on a surprisingly regular basis too. I maintained a very small tool at one point that handled patching PSP games. someone about once a week would email me and every time they had an issue it was boiled down to "you downloaded a version of this tool off a forum from somewhere with unofficial patches." Getting people to download a new version was hard. The vast majority of people who use emulators don't know the first thing about how they work nor do they care. they want their games and they want them now. and anything that stands in between them and their goal is literally hitler.