Readit News logoReadit News
ndiddy · 4 months ago
I'm not a lawyer, but publicly announcing that you found out that you were using a library largely consisting of decompiled Nintendo SDK code, then continued to use it and distribute binaries with the library compiled into them seems inadvisable to me. On the other hand, the Wii's no longer commercially relevant so I doubt Nintendo will do anything about it either to him or to the DevKitPro project. Maybe that's why Marcan waited so long to go public about this. I'm also not sure why he thought copying code uncredited from a Nintendo SDK was good enough to "reluctantly continue to use the project" but copying code uncredited from a 25 year old release of an RTOS written by a defense contractor was a step too far. Different people have different moral standards I guess.

I will say that in general, the DevKitPro maintainers are very much on the "Cathedral" side of the spectrum and behave very abrasively, so the reaction Marcan lists doesn't surprise me. In general their licensing philosophy is "make it as easy as possible to write homebrew using the toolchain while making it as difficult as possible to fork/build your own copy of our toolchain". All of the console-side libraries are permissively licensed, while the tooling to build at least some of their libraries doesn't have a license file, is undocumented, and the maintainers ignore any requests for help from people who are trying to use it. DevKitPro is also extremely aggressive with enforcing their trademarks, to the point of issuing takedowns to people who are hosting unmodified old releases of the toolchain. Trying to sweep the libogc licensing issue under the rug (i.e. moving the issue about the licensing to a private repo instead of even just closing it) to try to keep the project Zlib licensed tracks with this behavior IMO.

eqvinox · 4 months ago
Copyright laws (in sane countries) have (varying amounts of) exceptions for reverse engineering pieces that are required for compatibility/interoperability.

Whether this applies to the Nintendo SDK… no clue, ask your lawyer ;). (i.e.: was there an alternative option to using RE'd pieces of the Nintendo SDK?)

It makes sense from a perspective/perception of: with the Nintendo SDK, [if] there wasn't really a choice or an alternative. With the RTEMS code there was.

giovannibajo1 · 4 months ago
Of course there was. You can clean-room reverse-engineer the hardware. This is what is done daily by Libdragon maintainers for supplying an open source SDK for Nintendo 64 with zero proprietary code in it.
selfhoster11 · 4 months ago
> On the other hand, the Wii's no longer commercially relevant so I doubt Nintendo will do anything about it either to him or to the DevKitPro project.

They've been going after ROM sites. Going after libogc or Marcan would fit their recent MO.

I think it is really, really unwise to put libogc on blast like this. It draws Nintendo's attention, which is never good. It would be better to reach out privately, and tell them you'll publically call them out unless they add missing credit and/or remove the offending code. Which for all I know, might have been retired already.

TuxSH · 4 months ago
To me this looks like a bad attempt at exposing dirty laundry in bad faith, which is not too surprising coming from him.

1. Commit 3ba50ec which Marcan is complaining about was pushed in 2008 and didn't just delete attrib specifically, but all (?) VCS comments indiscriminately. The file was barely touched since

2. "The authors of libogc didn't just steal proprietary Nintendo code (...) ignorance about the copyright implications of reverse engineering Nintendo binaries" ---> AFAIK it's software RE work, and nothing done in the console hacking scenes is truly cleanroom at all, and there's no point to it either as Nintendo can knock&talk and/or send strongly worded letters when they please, legality be damned

I don't know much about the Wii scene specifically, and libogc seems to be a mess in general, but what I do know is that libctru (3ds)/libnx (Switch) don't have that drama nor made the mistakes made in libogc

delroth · 4 months ago
> AFAIK it's software RE work, and nothing done in the console hacking scenes is truly cleanroom at all

There's a wide gradient of how much effort people put into reverse engineering consoles in a legal way vs. just copying code straight from their decompiler and slapping an open source license on it. libogc is very much on the "didn't even try" side of that gradient, it's been known since pretty much forever, and even their documentation is straight up copied from Nintendo's SDKs for part of their libraries.

What's new here is discovering that even the parts people thought were developed "fresh" and not just straight-up asm2c'd from Nintendo are actually stolen from other open source projects in a way that tries to conceal the origin of the code.

Whether you'll find that "more morally reprehensible" or not will largely depend on your personal morals, but clearly for some people that seems to be the case...

TuxSH · 4 months ago
Yes, libogc is a dumpster fire and the dkP org would be better served by rewriting a libogc replacement (w/ a different API) from scratch, quite honestly.

What I find odd is the timing, I highly suspect he learned about it many months ago.

> There's a wide gradient of how much effort people put into reverse engineering consoles in a legal way vs. just copying code straight from their decompiler and slapping an open source license on it.

Agreed (I replied the same in another comment)

JoshTriplett · 4 months ago
> To me this looks like a bad attempt at exposing dirty laundry in bad faith, which is not too surprising coming from him.

It seems odd that you would complain about the messenger, here, since it seems you don't actually dispute the message.

> Commit 3ba50ec which Marcan is complaining about was pushed in 2008 and didn't just delete attrib specifically, but all (?) VCS comments indiscriminately.

So it's OK that they did something wrong because they did everything wrong?

> there's no point to it either as Nintendo can knock&talk and/or send strongly worded letters when they please, legality be damned

There's very much a point to it (when you're building an emulator or tooling, rather than e.g. romhacks where it's unavoidable), because if you carefully stay entirely above board, you can burn those strongly worded letters, make DMCA counter-notices, and otherwise rely on the fact that both emulation and reverse-engineering are legal.

amiga386 · 4 months ago
Hector just doesn't have enough drama going on in his life after resigning (twice!) from the LKML, eh?

Nonetheless, I respect him for calling out FOSS license violations, even if he's done it in the most drama-pilled way.

amszmidt · 4 months ago
> 1. Commit 3ba50ec which Marcan is complaining about was pushed in 2008 and didn't just delete attrib specifically, but all (?) VCS comments indiscriminately. The file was barely touched since

FWIW -- I think this is the commit being talked about: https://github.com/m87h/libogc/commit/3ba50ecd4134ef37a0f18f...

Looks honestly totally innocent ...

scripturial · 4 months ago
This by itself just looks to me like someone getting rid of the old CVS comments that are messing up the headers. Maybe the problem is that younger people don’t recognize what a cvs header is?
sunaookami · 4 months ago
>I don't know much about the Wii scene

It shows. It's an open secret to everyone in the Wii scene that libogc is based on proprietary Nintendo code.

>but what I do know is that libctru (3ds)/libnx (Switch) don't have that drama nor made the mistakes made in libogc

Because WinterMute is not behind them.

userbinator · 4 months ago
which Marcan is complaining about

"That prick again?" Not surprised at all. He's been trying to stir shit up for a long time, and best ignored as a troll.

userbinator · 4 months ago
Yes, for those who don't know, this prick has even tried to take on Linus, with the expected result: https://news.ycombinator.com/item?id=42978765

(Read the dead comments there - very enlightening.)

deng · 4 months ago
How extremely weird. Why didn't they just use RTEMS openly? Was it for clout or did they want to circumvent the GPLv2? I can't imagine the Wii Homebrew scene being commercially significant that it would matter.
kmeisthax · 4 months ago
I suspect that it was neither for clout nor circumvention, but ignorance and people doubling down on that ignorance. If you are not specifically bathed in the norms of the FOSS community, GPL is kind of an unintuitive concept. It's a copyright license that forces you to disclaim most of the benefits of copyright protection. If you're coming from a piracy or game modding scene, where copyright is a thing you wipe your ass with, even the bare minimum of GPL compliance is going to seem like a waste of time at best and someone else trying to butt in on your project at worst.

Think about how many pirates do piracy because they think copyright is unethical, versus how many of them are data hoarders, or just want shit for free, or are reselling shady IPTV boxes on eBay. The former two groups are FOSS-adjacent, but the latter two do not care. Then keep in mind how basically any free shit tends to be almost immediately abused by children with an Internet connection and no access to payment rails.

Homebrew scenes seem like a candidate for doing things "the right way", but culturally they're a lot closer to piracy scenes than anyone wants to admit, at least in front of a court.

dokyun · 4 months ago
That's what makes it come off as stupid and kneejerk to me. This guy wrote "The Wii homebrew community was all built on top of a pile of lies and copyright infringement" like it's some kind of shocking revelation. The guy writes it in a way that makes me think it's fueled by some years-long grudge rather than an intent to unravel some kind of conspiracy. It's kinda pathetic, really.
II2II · 4 months ago
> Homebrew scenes seem like a candidate for doing things "the right way", but culturally they're a lot closer to piracy scenes than anyone wants to admit, at least in front of a court.

I realize the homebrew scene doesn't view themselves this way, but I pretty much view them as part of the piracy scene even when they are antagonistic towards those who pirate games. The main difference is that they are "pirating" hardware rather than software. By that I mean they are overriding DRM created by the hardware vendor to use the hardware in unauthorized ways.

Now it is easy to say that you should be able to do what you want with hardware you own. In most respects, I am sympathetic with that. Yet I don't like that philosophy for one big reason: it creates a huge disincentive to those who want to create open platforms since it is going to be nearly impossible for them to get any traction when they are up against jailbroken devices from huge multinational corporations.

JoshTriplett · 4 months ago
Note the mention that libogc also copies code from the official Nintendo SDK, which is proprietary.

I would guess one of three cases:

- They didn't want to respect the GPL, because they thought their library would be less popular if it were GPLed. (Many homebrew projects don't want to be fully Open Source because they want to hold back some special sauce, either to slow down efforts by the console vendor to stop them, or to differentiate themselves from other homebrew projects for clout. So someone building a foundational library for homebrew on a platform might want to, legitimately or otherwise, avoid presenting themselves as GPLed.)

- They didn't want to respect the GPL because they couldn't, because they were also pulling in proprietary code they weren't supposed to be using anyway.

- They didn't care because they were already ripping off the Nintendo SDK so why not rip off an Open Source project too. For instance, they just pointedly didn't care about copyright at all, which is a very different position than just not caring about code being proprietary.

(I can respect the position of "we're ignoring the copyright on this old game, so that we can do some awesome modding/romhacking", which is very different than ignoring Open Source licenses and failing to even give credit. I don't see the former as hypocrisy; it's just "we should be able to hack on anything". Console game modders / romhackers / etc tend to have a huge amount of respect for the original game and its authors, and give due credit, even if they're technically violating copyright.)

kmeisthax · 4 months ago
> Many homebrew projects don't want to be fully Open Source because they want to hold back some special sauce, either to slow down efforts by the console vendor to stop them, or to differentiate themselves from other homebrew projects for clout. So someone building a foundational library for homebrew on a platform might want to, legitimately or otherwise, avoid presenting themselves as GPLed.

For context, The Homebrew Channel itself was one of these projects. fail0verflow had put shittons of work into DRM for the Channel and its installer... purely so that you couldn't remove an anti-scam warning screen that they'd put in there to warn people about shady people trying to sell The Homebrew Channel.

Thing is, GPL requires you to explicitly allow that behavior[0], so HBC can't use GPL software.

[0] It is extraordinarily difficult to write a blanket copyright license that provides most of the terms we care for but prohibits this kind of behavior, without giving the authors the ability to veto anything they don't like. Standard operating procedure in the FOSS space has been to just allow all commercial activity.

somat · 4 months ago
What was the nature of the stolen(infringed really) code? Because a naive first glance show that they were distributing source code from a project that requires that you distribute source code.... shrugs, what's the problem here?

So was it removing license comments from the files?

qwery · 4 months ago
It's plagiarism.

They laundered source code from a free software project in a deliberate attempt to deceive.

(allegedly, etc.)

Dead Comment

mubou · 4 months ago
Is RTEMS an active project? They should file a copyright complaint and have the libogc repo taken down if this is true. If it were me, I'd lawyer up and throw the book at them.

LibOGC accepts donations via Patreon, which means -- if the allegations are true -- they're profiting off stolen code. RTEMS could and should sue for damages.

This isn't the first time I've seen an open source project stolen by someone trying to pass it off as their own work while accepting Patreon donations. I'd like to see some justice every now and then...

arghwhat · 4 months ago
Being active doesn't matter, the copyright holders still hold the copyright.

How much they profit off the stolen portion is also questionable, and open source licenses weren't meant to extort money but to grant us rights to the code. What they should do is add attributions and fix their licensing (libogc needs to be GPLv2), or remove the code. Willingly, yesterday.

mubou · 4 months ago
I was thinking more "is it possible to contact them." When I googled RTEMS I found that it's originally an OS for missile systems from 1993 O_o

But I disagree. It's not extorting money to sue someone who stole your code and deliberately removed your copyright notices. The open source license only gives you the right to use the work for commercial purposes AS LONG AS you comply with the terms of the license. If you don't, then you're illegally profiting off stolen work. You can't violate the terms of a contract while still benefiting from it.

I don't know how much was stolen here, but if it's foundational enough to the project that HBC had to give up development, then they might have a case, but IANAL. Not doing anything though would mean letting them get away with their ill-gotten gains (again - if true), and I just don't think that's right. Like I said, I've seen similar things happen before and it pisses me off.

londons_explore · 4 months ago
The copyright holders might have allowed this use, or at least declined to pursue any enforcement.
inamberclad · 4 months ago
RTEMS is under active development and is running around the solar system right now :)
p_ing · 4 months ago
Wow! What an achievement for those devs.

https://www.rtems.org/applications/

brudgers · 4 months ago
I'd lawyer up and throw the book at them.

Litigation is expensive.

Yeah, hobbies can be expensive and sure litigation could be someone’s hobby…nothing wrong with that and maybe worth having lawyers on retainer if that’s your jam.

But in this case, there’s probably not a business case…and being a civil matter, there’s no book-‘em Danoh book to throw. Just normal squeezing blood from turnips…which again, might be someone’s hobby at least in theory.

AshamedCaptain · 4 months ago
How much "reverse engineering" these days really is clean room and how much of it is just ripping off proprietary software?

One can easily find a bazillion of "github repos" that distribute what is evidently directly decompiled game code with minimal cleanup. Bonus points if they also claim it is OK as long as the game art is not distributed, which in addition to being wrong is disrespectful to developers as a whole.

But when the Nintendo copyright czar wakes up, they're the bad guys...

arghwhat · 4 months ago
Note that reverse engineering does not have to be clean room, poking at hardware without ever seeing any software. In many places, poking at the proprietary software, decompiling it, tracing it, and so forth is fine despite what unenforcable EULA's might suggest. What is not okay is taking the binaries or decompiled source verbatim and re-distributing it.

Note that e.g. copyright does not apply to decompiled source code (the original authors did not write the decompiled source, unlikely assets taken verbatim - maybe that's where the arguments you mention stem from - although note that there may be regional regulatory differences). Instead, the things that might cause issues are things like the enforceable parts of the software license, any enforceable patents on the functionality, or enforceable platform license restrictions for applications built based on decompiled source.

amiga386 · 4 months ago
Copyright does apply to decompiled source code (it's a derivative work of the binary).

However, reverse engineering is allowed explicitly (...in several countries, ask a local lawyer!) for the purpose of interoperability, and sometimes for certain kinds of research. In those cases, what would otherwise be cooyright infringement is permitted.

If you're not doing it for those reasons (e.g. to attain exacting bug-for-bug levels of compatibility with a proprietary system, as is often needed in emulators), if in fact you could use any threading library, you don't then get to take an unrelated library and file the serial numbers off.

AshamedCaptain · 4 months ago
> Note that e.g. copyright does not apply to decompiled source code

Where does this non-sense come from exactly? Are you claiming the decompiled source code is not a derivative work? It is almost a text-book definition of one (in much the same way the executable is...).

There are some situations (and this depends on your legislation) in which _violating_ copyright is lawful (e.g. in the EU, if it is _strictly necessary_ to do so for interoperability reasons -- think cryptography for network equipment; a decade ago I used to work on this!). But blanket distribution of decompiled proprietary (or GPL'd!) binaries _is_ a copyright violation (literally textbook, as "decompilation" is quite an example of an automated translation). And frankly, I have no idea what kind of confusion of ideas makes these people believe it is OK to distribute game code publicly. Or why it would be OK for code but not for assets. (And it has nothing to do with patents).

ThatPlayer · 4 months ago
> the original authors did not write the decompiled source

This isn't anything new or unique to programming. In the same way if I were to transcribe a movie (let's say it's a silent movie) to a script, it would still be that movie. Or if I were to translate a book into Klingon . Or even do a cover song of "Beat It" entirely with throat singing. Copyright would still apply.

MyOutfitIsVague · 4 months ago
> Note that e.g. copyright does not apply to decompiled source code

This is absolutely not true. I've been seeing this claim for years, and it's complete nonsense. Otherwise I'd be able to decompile the entirety of Microsoft Windows and then just redistribute it as my own source code.

> the original authors did not write the decompiled source

The original authors also did not write the compiled binary. The copyright still applies to it.

Philpax · 4 months ago
> One can easily find a bazillion of "github repos" that distribute what is evidently directly decompiled game code with minimal cleanup. Bonus points if they also claim it is OK as long as the game art is not distributed, which in addition to being wrong is disrespectful to developers as a whole.

I'm sorry, this is supposed to be a bad thing?

TuxSH · 4 months ago
> How much "reverse engineering" these days really is clean room and how much of it is just ripping off proprietary software?

In Nintendo console hacking scenes? None at all, there is no point to it, going through the hassle of doing cleanroom as an individual is wasted effort.

Though, the spectrum between copy-pasting HexRays output verbatim and rewriting things yourself is fairly large.

giovannibajo1 · 4 months ago
The Nintendo 64 homebrew scene uses libdragon which is 100% clean room, 100% based on reverse engineering, is fully open source and allows to create ROMs with no proprietary libraries.
lexicality · 4 months ago
Just because some people steal software doesn't mean that Nintedo's behaviour isn't also bad. It's not an either-or situation.
matheusmoreira · 4 months ago
> How much "reverse engineering" these days really is clean room and how much of it is just ripping off proprietary software?

I did mine clean room. When I reverse engineered my laptop's features, I intercepted the proprietary software's communications with the hardware, compiled my findings into a whole bunch of notes and then wrote my own free software to do the same thing based on those notes.

> But when the Nintendo copyright czar wakes up, they're the bad guys...

They are always the bad guys. Copyright owners are monopolists. Copyright as a whole should be abolished. I don't care what the so called "pirates" are doing, they are always less morally wrong than eternal copyright monopolists who rob us of our public domain rights and turn perfectly good computers into locked down digital fiefdoms where we are serfs.

20 year old games you grew up with? Give me a break. These companies have all made their fortunes multiple times over. This "intellectual property" should already be in the public domain by all reasonable accounts. God forbid Nintendo be unable to sell you the exact same Mario ROM for the 10th time though. We're all going to be long dead before our culture returns to us. That means it effectively never will.

armada651 · 4 months ago
> Copyright as a whole should be abolished.

Why is abolishment always the first reaction to any system with flaws? There are multi-billion dollar companies who would love to see copyright abolished, especially right now so that they can profit from artists with reckless abandon without giving them so much as a penny.

Copyright provides an incentive for artists to dedicate their life to their creative endeavors by providing a means to make a living off their art and I would like that to continue to be the case. It needs to be reformed, not abolished.

ranger_danger · 4 months ago
> The Wii homebrew community was all built on top of a pile of lies and copyright infringement

I think you can find evidence that basically all emulation since at least the N64 has been based on stolen SDKs and massive amounts of drama and infighting between overly-passionate groups of people.

Not to mention almost every single emulator developer pirates massive amounts of ROMs in order to test and debug games with their code. Many of them also have troves of proprietary SDKs as well.

JoshTriplett · 4 months ago
Sad news, though always good to see someone calling out problems.

Are there any Wii homebrew loaders that aren't based on libogc?

MelodyUwU · 4 months ago
i dont know of wii homebrew but in the nds space there is BlocksDS which is not part of devkitpro, and in gba space you can get (experimental) toolchains from wf-pacman (wonderful toolchain). sadly, the nintendo homebrew space is ruled by devkitpro, and i spent some time trying to find an alternative to it, but that doesnt seem to exist right now.
MelodyUwU · 4 months ago
just realized you asked for something different, and my comment above is on the wrong subject. either way, i dont know of any big library/toolchain/sdk for the wii not from dkP, so the chances of a loader different from hbc and not based on libogc are small, sadly.
msephton · 4 months ago
It's curious that the infractions were known about for so long—decades—but didn't make the news. I guess something happened to cause Marcin to speak up about it in 2025. But what?