molticrystal 3 days 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...

  • indrora 2 days ago

    There'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.

  • seabass-labrax 3 days 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.

    • tourmalinetaco 3 days 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.

    • rebeccaskinner 2 days ago

      > 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!

      If they own the copyright to all of the code that was published, then they can use that right to relicense the code however they like without violating either of the licenses. That would, however, presume that they either did not accept contributions from anyone else prior to the change, had contributions assign them copyright, or removed code by those contributors.

      And, of course, changing the license on new code doesn’t revoke the rights granted to people by the previous licenses if they had the code already.

    • boredhedgehog 3 days ago

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

      • lights0123 3 days ago

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

        • shakna 2 days ago

          The 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 3 days ago

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

      • shakna 2 days ago

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

snvzz 3 days 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.

mouse_ 3 days 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 3 days 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 3 days ago

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

  • garaetjjte 3 days ago

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

    • mouse_ 3 days 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 days 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

        • flykespice 3 days ago

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

          Pretty sure it's because he would be "forced" to open-source Aethersx2 (which is an android port of pcsx2).

          • lcouturi 2 days ago

            He wouldn't be. AetherSX2 is based on LGPL-era PCSX2 code and license changes don't apply retroactively like that (otherwise, imagine if SDL changed its license to GPL and instantly forced half of PC games to go open source).

            It would only prevent him from using code added after the switch to GPL, which is not a problem because AetherSX2 ended development long before PCSX2 switched to the GPL.

        • molticrystal 3 days 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 3 days ago

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

  • sunaookami 3 days 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.

    • Shekelphile 3 days ago

      The shittiest part is the RA 'team' (really just daniel) forks the most popular emulators and profits off them while never updating their forks with upstream improvements and never pushing any of the money they profit back to the emudevs doing actual work.

      It's really sad that he still hasn't been pushed out yet.

      • ranger_danger 3 days ago

        They only fork the projects that are extremely difficult to work with the upstream authors of; DuckStation is a prime example.

        And I guarantee you nobody on the libretro team is "profiting" off of other emulator projects unless you consider the RetroArch patreon donations to be part of that, but that money often goes back to developers funding bounties and other work/hardware for development... and it exists irrespective of any cores they might support.

        The claim that they never update their forks is also demonstrably false. There are some cores that lack a maintainer, but it's not like they are actively being hostile in some way by not updating something. Also keep in mind that they host hundreds of different cores and all the builds for them across a dozen+ platforms, which is thousands of different build combinations, something I've never seen in ANY other single software project on earth (unless you count an operating system I guess). And some people only want to work on certain cores, or just RA.

        I think attitudes like this is exactly why nothing ever changes in the emulation scene.

    • bluescrn 3 days 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.

      • recursivecaveat 3 days ago

        I've run many of the underlying emulators' software that got repurposed into cores. I loved XMB on the PS3 and PSP, and I really wish Sony didn't drop it. Retroarch's UI is a complete disaster. It is on the whole the most confusing software I have ever encountered.

      • Lammy 2 days ago

        That's actually one of my reasons for preferring standalone emulators on Android. My device's hardware L and R work by emulating screen touch, and the touch positions are assigned per-app, so with something like RetroArch it would be a pain to make sure an appropriate L/R target is in the same place for each emulated system.

    • your_drunk_dad 2 days ago

      Confusing UI for who? Martians? It literally unites many cores under one simple control scheme. Couldn't get any easier than that.

    • bigstrat2003 2 days ago

      I don't find the UI confusing at all, and I like it just fine. Honestly the software works for me so I'm just a quietly happy user.

    • theshackleford 2 days ago

      I like retroarch and I don’t find anything confusing about the RA UI. Sure normies might be confused by its UI but then again they most likely get confused by a start menu.

  • BlackLotus89 2 days ago

    Nothing you said has any grounding in reality.

    https://libretro.com is ad-free

    No hardware I tested has any problems with any emulator and most emulators still run better than the main port.

    If you were referring to another retroarch site you went to the wrong site which could explain your problems, but please open a bug report if you really have such a bad experience with retroarch and maybe try another libretro frontend.

    Sadly I consider your comment as FUD since I can't collaborate/verify any of your problems on any hardware... I'm sorry. If you really downloaded retroarch from a non official source, please check your PC for malware.

    Edit just to clarify I'm not associated with retroarch even though I provided code a few times in the past. I'm still using it from time to time, but I hadn't had contact to anyone from this project for years. I'm just an independent dev who hates FUD...

flykespice 3 days 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.

bckr 3 days ago

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

  • daveidol 3 days ago

    You would have bought a PS5 just to play PS1 games?

    • bigstrat2003 2 days ago

      I think he means that with that many games playable via emulation you can be satisfied with just that.

      • bckr 2 days ago

        Right. I considered getting a new game console. Then I decided to just get a controller and see what I could play on my laptop.

  • TiredOfLife 2 days ago

    DuckStation is PS1 emulator and not PS5 emulator.

anthk 3 days ago

Leah has a libre fork.

  • boricj 3 days ago

    It's an archive of the last commit before the license change and it doesn't appear any work has been done on top of it (save for a preamble in the README). Furthermore, from what I've gleaned from the replies to the email that was sent to every contributor of DuckStation in the git history about this topic, it doesn't appear that there is any interest in maintaining or contributing to a GPLv3 fork.

ocdtrekkie 3 days 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 3 days 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 3 days ago

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

      • djur 3 days ago

        FSF and OSI have been critical of "source available" licenses for decades, so if open source is a caricature now, it always has been.

        • winocm 2 days ago

          The only thing I have learned here is that apparently software licensing is very difficult and

          Makes me wonder what the general statistics are on individuals ignoring licensing entirely.

          Time to go make the ultimate SPDX-License-Identifier with an OR clause between every single entry.

        • perching_aix 3 days ago

          I'd personally agree with that (hence my quotes around the having become part), although I'm not nearly caught up with the lore enough to know whether equating open source with the FSF and OSI is fair. Also can't vouch for the thread starter's opinion of course.