[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)