Diseased Open Source Software Community - it's about ethics in Code of Conducts

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
Here's some FOSS drama that isn't tranny or Code of Conduct related and has to do with more relicensing hell and monetization of open source projects.

For those who don't follow emulation and the emulation scene, Yuzu is a Nintendo Switch emulator that is able to run more and more games. Recently however Yuzu has been making developers sign a CLA, or Contributor License Agreement to contribute that signs over copyright of your commits to the project itself. For those who don't know, a CLA can be used as a trojan horse to relicense projects under a more restrictive license, including closed source.

This has resulted in a Reddit post accusing the Yuzu devs of switching away from the GPL in an attempt to close source the emulator or switch to a Patreon style release model like what Cemu currently does.
1571008045048.png1571008004652.png

One reply mentioned Cemu on Patreon making emulator authors greedy. While it's closed source model has caused conspiracy theories to pop up from rival emulator developers and obsessive Nintendo fans that the emulator was made with stolen SDK code among other things, there's also evidence there's seething about it's $7,000 a month on Patreon monetization model by other emulator developers with features held back until you donate. Teknoparrot is another project that does the same thing with Patreon and the only open source version is a stripped down version called OpenParrot.
 
Here's some FOSS drama that isn't tranny or Code of Conduct related and has to do with more relicensing hell and monetization of open source projects.

For those who don't follow emulation and the emulation scene, Yuzu is a Nintendo Switch emulator that is able to run more and more games. Recently however Yuzu has been making developers sign a CLA, or Contributor License Agreement to contribute that signs over copyright of your commits to the project itself. For those who don't know, a CLA can be used as a trojan horse to relicense projects under a more restrictive license, including closed source.

This has resulted in a Reddit post accusing the Yuzu devs of switching away from the GPL in an attempt to close source the emulator or switch to a Patreon style release model like what Cemu currently does.
View attachment 969845View attachment 969844

One reply mentioned Cemu on Patreon making emulator authors greedy. While it's closed source model has caused conspiracy theories to pop up from rival emulator developers and obsessive Nintendo fans that the emulator was made with stolen SDK code among other things, there's also evidence there's seething about it's $7,000 a month on Patreon monetization model by other emulator developers with features held back until you donate. Teknoparrot is another project that does the same thing with Patreon and the only open source version is a stripped down version called OpenParrot.
Gah. The emulation scene has always been a shitshow, and it's only going to get worse as these people start to figure out they can sell out for a quick buck and people will tolerate it because they're the only game in town (no pun intended).

ETA:
Intellectual masturbation
Scrub detected. :neckbeard:
 
Last edited:
Here's some FOSS drama that isn't tranny or Code of Conduct related and has to do with more relicensing hell and monetization of open source projects.

For those who don't follow emulation and the emulation scene, Yuzu is a Nintendo Switch emulator that is able to run more and more games. Recently however Yuzu has been making developers sign a CLA, or Contributor License Agreement to contribute that signs over copyright of your commits to the project itself. For those who don't know, a CLA can be used as a trojan horse to relicense projects under a more restrictive license, including closed source.

This has resulted in a Reddit post accusing the Yuzu devs of switching away from the GPL in an attempt to close source the emulator or switch to a Patreon style release model like what Cemu currently does.
View attachment 969845View attachment 969844

One reply mentioned Cemu on Patreon making emulator authors greedy. While it's closed source model has caused conspiracy theories to pop up from rival emulator developers and obsessive Nintendo fans that the emulator was made with stolen SDK code among other things, there's also evidence there's seething about it's $7,000 a month on Patreon monetization model by other emulator developers with features held back until you donate. Teknoparrot is another project that does the same thing with Patreon and the only open source version is a stripped down version called OpenParrot.
So they figured out the business model all bit databases and infrastructure companies have? Kind of gross, tbh. I realize they want to make money, and even being able to live off what they're doing, but from what you're saying the patreon money seems to be good enough, so it just seems greedy and disingenuous. Can't they make like the linux companies and sell support?
 
Closed-source, for-profit emulators have been a thing for a while due to the rise of mobile apps. DraStic (DS) is a fantastic emulator, but it's only on Android and will run you like $8. Saw on some forum somewhere the author went DFE and quit the emulation scene, so not even he has the source for porting any more.

Also, Yuzu's been doing the Patreon benefits thing for a while anyway with Patreon builds that often include support for recently released games, as well as Discord tech support. They make $3,000 as of current (page wouldn't archive). I mostly see this as a defense if some contributor wants a slice of that $3,000 more than anything. As they pointed out, going full paid requires permission of all contributors or the complete replacement of their existing code.
 
Intellectual masturbation
Except Erlang was designed by industry to solve specific real world problems in telecoms. So the opposite really.

Here's some FOSS drama that isn't tranny or Code of Conduct related and has to do with more relicensing hell and monetization of open source projects. ...
What's the drama? All the contributors not given a cut of the money will just fork to last open source release and continue as before.
 
  • Informative
Reactions: moocow
Intellectual masturbation
Except Erlang was designed by industry to solve specific real world problems in telecoms. So the opposite really.
Exactly. Languages like Erlang, CL, Clojure, F# were designed to solve "real world" problems, for Place Oriented, situated, programs. They still pose an intellectual barrier to entry because monkeys who can only perceive the first paradigm they were taught to think about computers with probably learned an ALGOL derivative to begin with and can't make the mental transition into shitting up code bases in other paradigms.
Luckily they weren't taught a FP language as a first language.
 
So they figured out the business model all bit databases and infrastructure companies have? Kind of gross, tbh. I realize they want to make money, and even being able to live off what they're doing, but from what you're saying the patreon money seems to be good enough, so it just seems greedy and disingenuous. Can't they make like the linux companies and sell support?
Part of the reason there's so much controversy in the emulation scene over this too is because for the longest time, it was hard as hell to monetize emulators. Even if you opened up donation boxes online, the same people using your emulator to download Pokemon roms aren't going to throw you $5 unless they have to, and chances are they'll use the first free alternative they can find anyhow unless you're the only one in town.

Then Patreon came along and made donating easy. There was definitely some jealousy over the fact that modern emulators that run new games on a PC or a literal bundle of code lifted from other devs can make mad money. As it turns out projects that emulate newer or in demand games tend to make more money than yet another GBA emulator. To add to that, Chinese emulator boxes with cartridge slots are famous for lifting RetroArch code (which was reusing FOSS emulators for an FOSS project). This has led to multiple emulator authors angry they're not being paid or having said code be released under terms of the original licenses. It's also why big companies will either develop their own emulators or pay someone like M2 or Digital Eclipse to develop an emulator for them instead.
 
Part of the reason there's so much controversy in the emulation scene over this too is because for the longest time, it was hard as hell to monetize emulators. Even if you opened up donation boxes online, the same people using your emulator to download Pokemon roms aren't going to throw you $5 unless they have to, and chances are they'll use the first free alternative they can find anyhow unless you're the only one in town.

Then Patreon came along and made donating easy. There was definitely some jealousy over the fact that modern emulators that run new games on a PC or a literal bundle of code lifted from other devs can make mad money. As it turns out projects that emulate newer or in demand games tend to make more money than yet another GBA emulator. To add to that, Chinese emulator boxes with cartridge slots are famous for lifting RetroArch code (which was reusing FOSS emulators for an FOSS project). This has led to multiple emulator authors angry they're not being paid or having said code be released under terms of the original licenses. It's also why big companies will either develop their own emulators or pay someone like M2 or Digital Eclipse to develop an emulator for them instead.
Can't they license their code under gpl3 or something to prevent such occurrences?
 
Can't they license their code under gpl3 or something to prevent such occurrences?
The issue with GPL licensing is you need to have lawyers to step up to the plate to enforce it. When you don't have enough money to pay for that and nobody like the Software Freedom Conservancy takes on your case, the only hope you have is that community backlash makes these companies actually follow the rules.
 
Can't they license their code under gpl3 or something to prevent such occurrences?
and then do what? you think some noname hobby dev will expend the time and effort necessary to sue the emulator dev team for violating the license terms he put on the 50 lines of code he contributed to their project?
 
Exactly. Languages like Erlang, CL, Clojure, F# were designed to solve "real world" problems, for Place Oriented, situated, programs. They still pose an intellectual barrier to entry because monkeys who can only perceive the first paradigm they were taught to think about computers with probably learned an ALGOL derivative to begin with and can't make the mental transition into shitting up code bases in other paradigms.
Luckily they weren't taught a FP language as a first language.

ok lemme know when you use any of those languages in production. until then, intellectual masturbation.

The reason ALGOL paradigms are taught is because pretty much every lower level computer architecture choice comes down to assuming a C like language. We have compilers that can compile functional programming programs but a lot of coding is what ecosystem you use and how many developers know how to work with it, what debugging tools and libraries exist, etc. So until you can convince everyone else that the benefits to switching to these languages is worth it, people aren't going to switch. No amount of "my language is intellectually superior" is going to change that.
 
Last edited:
  • Dumb
Reactions: moocow
ok lemme know when you use any of those languages in production. until then, intellectual masturbation.

The reason ALGOL paradigms are taught is because pretty much every lower level computer architecture choice comes down to assuming a C like language. We have compilers that can compile functional programming programs but a lot of coding is what ecosystem you use and how many developers know how to work with it, what debugging tools and libraries exist, etc. So until you can convince everyone else that the benefits to switching to these languages is worth it, people aren't going to switch. No amount of "my language is intellectually superior" is going to change that.
Clojure and F# both come with a substantial, existing ecosystem (jvm and .net, respectively). But even when the ecosystem is weaker, many times it's less of an issue because you can do more with the more powerful language.
 
ok lemme know when you use any of those languages in production. until then, intellectual masturbation.
Erlang has been in production in Ericson's telecom switches for decades. It's what it was developed for. It allowed them to achieve nine 9's reliability -- 31.56 milliseconds of downtime per year.

Get some lotion. You've jerked yourself raw with this metaphor and you're starting to bleed.
 
Then Patreon came along and made donating easy. There was definitely some jealousy over the fact that modern emulators that run new games on a PC or a literal bundle of code lifted from other devs can make mad money. As it turns out projects that emulate newer or in demand games tend to make more money than yet another GBA emulator. To add to that, Chinese emulator boxes with cartridge slots are famous for lifting RetroArch code (which was reusing FOSS emulators for an FOSS project). This has led to multiple emulator authors angry they're not being paid or having said code be released under terms of the original licenses. It's also why big companies will either develop their own emulators or pay someone like M2 or Digital Eclipse to develop an emulator for them instead.
This is a good discussion. My read on this is that it is not so much driven by the Chinese emulator boxes- the people who make those things don't care about licensing and they can sell them direct to consumers or through Chinese third-party eBay resellers who live in Western countries.

The charitable interpretation would be that it's driven by wanting to capture revenue in the future by allowing Nintendo or third-parties to license the emulator to wrap Switch games on the successor to the Switch. Without serious societal change there wouldn't be any reason for Nintendo to change their policy of disallowing open source software being linked to their dev toolkits, as prevented a positive resolution of the ScummVM/Atari dispute. As long as building of GPL software on Nintendo products is off limits officially, in theory the developers might want to keep the option of licensing it differently open. To fund further development that would be released under both licenses. In theory.

Also, bonus Stallman content, courtesy of gexcolo:
1571096517349.png

1571096539414.png

https://archive.is/m3NPL
 
ok lemme know when you use any of those languages in production. until then, intellectual masturbation.
letting you know.

You can also look up lists of companies using FP languages in production, some for their entire systems. Walmart, Jane Street, Funding Circle come to mind.

>The reason ALGOL paradigms are taught is because pretty much every lower level computer architecture choice comes down to assuming a C like language.
C's "killer feature" was systems programming. And it was invented in the late 60s-early 70s, so either it fit itself to the architecture then architecture fit itself to C, or this entire point it pretty weird.
In general, the architecture we're using today, basically a Moore Machine, is equivalent to a state monad, so even that transition is trivial.
>ecosystem
Clojure and F# have very mature ecosystems as far as I know
>intellectually superior
More like better for a surprisingly wide variety of things, and plenty of people do get convinced, give it a shot, and get excited. The non pozzed communities and barrier to entry are just icing on the cake
 
  • Agree
Reactions: moocow and Marvin
You can also look up lists of companies using FP languages in production, some for their entire systems. Walmart, Jane Street, Funding Circle come to mind.
I looked it up and it is a few finance companies and a long list of niche tasks. Also to be clear my intellectual masturbation quote is about whoever said we don't use FP languages because they are too powerful or some crap like that. It's also not a good fit for lots of general purpose programming where we can't boil everything down into nice math-like functions.

Anyway pretty much every reason I can come up with is already stated here
https://softwareengineering.stackex...more-popular-in-the-industry-does-it-catch-on

In general, the architecture we're using today, basically a Moore Machine, is equivalent to a state monad, so even that transition is trivial.
This is disingenuous to call modern computers basically Moore machines. You can try to draw out an FSM for an Intel or ARM processor as an exercise in futility. At least do what CS papers do and call computers random-access machines.

I don't wish to continue this essentially academic debate. /g/ already has enough circlejerk from what I've seen.
 
  • Dumb
  • Disagree
Reactions: moocow and Shoggoth
This is a good discussion. My read on this is that it is not so much driven by the Chinese emulator boxes- the people who make those things don't care about licensing and they can sell them direct to consumers or through Chinese third-party eBay resellers who live in Western countries.

The charitable interpretation would be that it's driven by wanting to capture revenue in the future by allowing Nintendo or third-parties to license the emulator to wrap Switch games on the successor to the Switch. Without serious societal change there wouldn't be any reason for Nintendo to change their policy of disallowing open source software being linked to their dev toolkits, as prevented a positive resolution of the ScummVM/Atari dispute. As long as building of GPL software on Nintendo products is off limits officially, in theory the developers might want to keep the option of licensing it differently open. To fund further development that would be released under both licenses. In theory.
Well there's Western and Japanese companies that were doing the same things as the Chinese emulator boxes were. The two main things that come to mind are Final Burn Alpha and the Retron 5. The Retron 5 falls under the Chinese emulator box category, but the Final Burn Alpha saga is more interesting because it involves multiple FOSS community issues.

For the longest time MAME had a restrictive "usage clause" license (like Coraline Ada's shitty protest licenses) that banned commercial use. The idea was that it was going to put a stop to dodgy arcades running MAME cabs and making money from them, but in reality it did jack shit because these machines ended up becoming common anyway (especially in the form of "multicade" pcbs). After this inevitably caused problems with say museums wanting to use MAME and license compatibility, MAME undertook a long relicensing effort that involved contacting nearly every MAME developer and offering them a choice of relicensing their code under the BSD license or GPL. Despite this, older versions of MAME are still subject to the older license, along with projects based on MAME such as Visual Pinmame or ports of older MAME versions to consoles and Retroarch.

Despite MAME's accuracy, it's notorious for two things that cause issues when trying to sell consoles with it. The first is that cheap ARM SoCs run MAME poorly, to the point where even a cheap thrown away Core 2 Duo or Core i3 will run MAME much faster. The second is that older license encumbered versions of MAME tend to run better on low cost, low power hardware.

Enter Final Burn Alpha. Now Final Burn Alpha was a MAME competitor focusing on speed over accuracy and supporting a narrower set of arcade titles. It was also licensed under a non-commercial license and used pre-GPL MAME code. That is, until the developer of Final Burn Alpha decided to license out the code to Capcom/Koch Media for an arcade stick TV game rerelease of older arcade hits.

This caused controversy. Not only did the lead developer do this without telling the other developers, but as it turns out its non commercial license and use of pre-GPL mame code was a licensing issue. This incident was talked about both by gaming blog writers and by those in the emulation scene. A YouTuber named Modern Vintage Gamer who focused on emulators and the homebrew scene made a video about it.

The end result is that every developer left and made a new project called Final Burn Neo, adding in new games as well. The developers didn't like being sold out and paid nothing for their efforts. A lot of this issue has to do with getting paid or at least compensated in some way. Emulator developers don't make a lot of money unless they're being paid by a console vendor or other company to write emulators for them.
 
Also to be clear my intellectual masturbation quote is about whoever said we don't use FP languages because they are too powerful or some crap like that.
I'd say that is a big reason why, at least in so many words. A lot of people employed in software development aren't motivated to reduce the costs of development as far as it could possibly go. If it takes two days to fix a given bug, and development time costs $/hour, it simply might not be worth optimizing this corner of the business further. Factually speaking, functional programming is harder to wrap your mind around initially, but it makes you a better programmer. But that might not be worth the financial investment. As much as programmers get paid, overall they're still pretty cheap components of a modern business nowadays.
It's also not a good fit for lots of general purpose programming where we can't boil everything down into nice math-like functions.
Not really. Few functional programming languages are purely functional. Most provide escape hatches for when you need to directly mutate something.

Ocaml and F# and lisps all come with mutable structures. The encouragement of functional algorithms make 99% of your code better while still providing an escape hatch when you need to optimize that 1% of algorithms that don't adapt well to a functional style. Purely functional languages like Haskell are best used for things like compilers that end up being cycles and cycles of tree manipulation.

But even beyond formally functional languages, I'd say functional programming is a very mainstream idea as things are. Just the basic idea of thinking in terms of higher level algorithms, even as basic as mapping a function across an array, or even just the complete, widespread acceptance of lambda calculus (read: closures), means functional programming is plenty accepted as things are. Consider how popular the lodash js library is, for example. Or the functional aspects to the bluebird library.

After awhile, there's a segment of developers who spend enough time in js, dipping their toes in functional libraries and after awhile, they start to realize that while there might be millions of npm packages, the average quality of each one is bottom barrel. Is that really what they're sacrificing better code for? Javascript? (I've done professional work in all the big languages, js is just what's been annoying me recently, but you can substitute python or ruby or perl)

Heh, actually, in an attempt to add support for functional programming to python, they broke the whitespace formatting shit slightly to add support for lambda expressions.
 
Back