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.
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.
I think the DeCSS stuff wasn't used till it had been publicly leaked and was considered 'common knowlege' or some such to prevent lawsuits
The LiViD mailing list was full of people trying to get DVDs working with Linux, and they were already quite far into it. Derek Fawcus had already written the drive authentication code (so the drive would allow the host to read most disc sectors).
A piracy group, DrinkOrDie, reverse engineered the Xing DVD player for Windows and released DoD DVD Speed Ripper (no source code).
MoRE (Masters of Reverse Engineering) also reverse engineered the Xing DVD player and released DeCSS (no source code).
MoRE consisted of "mdx", "the nomad" and Jon Lech Johansen. "the nomad" reverse engineered the Xing DVD player. "mdx" used them to write a decrypter. Jon made a GUI frontend.
Prior to DeCSS's release, someone sent Derek Fawcus the decryption code. And he got around to playing with it, and was going to publish it on the LiViD list.
But before he did, DeCSS came out, and also its source code leaked, and Fawcus noticed his own code was in it (the drive authentication code), stripped of his credit. He complained about this and Johansen got in touch, and ultimately he allowed DeCSS to use his code under a non-GPL license.
Then, famously, Norway's "economic crime" unit brought criminal charges against Johansen. Ultimately, they concluded that Johansen himself hadn't infringed anything, because it was Derek Fawcus, "the nomad" and "mdx" who did that, and they're not Norwegian.
So, with that in mind:
- the LiViD mailing list would almost certainly have developed a DVD solution for Linux, not caring about clean room implementation, if DeCSS had not beaten them to the punch
- the fame DeCSS got also brought the angry litigators (though eventually justice prevailed)
I'll end on a quote from Derek Fawcus:
https://web.archive.org/web/20001202051300/http://livid.on.o...
> Something that may be of interest to people in the states is that I've had an offer of help to produce a specification of the algorithm - from which a third party could produce an implementation. i.e. proper clean room approach. This doesn't really matter from my point of view (or in my opinion most Europeans) but may be of use to the Yanks.
Its quite easy to prove that libdragon was fully clean roomed. There are thousands of proofs like the git history showing incremental evolution and discovery, the various hardware testsuites being developed in parallel to it, the Ares emulator also improving its accuracy as things are being discovered over the past 4-5 years. At the same time, the n64brew wiki has also evolved to provide a source of independently verified, trustable hardware details.
Plus there are tens of thousands of Discord log messages where development has incrementally happened.
This is completely different from eg romhack-related efforts like Nintendo microcode evolutions where the authors explicitly acknowledge to have used the leaks to study and understand the original commented source code.
Instead, libdragon microcode has evolved from scratch, as clearly visible from the git history, discovering things a bit at a time, writing fuzzy tests to observe corner case behaviors, down to even creating a custom RSP programming language.
I believe all of this will be apparent to anybody approaching the codebase and studying it.
The Wikipedia article on clean room reverse engineering has all the examples that came to my mind and then some. https://en.wikipedia.org/wiki/Clean-room_design
In other words, money that these people don't have. The legal system is not a solution for these kinds of problems, nor it is affirmative defense. Anything that makes the defendant bear the burden of raising and proving that their actions didn't foul any legal requirement, is basically killing any project, even when using your "solution".
With what evidence?
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.
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
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...
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)
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.
Nonetheless, I respect him for calling out FOSS license violations, even if he's done it in the most drama-pilled way.
FWIW -- I think this is the commit being talked about: https://github.com/m87h/libogc/commit/3ba50ecd4134ef37a0f18f...
Looks honestly totally innocent ...
The threading code does seem to be "similar" enough to warrant some investigation, but from the looks no license notice was "removed". Even the threading code in question has never had one, from the initial import from CVS/Subversion.
Making a mountain out of a molehill .... before the molehill is even there?
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.
"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.
(Read the dead comments there - very enlightening.)
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.
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.
I'm not so sure about that. More specifically, I wonder if there are more or fewer Steam Decks in the wild than jailbroken Nintendo Switch units.
The Steam Deck, well, that has other things going for it. Yes, it is an open platform. Yet it, along with similar devices, are also PC compatible. That makes it appealing to developers, may they be developing games for Linux or Windows. Perhaps the biggest thing going for it is being backed by Valve, which is large enough to coexist with Nintendo and is unusual for a larger company in that they value an open ecosystem. To understand how unusual that is for a large player entering the market, just look at the original Xbox.
Building a mass market hardware platform of any kind is incredibly difficult on its own merits.
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.)
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.
Couldn't, not at the time. HBC has been open-sourced some time ago, sans DRM, as the Wii has long lost commercial relevance beyond enthusiast communities. This open-source re-release is what the repository is.
That being said, RTEMS itself is trying to relicense to BSD 2-Clause, which would obviate the concerns over copyleft, but NOT the thing that libogc did. In fact, the 2 clauses left in the BSD 2-Clause license are the ones that require you to retain the copyright notices. So libogc is still in the wrong.
[0] https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/LICENS...
So was it removing license comments from the files?
They laundered source code from a free software project in a deliberate attempt to deceive.
(allegedly, etc.)
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...
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.
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.
The principles acknowledge that copyright allows GPL violators to be sued for financial damages, as you point out in your post. However, they also take into account that lawsuits don't necessarily further the goals of software freedom, because excessive litigation could disincentivize people from using free software out of fear of mistakenly falling into non-compliance. As a result, it's better for free software to give violators many chances to comply and to provide guidance towards this where possible, and also seek injunctions rather than financial remedies if the court with jurisdiction allows it.
The principles are well worth a read; they explain a lot about how organizations such as the Software Freedom Conservancy operate, and why the few lawsuits which they do bring are so weird.
It's also worth noting that these principles are sometimes considered extreme within the free software community from the other side, which argues that the GPL should never be litigated!
> argues that the GPL should never be litigated
If you search around though you will find many posts on lawyers' websites and other places that argue it is possible to actually lose your own copyright/trademark/IP protections by failing to enforce/litigate them.
What good is a license that will not be enforced? It's more of a suggestion at that point because people will inherently take advantage of you otherwise, it is a fundamental part of capitalism, which, FOSS zealots often seem to be strongly against capitalism themselves in general, but that's of course not how the world works today.
Citation needed. You can lose an unused trademark through misuse. You cannot lose copyright. Impossible. You can willingly relinquish something to the public domain. But that's it.
Transgo, Inc. v. Ajac Transmission Parts Corp., 768 F.2d 1001, 1019, 227 USPQ 598, 82 A.L.R.Fed 97 (C.A.9 (Cal.), 1985). Publication by a licensee of “vast numbers of copies without copyright notice may work a forfeiture” if done with full knowledge of a licensor who acquiesces.
The limitations period for bringing copyright infringement claims is three years after the claim accrues. See 17 U.S.C. S 507(b)
I have also seen several times where a project owner is made aware (e.g. via mailing list or github issue etc.) of an infringement and then they make a comment like "we do not have the money to fight this", and so then if three years passes after that point, the infringer basically gets away with it.
Also, most people do not register their copyrights, which:
Failure to Register Before Enforcement: In the U.S., while copyright protection is automatic, you must register the copyright with the U.S. Copyright Office before you can file a lawsuit for infringement in federal court. You have no proof that you own a copyright if you do not file for one. If you try to enforce it before you register the copyright, it can later become invalidated, or its validation process can be terminated.
If you have standing and you don’t sue for lack of money, of course the infringer gets away with it! Your right was not extinguished though. You don’t have the right to bludgeon others, you have the exclusive right to copy.
Try telling that to a lawyer. Not enforcing your exclusive privileges does not extinguish your rights. People don't lose the right to vote if the government refuses to enforce election fraud.
You are wrong in the legal sense, and copyright is a very legal matter.
HBC has not been under real development for 10+ years. This is mostly a performative act.
Considering attribution was removed, I doubt it was approved, but it's not impossible that they somehow learnt and decided not to care as enforcement can be unreasonably cumbersome.
But I suppose forums/Internet can be grumpy about other's amazement.
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.
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...
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.
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.
The question is whether creating the derivative work of that specific transformative nature is allowed. Unlike assets taken verbatim, this requires evaluating the exact instance. A binary decompilation is importantly not a simple translation, as that would be entirely unusable - rather, it is like creating blueprints for a finished building.
This is in part why licenses aim to manage and in part restrict you through a contract with the author, using a formally granted usage right to the entity as leverage for complying with a bunch of conditions, orthogonal to the copyright.
Your point stands though, my statement was not as accurate as it could have been.
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).
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.
bad example, in this specific case copyright would actually not apply
> The object code of a program may be copyrighted as expression, 17 U.S.C. § 102(a), but it also contains ideas and performs functions that are not entitled to copyright protection. See 17 U.S.C. § 102(b).
> Object code cannot, however, be read by humans.
> The unprotected ideas and functions of the code therefore are frequently undiscoverable in the absence of investigation and translation that may require copying the copyrighted material.
> We conclude that, under the facts of this case and our precedent, Connectix's intermediate copying and use of Sony's copyrighted BIOS was a fair use for the purpose of gaining access to the unprotected elements of Sony's software.
Not only are the methods of operation which underlie the code completely unprotected by copyright, the copying of and the application of tools to the code for the purpose of exercising your right to discover those unprotected elements is fair use.
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.
I'm sorry, this is supposed to be a bad thing?
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.
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.
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.
Because we're sick of it. We're tired of pretending this stuff is artificially scarce while they rob us of our rights. The reality is intellectual property is fiction and public domain is its natural state. We'd like to start living in reality.
Nearly two hundred years ago, one man warned everyone this would happen.
https://www.thepublicdomain.org/2014/07/24/macaulay-on-copyr...
> once it ceases to be considered as wrong and discreditable to invade literary property, no person can say where the invasion will stop. The public seldom makes nice distinctions.
> The wholesome copyright which now exists will share in the disgrace and danger of the new copyright which you are about to create.
> in attempting to impose unreasonable restraints on the reprinting of the works of the dead, you have, to a great extent, annulled those restraints which now prevent men from pillaging and defrauding the living.
Not only did nobody listen, people doubled down on this bullshit. These are the consequences.
> Copyright provides an incentive for artists to dedicate their life to their creative endeavors
False. It is absolute rent seeking.
The original social contract was we'd all pretend for a few years that intellectual works couldn't be trivially copied so that creators could turn a profit. And then, and this part is the key, and then the works would enter the public domain.
When was the last time some work you enjoyed entered the public domain? It's not happening. They keep postponing it. You'll be dead before your culture enters the public domain. They've all made a zillion dollars off of it already but they think it's not enough.
Artists? They defend this stuff. They deserve the consequences. They are monopolists, just like the corporations you are decrying. On this very site I've run into artists who think it's absolutely just that they and their families get to enjoy centuries of rent from the government granted monopolies on their creations.
I agree and we should go back to that system, but that was still copyright. If you're calling for abolishment you give artists 0 years to turn a profit.
Are there any Wii homebrew loaders that aren't based on libogc?
Regardless of whether there's any truth to this anonymous accusation, this doesn't seem like the right way to go about it. An article walking through some of the similarities would be much more helpful to prove the point (and probably less work for whoever went through this exercise).
At least provide some links to RTEMS code comparing the libogc code. The OP cites these (https://github.com/devkitPro/libogc/blob/52c525a13fd1762c103... and https://github.com/atgreen/RTEMS/blob/2f200c7e642c214accb7cc...), but that's hardly a smoking gun. The function is trivial, just filling in some struct fields. The logic for choosing the stack size is the same, but it's also trivial and I'd just as likely attribute it to the function interface.
I'm not saying it isn't true, I just find this to not be the most credible accusation I've seen. This feels like some opensource drama thing, and the readme doesn't help, being both lacking information and including lines like:
> How disgusting...
EDIT:
also, they have another serious accusation without ANY proof:
> we discovered that large portions of libogc were stolen directly from the Nintendo SDK or games using the Nintendo SDK (decompiled and cleaned up).
Yeah, I'm with Marcan 90% of the time, and in my view Marcan is more likely than not right that that function is derived from the RTEMS function, but in my view there's still reasonable doubt. That is to say, purely based on the evidence linked, I only agree that it's probable that the code is copied and disagree with Marcan's claim that it's "not possible" for the implementation to be non-infringing.
The fact that some of the identifiers are similar raises the biggest suspicions. "__lwp_stack_isenough" vs. "_Stack_Is_enough" is suspicious because I'd probably call that "sufficient_stack_available" or something like that. "LWP_STATES_DORMANT" vs. "STATES_DORMANT" is also suspicious because the normal OS term would be "sleeping". Still, the function logic is different enough that, even with that evidence, one could plausibly claim that only the headers or interface were copied and the implementation was clean-room, which is non-infringing per Oracle v. Google.
In US legal system terms, I'd say that a preponderance of the evidence shows that the code is a derivative work (i.e. it's more likely than not that the code was copied at some point), but that there's still reasonable doubt (i.e. a reasonable person could plausibly believe otherwise).
https://github.com/atgreen/RTEMS/blob/2f200c7e642c214accb7cc...
https://github.com/devkitPro/libogc/blob/52c525a13fd1762c103...
The only difference is that the prependit parameter and its associated branch is missing, other than that the functions are completely identical.
Whether it's really worth all of the hooplah or not is going to be up to taste. I think it's pointless to just not explicitly credit RTEMS personally, but I suspect the real point of doing this is probably in large parts just to distance themselves from the reverse engineered libogc code.
I was referring to this repo by github account "derek57": https://github.com/derek57/libogc
I assume it's anonymous because the account has no public contact info.
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.
devkitpro needs to be shamed for knowingly shipping stolen code!
If we, the relevant community, do not think much of GPL violations when they hurt people we dislike, the social foundation that gives power to the law goes away.
The kind of missile RTEMS was built for carries not bombs but science. The kind that put men on moons and get them back again.
And if you look at the "Applications" section on RTEMS website, the very first entry (https://www.rtems.org/applications/hardware/avenger/) says:
"The Avenger (http://www.boeing.com/history/boeing/avenger.html) is fully automated, short-range Avenger air defense system. It is a lightweight, highly mobile, easily transportable surface-to-air missile fire unit with eight Stinger missiles in two missile pods. It acquires, identifies, tracks and engages targets (low-flying helicopters or fixed-wing aircraft) from a stationery or moving position."
Let's ignore for the moment nothing was actually stolen since the original authors still have their copies.
Stolen valor isn't really literal theft either, but that doesn't mean it's okay to do it.
(To be clear, this is a completely pointless tangent, "harm" has nothing to do with whether or not you should condone plagiarism. But you seem rather interested in discussing it, so I am kind of curious what answer you're actually looking for.)
As for not condoning plagiarism, grow up. We're not kids in school anymore. You're (hopefully) an adult who graduated already.
If you're so against plagiarism, how do you feel about LLMs plagiarizing the whole internet? Didn't all the techbros collectively decide for us that this is the future we want?
Well, now I asked for yours, and I'm also still waiting.
> As for not condoning plagiarism, grow up. We're not kids in school anymore. You're (hopefully) an adult who graduated already.
Look, man, I'm not saying we should go kill people for committing plagiarism, I don't think this is the worst thing ever, but it definitely reflects a lack of integrity even if the original authors explicitly don't care. It's dishonest and can put the legal status of a software library into genuine question.
i.e. I care if people lie to me even if the lie doesn't matter that much.
And it is not just a thing in school. Anyone who publishes or really writes anything (e.g. books, video scripts, blog posts, etc.) can ruin their career through plagiarism. It's a cultural faux pas.
https://en.wikipedia.org/wiki/Plagiarism
> If you're so against plagiarism, how do you feel about LLMs plagiarizing the whole internet? Didn't all the techbros collectively decide for us that this is the future we want?
That's a whole other can of worms.
I asked first and I don't want to influence your response. So, go ahead. You first.
If your only answer is that plagiarism is bad then I agree with that (in certain settings, such as education), but it's clearly no longer considered to be illegal (if it ever was?) or immoral. Just look at all the bigtech LLMs doing so while raising billions without getting into legal trouble. So apparently society has recently decided that this is fine.
It's simple: I'm not dodging the question, it's just that I don't know. It's complicated. It's easy to punch someone in the face and say "I have harmed this person" but things go into the weeds quickly. Like, can you harm someone through inaction? It's a surprisingly deep philosophical question and I am not a philosopher. I don't think determining exactly what harm is to be relevant in this particular case, anyways, but any definition I could come up with would probably have holes in it and lead to a large debate that I'd argue isn't actually relevant to the point(s) being made anyways.
> If your only answer is that plagiarism is bad then I agree with that (in certain settings, such as education), but it's clearly no longer considered to be illegal (if it ever was?) or immoral. Just look at all the bigtech LLMs doing so while raising billions without getting into legal trouble. So apparently society has recently decided that this is fine.
Say we really did crack the code on how human learning works and distilled it into an algorithm. If you were able to use this algorithm to produce a representation of learned skills and knowledge, e.g. something lossy enough to be considered legally distinct rather than just a compressed form of the training data, then surely this would not be considered a derivative work of the copyright material used to train it. I think most people would agree with this. (Note the obvious caveats, e.g. if your weights do contain obvious artifacts of direct memorization then it would still be a legal problem.)
Clearly we haven't done that yet, but we did do something that sits between "lossless compression" and "human learning". The courts have the unenviable job of trying to figure out where to draw the line when we still don't really understand what's going on.
I don't really like the heist that occurred with machine learning, but I also lack a satisfactory answer on what exactly it is they did wrong (except for the obvious, e.g. committing massive amounts of piracy and DDoS'ing the entire Internet for the sake of training data.) I don't think anybody could have foresaw what would happened with machine learning decades ago to be able to make laws that would adequately cover it, and tech companies always move way too fast for regulators to keep up.
However, I don't believe that this means that all plagiarism is simply okay, either legally or morally. I just think we lack an adequate legal framework to represent our moral quandaries with big tech machine learning operations, as the traditional notion of plagiarism doesn't cover the complexities of model weights or model outputs. I also don't think that the current legal frameworks will last forever; it's a golden era for ML companies, but assuming they haven't and aren't cracking the code on artificial cognition (I strongly believe they're not near it atm) I believe regulations will eventually catch up some time after the hype has died down.
In this case there's a non-commerical open source project that ignored some other project's licenses. This isn't great, but it doesn't affect me, a third party, in the slightest. I have no reason to be upset about this. It doesn't really affect the other projects either, nor does it negatively affect our society. If anything it adds to our society by giving something people are clearly interested in having.
In the case of RTEMS the only thing they're missing out on is attribution. Nintendo isn't missing out on anything at all, people will still be buying their hardware to run this software.
So my argument is that any harm that may have been done is insignificant at best. Hardly worth getting upset about, especially as a third party.
As for the legal argument, it's hypocritical at best. If someone wants to condemn what happened here they should first go after the big boys who are making billions by doing the same thing on a massive scale.
> If you were able to use this algorithm to produce a representation of learned skills and knowledge, e.g. something lossy enough to be considered legally distinct rather than just a compressed form of the training data, then surely this would not be considered a derivative work of the copyright material used to train it. I think most people would agree with this.
If it's okay for an algorithm to do then it's okay for a human to do. So in that case copyright would be dead since the conclusion is you (or a machine learning algorithm) are allowed to ingest some content, then produce similar content.
A simple example is using an LLM to draw an image of some disney characters. If we say the LLM is allowed to do this because it learned to do so, which we aren't considering to be plagiarism, then why are human artists being sued by disney for doing the same?
Or in this case, let's say the original authors used an advanced LLM to assist their coding. The LLM once happened to ingest Nintendo's binary blobs during training and was advanced enough to learn from them. It uses this knowledge to produce code that can interface with the hardware which just so happens to look like the original code because that's just how you do it. Is it suddenly not plagiarism anymore? Did it become morally okay because the LLM laundered the code? Is this any different from LLMs ingesting all of github and becoming coding assistants? Why are we okay with that, but not when a human does it?
I know that in the end the legal answer is that if you have enough money you can do whatever you want, but this doesn't answer the moral questions.
This falls under the "two wrongs don't make a right" adage, I'd argue. (To clarify... I agree, at least insofar as LLM training is plagiarism.)
> In this case there's a non-commerical [sic] open source project that ignored some other project's licenses. This isn't great, but it doesn't affect me, a third party, in the slightest. I have no reason to be upset about this.
Personally, I do sometimes get upset about things that don't directly affect me, as the result of empathy, sympathy, and having principles. I think if you really think about you'd agree.
> It doesn't really affect the other projects either, nor does it negatively affect our society. If anything it adds to our society by giving something people are clearly interested in having.
Calculating the effect of one person committing plagiarism is impossible. Part of the reason it's taboo is because I think we all agree the world is a better place when people are honest and give credit where credit is due, even when the threat of a lawsuit is not looming. Even if you are going to potentially violate a copyright license, you may as well be forthcoming about it IMO. And I'm not asking for perfection; we all make mistakes, after all. It's really about how you handle things once a mistake is brought to your attention.
As far as this goes, the tricky part is that right now, anyone distributing software that includes libogc, e.g. almost all GameCube and Wii homebrew, is potentially guilty of unauthorized distribution of copyrighted materials. It is hard to quantify how severe this is, but if you are trying to follow the letter of the law closely, especially since you're likely already engaging in gray area activities like console hacking, you probably want to keep a strong distance from illicit activities. I strongly believe that courts will consider how strong your public commitment to not purposefully violating the law was if you wind up going to trial. Just look at how the Discord conversations wound up factoring into the Citra case. Now that everyone is aware, the ball is suddenly in hundreds of people's courts to figure out; presumably most of them will just do nothing and ignore it, but it's difficult to really quantify what damage is done here.
The homebrew scene has a strong reason to distance themselves from software piracy. When the homebrew scene itself is building on top of potential copyright infringement, that's not a good look. It looks an awful lot like hypocrisy.
> In the case of RTEMS the only thing they're missing out on is attribution.
This part needs a deeper investigation. RTEMS has been relicensing to BSD 2-clause for a while, but some of the older code might only have been available under a variant of the GPL. Software that includes libogc today can't possibly be adhering to the RTEMS license since they will be missing the proper copyright notice and disclaimer, so this will take time to resolve. Meanwhile the modified GPL variant is likely OK for most projects, but it might pose licensing issues for some.
> Nintendo isn't missing out on anything at all, people will still be buying their hardware to run this software.
Those statements are largely not related, and not even necessarily true as plenty of people run homebrew on emulators. In fact, in many cases, you'll wind up running homebrew more on emulator than the real machine just because it's easier to do. Some homebrew actually specifically supports emulators and will take advantage of running in an emulator.
While this seems kind of silly, it's actually a big argument in favor of the legitimacy of emulators, as rather than simply emulate the console, you can argue what they actually do is emulate a platform that is a compatible superset of the game console.
> So my argument is that any harm that may have been done is insignificant at best. Hardly worth getting upset about, especially as a third party.
> As for the legal argument, it's hypocritical at best. If someone wants to condemn what happened here they should first go after the big boys who are making billions by doing the same thing on a massive scale.
It is totally possible to condemn both things. However, if you're a member of the homebrew scene, there's a good chance that one of those problems is more personally relevant to you than the other.
> If it's okay for an algorithm to do then it's okay for a human to do. So in that case copyright would be dead since the conclusion is you (or a machine learning algorithm) are allowed to ingest some content, then produce similar content.
> A simple example is using an LLM to draw an image of some disney characters. If we say the LLM is allowed to do this because it learned to do so, which we aren't considering to be plagiarism, then why are human artists being sued by disney for doing the same?
I think this is an even bigger can of worms than the AI one. We actually don't have a lot of case law on the legality of fan art and fan works in general. Note though that legal bullying can be effective even when the plaintiffs have no real leg to stand on, so it's hard to really judge what it means when someone has to fold to legal threats.
Meanwhile, if you think you can get away with it, I'd actually implore you or anyone else daring enough to try selling a blatantly copyright-infringing Disney T-shirt using Stable Diffusion for the artwork. I strongly doubt this would hold up in court. (If it did, it would be very funny.)
> Or in this case, let's say the original authors used an advanced LLM to assist their coding. The LLM once happened to ingest Nintendo's binary blobs during training and was advanced enough to learn from them. It uses this knowledge to produce code that can interface with the hardware which just so happens to look like the original code because that's just how you do it. Is it suddenly not plagiarism anymore? Did it become morally okay because the LLM laundered the code? Is this any different from LLMs ingesting all of github and becoming coding assistants? Why are we okay with that, but not when a human does it?
Actually you just described some real world case law, at least in the United States. Recently, Google LLC v. Oracle America, Inc. established that copying code for the sake of interoperability can be considered fair use. Similarly, Atari Games Corp. v. Nintendo and Sega Enterprises Ltd. v. Accolade, Inc. helped establish this earlier, and you could argue Sony's Connectix and Bleem! lawsuits as well, as both Connectix and Bleem! used some degree of non-cleanroom reverse engineering.
Copying code for the sake of interoperability can be fair use, even for libogc, even if someone of the resulting code is necessarily structurally similar to the original code. However, e.g. just copying decompilations directly out of HexRays or Ghidra is unlikely to hold up. (Disclaimer; obviously, IANAL.)
Today's case-law regarding machine learning models mostly establishes that the model weights themselves are not inherently infringing because of the training data. I'd argue the implicit legality of model outputs is significantly less charted waters and that is exactly why some ML vendors are providing indemnity agreements: they want to reassure their customers that they will not be liable if the model's outputs are found to be infringing, because there absolutely is still risk that model outputs could be found as infringing. It is not blackletter law that anything that comes out of a model is necessarily free of copyright, trademark and patent infringement.
> I know that in the end the legal answer is that if you have enough money you can do whatever you want, but this doesn't answer the moral questions.
Sure, and just because someone does or doesn't choose to sue also doesn't mean something is morally good or bad.
The argument is that so far society at large seems to have decided that what bigtech has done with LLMs is not wrong. Everyone is happily using it, pretty much every company is touting their new "AI" features, and lawsuits haven't gained any traction. So if it's not wrong for an LLM, I'd argue it's not wrong for a human, either.
> Personally, I do sometimes get upset about things that don't directly affect me, as the result of empathy, sympathy, and having principles. I think if you really think about you'd agree.
True, in this case I feel sympathy for the poor developers who put time into making a free open source tool that brought many people joy now being harassed over something as insignificant as a license dispute. It's all just made up nonsense designed to protect the big boys who can afford the fancy lawyers anyway.
The rest of the post is mostly about the legal angle where I'm sure you're right, but the main take-away is that these people did not really do anything morally wrong. It's just because of legal bullying that they have to be careful. So my distaste is aimed at those who perform the legal bullying and those who enable it, not at their victims.
Right, because if one wrong thing is allowed, we should allow... Other wrong things.
That sounds a lot like two wrongs making a right.
> True, in this case I feel sympathy for the poor developers who put time into making a free open source tool that brought many people joy now being harassed over something as insignificant as a license dispute. It's all just made up nonsense designed to protect the big boys who can afford the fancy lawyers anyway.
Okay. Well I feel sympathy for the poor developers who put time into making a free open source tool that brought many people joy now having their work ripped off without credit because I guess it's okay if LLM training is legal for some reason.
I mean, honest to God, how much rationalizing are we going to go through here? It's okay because LLMs? It's okay because it's free so that means plagiarism is fine? Copyright licenses are "made up nonsense"?
Marcan's response is disproportionate, I never even denied this. Doesn't really have any bearing on whether or not this libogc issue is a problem, and it is still a problem.
> Can someone explain what harm is being done by an open source non-commercial project "stealing" code? Who is actually hurt by this, and how?
It's an accusation of plagiarism. Do you not understand why plagiarism causes harm?
>The current developers of libogc are not interested in tracking this issue, finding a solution, nor informing the community of the problematic copyright status of the project. When we filed an issue about it, they immediately closed it, replied with verbal abuse, and then completely deleted it from public view.
>For this reason, we consider it impossible to legally and legitimately compile this software at this point, and cannot encourage any further development.
>fail0verflow.com: "when success just isn't an option"
? There isn't really any evidence that the original RTEMS developers are aware of this situation.
> You don't need permission to use open source code..
"Open source" on its own is just industry jargon. When you use open source code, you are copying it in accordance with an open source copyright license. The copyright license contains certain stipulations around how it is allowed to be used. For example, BSD licenses require that the copyright notice is included when using the code. IANAL but my understanding is if you omit this information even though your work is a derivative work of the original you're in violation of the copyright license.
> So there appears to be two double standards occurring at once.
You should really elaborate who is being held to what standards because I can't make sense of this.
Lawsuits are very expensive for all parties no matter what, there is clearly no intent to try to engage legal action. That has nothing to do with anything. They're trying to distance themselves from illicit behavior, including the behavior they already knew about and let slide in 2007.
(And I doubt it's being done for legal reasons, but distancing yourself from illicit behavior does matter; take a look at what happened with Citra. The case partially hinged on their responses to piracy.)
> It can be easily corrected by including these license files. Therefore nothing is blocking either project.
Tell that to the libogc developers who seem to only be interested in burying the problem rather than trying to rectify it in any way.
If you wanted to fork it and continue development you certainly could.