[HN Gopher] DuckStation
       ___________________________________________________________________
        
       DuckStation
        
       Author : tosh
       Score  : 168 points
       Date   : 2024-10-12 10:22 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | mouse_ wrote:
       | 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.
        
         | woleium wrote:
         | I had a pleasant experience with emulationstation on retropie
         | when i used it to make christmas presents a couple of years
         | back.
        
         | garaetjjte wrote:
         | I feel I'm missing context? What does RetroArch has to do with
         | it?
        
           | mouse_ wrote:
           | 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.
        
             | arp242 wrote:
             | It wouldn't be an serious emulator without tons of drama.
             | It's pretty much a requirement.
        
             | noirscape wrote:
             | 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 wrote:
               | 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.
        
               | flykespice wrote:
               | > 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 wrote:
               | 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.
        
         | sunaookami wrote:
         | 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 wrote:
           | 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 wrote:
             | 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 wrote:
             | 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.
        
           | Shekelphile wrote:
           | 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 wrote:
             | 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.
        
           | theshackleford wrote:
           | 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.
        
           | bigstrat2003 wrote:
           | 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.
        
           | your_drunk_dad wrote:
           | Confusing UI for who? Martians? It literally unites many
           | cores under one simple control scheme. Couldn't get any
           | easier than that.
        
         | bluescrn wrote:
         | 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)
        
         | BlackLotus89 wrote:
         | 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...
        
       | molticrystal wrote:
       | 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 wrote:
         | Last version that you can download/fork before the license
         | change commit
         | https://github.com/stenzek/duckstation/tree/25bc8a64803df7e7...
        
           | whoopdedo wrote:
           | Use https://github.com/stenzek/duckstation/commit/6d3b177714e
           | b0c... The commits after that were to remove GPL code before
           | the license change.
        
         | seabass-labrax wrote:
         | 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 wrote:
           | 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.
        
           | boredhedgehog wrote:
           | What confused me was that the project is still using the Qt
           | framework. Is that compatible with the new license?
        
             | lights0123 wrote:
             | Yes, Qt is LGPL except for a few plugins that are GPL.
        
               | shakna wrote:
               | 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 wrote:
           | Should open source contributors start including license terms
           | with every commit? Or at least an SPDX identifier.
        
             | shakna wrote:
             | 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.
        
           | rebeccaskinner wrote:
           | > 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.
        
         | indrora wrote:
         | 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_.
        
       | snvzz wrote:
       | 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.
        
       | flykespice wrote:
       | 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.
        
         | majorchord wrote:
         | Please don't spread baseless accusations and FUD.
        
           | flykespice wrote:
           | Retroarch abuse to emulation devs is quite well documented,
           | it mostly stems from their project lead twinaphex(who also
           | personally receives the donations) but he also has peers
           | involved in the project that think alike.
           | 
           | https://x.com/BlueMaxima/status/1488826694626525185?t=16bZ3F.
           | ..
           | 
           | https://retroarchleaks.wordpress.com/ https://x.com/docsquidd
           | y/status/1488624125686001666?t=7IduLR...
           | https://old.reddit.com/r/emulation/s/82JBF0S27r
        
             | idle_zealot wrote:
             | None of this is documentation of abuse. It's documentation
             | of second-hand complaints of unspecified abuse. That's not
             | to say there isn't actual abuse happening, just that you
             | probably should've picked different links if you wanted to
             | demonstrate it.
        
           | perching_aix wrote:
           | Why do you not call out what you specifically consider
           | baseless accusations and FUD in their comment? Reads a bit
           | silly without that.
        
             | ranger_danger wrote:
             | Almost everything they said.
             | 
             | - There's no proof aethersx2 is his project. But there _is_
             | proof that it violates open source licenses.
             | 
             | - No proof of death threats from users
             | 
             | - No proof of "sabotaging his own emulator"
             | 
             | - No proof he "got over-harassed by the Retroarch devs to
             | the point they sent email to their irl employer with
             | damning accusations of sexual harassment."
        
               | flykespice wrote:
               | > - There's no proof aethersx2 is his project. But there
               | is proof that it violates open source licenses.
               | 
               | It has been long established in the emulation community
               | that stenzek and tahlreth are the same person
               | 
               | https://imgur.com/a/lapBuer
               | 
               | https://np.reddit.com/r/EmulationOnAndroid/comments/15l4k
               | m1/...
               | 
               | https://www.reddit.com/r/EmulationOnAndroid/comments/1e53
               | 37f...
               | 
               | > - No proof of death threats from users
               | 
               | https://www.reddit.com/r/emulation/comments/103836y/aethe
               | rsx...
               | 
               | Here is an example of email he got:
               | https://imgur.com/Oze5aYG
               | 
               | > - No proof of "sabotaging his own emulator"
               | 
               | https://www.reddit.com/r/EmulationOnAndroid/comments/11q7
               | 5wr...
               | 
               | > - No proof he "got over-harassed by the Retroarch devs
               | to the point they sent email to their irl employer with
               | damning accusations of sexual harassment."
               | 
               | EDIT: Okay, so the employer's email alleging harassment
               | was to another emulator dev (redream), I misremembered
               | it, but the harassment is still real.
               | 
               | https://x.com/BlueMaxima/status/1488826694626525185?t=16b
               | Z3F...
               | 
               | https://www.reddit.com/r/emulation/comments/si2v5s/duckst
               | ati...
               | 
               | Do your own research
        
               | ranger_danger wrote:
               | I don't consider any of that to be credible proof.
        
               | perching_aix wrote:
               | > I don't consider any of that to be credible proof.
               | 
               | Everything is up to people's personal consideration so
               | that really isn't saying all that much.
        
               | flykespice wrote:
               | I really don't know what is "credible" proof to you on
               | Internet drama. That is the best you will have:
               | screenshots, multiple users corrobating the account and
               | stenzek own words. Nothing tangible.
        
               | skotobaza wrote:
               | Out of curiosity, what would be a "credible" proof for
               | you in this context? Filed police reports with
               | confirmations that those threats have indeed been made?
        
               | perching_aix wrote:
               | Thanks, but I wanted to hear specifically from the person
               | I replied to.
        
       | bckr wrote:
       | DuckStation + $50 Xbox wireless controller + MacBook Air = I'm
       | not buying a PS5 anytime soon
        
         | daveidol wrote:
         | You would have bought a PS5 just to play PS1 games?
        
           | bigstrat2003 wrote:
           | I think he means that with that many games playable via
           | emulation you can be satisfied with just that.
        
             | bckr wrote:
             | 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 wrote:
         | DuckStation is PS1 emulator and not PS5 emulator.
        
       | anthk wrote:
       | Leah has a libre fork.
        
         | boricj wrote:
         | 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 wrote:
       | 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 wrote:
         | 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 wrote:
           | I think that's specifically what they refer to by open source
           | "having become" "a caricature of its ideas".
        
             | djur wrote:
             | FSF and OSI have been critical of "source available"
             | licenses for decades, so if open source is a caricature
             | now, it always has been.
        
               | perching_aix wrote:
               | 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.
        
               | winocm wrote:
               | 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.
        
       ___________________________________________________________________
       (page generated 2024-10-13 22:02 UTC)