The Wii homebrew community has been dealt a pretty serious blow, as developers of The Homebrew Channel for the Wii have discovered that not only does an important library most Wii homebrew software rely on use code stolen straight from Nintendo, that same library also uses code taken from an open source real-time operating system without giving proper attribution.
Most Wii homebrew software is built atop a library called libogc. This library apparently contains code stolen from Nintendo’s SDK as well as from games using this SDK, decompiled and cleaned. This has been known for a while, but it was believed that large, important parts of libogc were at least original, but that, too, turns out to be untrue. Recently it has been discovered that libogc’s threading/OS implementation has been stolen from RTEMS, an open source real-time operating system.
The developers of libogc have indicated that they do not care, intend to do nothing about it, and deleted any issues reporting the stolen code. What’s wild about the code stolen from RTEMS is that it’s an open source operating system with a nice, permissive license; there was no need to steal the code at all, and all it would take to address it is proper attribution.
As such, the fail0verflow group, which develops The Homebrew Channel for the Wii, has ceased all development on The Homebrew Channel, and archived the code repository.
The Wii homebrew community was all built on top of a pile of lies and copyright infringement, and it’s all thanks to shagkur (who did the stealing) and the rest of the team (who enabled it and did nothing when it was discovered). Together, the developers deceived everyone into believing their work was original.
Please demand that the leaders and major contributors to console or other proprietary device SDKs and toolkits that you use and work with do things legally, and do not tolerate this kind of behavior.
↫ The Homebrew Channel GitHub page
Considering Nintendo is on a crusade to shutdown emulators, stuff like this is really not helping anyone trying to argue that consoles should be open devices, that emulators play an important role in preservation, and that people have a right to play the games they own on a device other than the console it’s intended for.
I’m sure this isn’t the last we’ll hear about this development.
This is not good.
They are giving ammunition to Nintendo, who already has a terrible reputation for attacking open use of their systems or customers preserving purchased games via emulation.
Yes, piracy is a concern. But this is partially on them. Never in history I remember “current gen” consoles being emulated on the PC. However switch is basically 10 year old mobile phone hardware, and people got around their limitations. It did not help Nintendo released the initial version with very easy debug options either.
Anyway, the genie is out of the bottle, and they are attacking legitimate use cases, while the “underground” piracy ones continue to flourish.
Wish the LIBGOC group did not betray though. They might think it is okay to release reverse engineered code. But it is not going to help us.
sukru,
I’m not clear on whether this was reverse engineered versus copied. I agree with your point though, when you’re poking the beehive so to speak, you need to take special care not to make egregious mistakes that gives them ammunition. Game emulators are a good example, but it also reminds me other examples…
After the oracle vs google case, we now have case law on the books that deem programming interfaces are copyrighted works regardless of new implementation. Such is the danger of having uneducated judged in charge of technical domains. Even though the majority of software engineers agree it was a bad judgement, it was poor judgement for google to copy interface files from java verbatim comments and all. Google got a fair use exemption in a followup trial, but now interfaces are copyrightable and every little project that independently implements one can be sued for copyright infringement unless they can convince the court their project deserves a fair use exemption. Google were in the right and this was largely the fault of an ignorant judge, but I still wish google hadn’t shot themselves in the foot.
Same with internet archive lawsuit. They play such a crucially important role archiving the internet. Their actions go right up to the line on copyrights (and probably beyond the line) in order to do this important job. I was so disappointed in their judgement in ignoring 1:1 lending ratio during covid. The lawsuit they lost cast a huge shadow over library ebook lending rights – going forward libraries aren’t allowed to lend out ebooks under the same statues as physical books without obtaining more permissions from the publisher. IA threw this all away with such blatantly illegal actions. If I were the judge I would have had to rule against IA too with infringement being so blatant and intentional. Unfortunately IA getting the ruling they deserve opens up the avenue for publishers to sue more libraries, even responsible ones.
Someone screwed up by not thinking critically enough about the legal consequences to their actions. To me the google case is probably the most innocent because it was FOSS and also because historically it’s always been the implementation that gets copyright, not the interface. “Idiot judge declares programming interfaces copyrightable” was probably not on anyone’s bingo card. 🙁
Alfman,
Don’t get me started. It was a very tragic time, and I feared the results would be even worse. It is bad, but could have been much, much worse.
What were they thinking?