Skip Navigation

Playstation 1 emulator "Duckstation" developer changes project license from GPL to PolyForm

github.com duckstation/LICENSE at master · stenzek/duckstation

Fast PlayStation 1 emulator for x86-64/AArch32/AArch64/RV64 - stenzek/duckstation

21
21 comments
  • This is probably illegal. I am not a lawyer, but when you have 114 contributors who provided their code under the terms of the GPL, you can’t just change your mind later. The GPL doesn’t work like that. You have to actually own the code as its copyright holder if you want to license it under a new license. Generally speaking, those other contributors retain copyright to their work, so unless you release your project under the GPL in perpetuity you would need to get the consent of all those contributors first. It’s not your code to license. You must obey the GPL that you agreed to when you included their work.

    […] the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. […]

    When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

    Any of your contributors can now turn around and assert that you are now distributing their GPL code in violation of the license. The GPL is quite clear that you need to respect the rights of the users to freely modify and redistribute derivative works. Because the GPL is viral, all you need to do is find the tiniest contribution that was made when the project was GPL to assert that all of the code must comply with the terms of the GPL and you can produce your derivative works as permitted by such a license. The legal risk of GPL contamination is very real and makes a more restrictive license practically unenforceable without a cleanroom rewriting of the project from scratch.

    Also, Creative Commons licenses should never be applied to software as done here. These legal tools are designed for media, and the website itself indicates that the licenses are inappropriate because they don’t address software specific concerns like patents and development by multiple contributors.

    Unlike software-specific licenses, CC licenses do not contain specific terms about the distribution of source code, which is often important to ensuring the free reuse and modifiability of software. Many software licenses also address patent rights, which are important to software but may not be applicable to other copyrightable works. Additionally, our licenses are currently not compatible with the major software licenses, so it would be difficult to integrate CC-licensed work with other free software. Existing software licenses were designed specifically for use with software and offer a similar set of rights to the Creative Commons licenses.

    Overall, this looks like a naïve attempt to prevent derivative works, but escaping the GPL is not so easy. The GPL was written to prevent you from doing this sort of thing.

    ADDENDUM: Just in case the developer ever happens to find this comment, I want to say that I have a lot of compassion for the problems he is facing. I have maintained open source projects before, and watching your community get fragmented, your work disrespected, and failure to acknowledge that this is a hobby you’re doing in your free time weighs heavily upon you. I think this move is incorrect, but I acknowledge I’m not providing a viable alternative. I don’t know what the correct response should be.

    86
  • The NoDerivatives part is concerning. Is he trying to prevent forks?

    29
    • Regardless as the maintainer of that GitHub clarified in a closed pull request, it's not actually allowed on Github to have a license that blocks the ability to do forks and modify the programs yourself, I never knew this but it says it on the page he linked.

      basically it seems if you post a project as public on Github, you implicitly grant a license to fork and use the code regardless of what it's terms say since you need to follow those terms for the Github platform usage. The section 6 I'm not sure about though, cause the terminology confuses me, I can't tell if it means that it can be supercedes or that it supercedes a private license

      it seems his intent isn't to dissuade people contributing, he's just been burned a few times with GPL violations so he's changing the terms to prevent that

      25
    • Forks of versions before the license was changed would still be okay, no?

      19
      • This should be correct yes, as long as you don't include code that was added after the license change you should be in Clearwater.

        Technically speaking I don't think it's allowed for him to have changed the license to a more restrictive license in the first place because he didn't rewrite the entire project when he did so which means it's still containing code that under the license terms are supposed to be open indefinitely, but if you want to avoid all that drama you can just play it safe and Fork the version prior to him editing the license

        Personally speaking now this isn't going to stop the people that he's trying to avoid that hassle with, because I don't think he has legal ground because I don't think the license change was within the allowed terms of his license in the first place

        3
  • Stenzek is incredibly talented, but is a bit of a lunatic. He'll probably fake his death sometime soon.

    10
  • How can we download a version of the code before the change?

    4
You've viewed 21 comments.