Live data from Hacker News

Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

github.com

111–120 of 169 posts

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#111

Earlier quoted context omitted.

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.

How could one ever prove that a solution was clean-room? For example I would consider the oman leak to taint all development of N64 in existence. Even if someone didn't personally look at it, they most certainly got information from someone else that did.

Lawyers, discovery, and a courtroom. The reason clean room works out is due to various lawsuits on the topic as a matter of law.

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

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#112

Earlier quoted context omitted.

How could one ever prove that a solution was clean-room? For example I would consider the oman leak to taint all development of N64 in existence. Even if someone didn't personally look at it, they most certainly got information from someone else that did.

Lawyers, discovery, and a courtroom. The reason clean room works out is due to various lawsuits on the topic as a matter of law. 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

To me this still means "there IS no way". You can get sued and convince a judge you didn't do it, sure, but that's not necessarily 100% accurate, and also probably extremely unlikely to happen anyway in most cases. And you'd be surprised how easy it is to fake evidence with no way to prove otherwise. Plus all that still requires going to court.

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#113

Earlier quoted context omitted.

The opinion that parent was expressing is much the same as the motivation behind the Principles of Community-Oriented GPL Enforcement[1], which are endorsed by all the GPL enforcement initiatives. 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 softw…

> excessive litigation could disincentivize people from using free software > 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 th…

> 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.

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.

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#114
post #60

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…

> 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.

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#116

Earlier quoted context omitted.

Lawyers, discovery, and a courtroom. The reason clean room works out is due to various lawsuits on the topic as a matter of law. 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

To me this still means "there IS no way". You can get sued and convince a judge you didn't do it, sure, but that's not necessarily 100% accurate, and also probably extremely unlikely to happen anyway in most cases. And you'd be surprised how easy it is to fake evidence with no way to prove otherwise. Plus all that still requires going to court.

Generally one has two sets of developers, one doing the RE work, and one doing the new implementation, and the only way you allow them to communicate is through documentation of the reverse engineered implementation. Should this go to court, you can walk each member of each group in to testify, and show off the stacks of documentation produced in the process.

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#117

Earlier quoted context omitted.

How could one ever prove that a solution was clean-room? For example I would consider the oman leak to taint all development of N64 in existence. Even if someone didn't personally look at it, they most certainly got information from someone else that did.

Lawyers, discovery, and a courtroom. The reason clean room works out is due to various lawsuits on the topic as a matter of law. 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

> Lawyers, discovery, and a courtroom

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".

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#118

Earlier quoted context omitted.

> excessive litigation could disincentivize people from using free software > 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 th…

> 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. 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.

Lopez v. Electrical Rebuilders, Inc., 416 F.Supp. 1133, 1135 (C.D.Cal.1976). Acquiescence, with full knowledge in the publication of a vast number of copies without copyright notice, may work a forfeiture.

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.

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#119

Earlier quoted context omitted.

Would you accept any definition of harm short of money being lost or someone beating you with a club?

So far I'm just waiting for any definition.

I'm more curious what your definition of harm is.

(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.)

Re: Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS

#120
post #58

This is a strange accusation. The repo linked as proof ( https://github.com/derek57/libogc ) consists of over 100 commits meticulously converting the libogc codebase to look more like the RTEMS codebase, and claiming that's enough proof that it's the same codebase. I wonder if it'd even build, or if those changes didn't break anything? Regardless of whether there's any truth to this anonymous accusation, this doesn't…

> 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. 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'…

I looked for other examples in the code and found __lwp_thread_changepriority pretty damning, judge for yourself:

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.

Post reply on HN