libretro

libretro · @libretro

1st Feb 2022 from TwitLonger

Regarding DuckStation/SwanStation


We will inform you of the DuckStation/SwanStation situation. We have had mostly cordial relations with Stenzek now for over two years where a DuckStation core was officially provided. DuckStation is licensed under the GPL.

For whatever reason, sometimes this relationship was offset by disagreements on Stenzek's side, leading to the core's abandonment. We tried not to address this in public and instead work together again, just like we approached other situations like this where a situation could be resolved.

Around 2021, a fork was created called SwanStation. This fork was created by kivutar. What upset Stenzek about this core is that apparently kivutar was working for a company called Piepacker that wanted to use DuckStation for commercial purposes. (It needs to be made clear that the GPL allows this kind of commercialization, and it is in fact one of the pillars of open source licensing). They raised a Kickstarter for this and raised a lot of money. We want to make it expressly clear that Libretro/RetroArch is not involved with Piepacker in any way or shape. Kivutar was previously a member of Libretro but has not worked on Libretro/RetroArch actively now for years. From what we know, attempts were made by Piepacker to hire Stenzek and those plans fell through. We made it continually clear to Piepacker that we did not wish to be poached or get involved with them in any way, and we have stayed true to that.

We took Stenzek's side for about half a year and instead went with his officially approved core. The catch instead is that he now no longer wanted to provide this core as open source, but as closed source. Fine, we obliged, and we provided this core as well on our buildbot. Around September was when whatever was said to him was interpreted as a slight and he abandoned the core again.

At this point, Piepacker seemed to have already abandoned SwanStation and we got handed over the SwanStation repo instead. SwanStation is basically the same Libretro core that existed before Stenzek got upset at Piepacker and made a closed source Libretro core instead. It has since been built up by DarthMew to be competitive in all features.

No code has been stolen. It is a GPL-licensed project, forking is allowed. We could have dropped DuckStation or SwanStation entirely as a core after Stenzek abandoned it for the second time but we felt that was not fair to the users so instead a developer just continued working on SwanStation until it was competitive instead.

We wish Stenzek the best, but want to make it expressly clear that we have tried everything possible to make this relationship work and that things have been done by the book. At the end of the day, GPL-licensed projects have certain freedoms that they come with. This includes forking. Some project authors take issue with this and want central control. When a possibility exists where an author can be worked with and the core is good, we try to do this. If it falls through or if for whatever reason devs cannot work together, we can either decide to not port a core altogether or drop an existing core we already had. We felt it was not fair to users to drop SwanStation and we feel it makes no sense to deny us rights granted to everyone by the GPL license that was picked for this emulator.

We understand certain emulator projects are very protective of what gets done with their code/emulator (or art, if you may). We try to be respectful to this and we try to collaborate where possible. At the same time, it is often easy for misunderstandings to occur in this scene over trivial matters and for people to then immediately drop any collaborations. We just are working on our own projects in peace and we just want to provide a good consolidated experience for people. If some authors take issue with this, that is unfortunate, but in this case nothing licensing-wise was done wrong. And there are plenty of authors that have no issue with us and whom we work with fine. We wished this would have been the case for DuckStation/Swanstation too.

We hope this attempts to demystify the situation.

Reply · Report Post