DuckStation

(github.com)

86 points | by tosh 11 hours ago ago

29 comments

  • molticrystal 6 hours ago 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/7f4e5d55dbdef5...

    • haunter 3 hours ago ago

      Last version that you can download/fork before the license change commit https://github.com/stenzek/duckstation/tree/25bc8a64803df7e7...

    • seabass-labrax 3 hours ago ago

      I 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.

      • nerdponx 40 minutes ago ago

        Should open source contributors start including license terms with every commit? Or at least an SPDX identifier.

      • boredhedgehog 2 hours ago ago

        What confused me was that the project is still using the Qt framework. Is that compatible with the new license?

        • lights0123 2 hours ago ago

          Yes, Qt is LGPL except for a few plugins that are GPL.

      • tourmalinetaco 3 hours ago ago

        It 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.

  • snvzz 6 hours ago ago

    I'd rather use the fork that's still open source (GPLv3), or any other open source PS1 emulator such as PCSX2's ps1 support.

  • anthk 4 hours ago ago

    Leah has a libre fork.

  • bckr 5 hours ago ago

    DuckStation + $50 Xbox wireless controller + MacBook Air = I’m not buying a PS5 anytime soon

  • mouse_ 7 hours ago ago

    Have you visited the retroarch site without an ad blocker lately? I recommend it. Also, Retroarch can no longer run even Gameboy games on any of my systems without dropping frames every few seconds, regardless of configuration. Defaults drop frames, vsync + disabled threaded rendering drops frames, any combination of backend drivers drop frames. Not to mention audio stutter and crackle, which has always been an issue in RA, not so in standalone emulators.

    It may be that I'm a picky bitch about these things, but retroarch has been an absolute mess lately. I can at least see where Stenzek is coming from. These people just do not care the way they ought to for such a problem. Retroarch is regression city.

    Stenzek's skills as a software engineer are unparalleled and I have to imagine he knows what he's talking about.

    • bluescrn an hour ago ago

      Retroarch isn't perfect - but it makes emulators usable on devices without mouse+keyboard, with a consistent UI for configuration.

      Without it, emulation on Steam Deck and Miyoo/Ambernic-style devices would be nowhere near as good an experience.

      And if you're focused on emulating 8/16bit games, it runs the vast majority of them just fine. (If you want to emulate, say, Gamecube or beyond, that's when you're better off with individual standalone emulators)

    • woleium 6 hours ago ago

      I had a pleasant experience with emulationstation on retropie when i used it to make christmas presents a couple of years back.

    • garaetjjte 6 hours ago ago

      I feel I'm missing context? What does RetroArch has to do with it?

      • mouse_ 5 hours ago ago

        Stenzek (DuckStation developer, also contributed many dramatic improvements to Dolphin and PCSX2) effectively declared very public war on Retroarch. He gets a lot of shit for it in certain circles, and for the way he did it (relicensing DuckStation from GPL to a nonfree license). Lots of drama.

        • noirscape 3 hours ago ago

          The relicense had nothing to do with that and it wouldn't stop RetroArch regardless. They ship RA with several by-license-text incompatible[0] emulators anyway; many of their cores are under non-commercial licenses and some are explicitly included against the wishes of their original developers; ask the MAME devs what they think of RetroArch.

          Stenzek changed the license because he had a meltdown last month when PCSX2 changed it's license from the LGPL to the GPL (which is allowed by the LGPL; there's nothing dubious about making this change)[1] for... some reason. In response, he threw a tantrum and closed all his open PCSX2 PRs, effectively quitting the project[2][3][4].

          RetroArch is a plague on the emulation community, but that's not why Stenzek relicensed his emulator.

          [0]: If this is actually incompatible will largely depend on your views how the GPL interacts with dynamic linking. Don't just repeat the FSF FAQ, look for other legal opinions not written by free software advocates.

          [1]: https://github.com/PCSX2/pcsx2/pull/11648

          [2]: https://github.com/PCSX2/pcsx2/pull/11315

          [3]: https://github.com/PCSX2/pcsx2/pull/11401

          [4]: https://github.com/PCSX2/pcsx2/pull/11449

          • molticrystal 2 hours ago ago

            Did Stenzek publicly discuss his motivations somewhere, or did this happen in some unindexed chatroom/backroom? It would probably be good to look over the rational and complaints causing the fallout first hand.

        • arp242 4 hours ago ago

          It wouldn't be an serious emulator without tons of drama. It's pretty much a requirement.

    • sunaookami 4 hours ago ago

      RetroArch is cancer to the emulation scene. Multiple emulator devs despise RetroArch and users don't like it because of the confusing UI. It's sad that standalone emulators for homebrewed console (e.g. Switch) have gotten so rare "thanks" to RetroArch.

      • bluescrn an hour ago ago

        That 'confusing UI' is fully functional with a game controller, and consistent across many cores.

        Which is a massive win when you want to run emulators on devices without mouse/keyboard, and more than makes up for minor performance issues or having out-of-date cores.

  • ocdtrekkie 3 hours ago ago

    It's really funny that all the comments here about the "restrictive license" avoid admitting that license is Creative Commons, because open source has become such a caricature of its ideas that Creative Commons is the villain now.

    • palunon 30 minutes ago ago

      What? Creative Commons is good, but [it wasn't meant for code](https://creativecommons.org/faq/#can-i-apply-a-creative-comm...), and the No-Derivative and/or Non-Commercial Licenses are specifically incompatible with free and/or open source software.

      Specifically, it violates freedom 3 of the FSF definition (redistribute changes), and section 3 of the OSI definition (Derived Works). This freedom is at the core of what FOSS is.

      And that's before the violation of freedom 0, "The freedom to run the program as you wish, for any purpose" of the non commercial licenses.

      • perching_aix 16 minutes ago ago

        I think that's specifically what they refer to by open source "having become" "a caricature of its ideas".

  • flykespice 5 hours ago ago

    I appreciate stenzek skills he is a huge contribuitor in emulation-scene not only with DuckStation but considerable contribuition in Dolphin, psx2 (and his Aethersx2 android fork, even though he abandoned after incessant mobile users toxic complaints and death threats).

    I know he gets a lot of hate for sabotaging his own emulator (Aethersx2) with ads, and DuckStation subsequent change to a restrictive license, but still think his positive contributions to emulation still considerably outweights these negative ones.

    Also let's cut him some slack, it wasn't long ago he got over-harassed by the Retroarch devs to the point they sent email to their irl employer with damning accusations of sexual harassment.