4 ms·
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 sof
by arghwhat 2y 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.
- AshamedCaptain 2y 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).
- MyOutfitIsVague 2y 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.
- ThatPlayer 2y 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.
- thescriptkiddie 2y ago> 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
- ThatPlayer 2y agoCould you explain why not? That's exactly the kind of thing a mechanical license would give: the right to cover a song. The difference with music is by law they have to let you obain a compulsory mechanical license.
- matheusmoreira 2y agoSony Computer Entertainment v. Connectix Corp. > 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.
- 2y ago
- amiga386 2y agoCopyright 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.
- arghwhat 1y agoTo be clear, a derivative work is copyright of the one creating the derivative, not the original author. 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.
- AshamedCaptain 1y agoI really do not know what you're trying to nitpick here, but note that if you create a not-original-enough derivative work (which is what is happening here), you will not have any copyright whatsoever. Neither you nor the original author. Binary decompilation is also the textbook definition of a "simple translation". It is almost always done with a mathematical formula aka algorithm and the resulting program is not only identical in observable behavior to the original one, it is also identical in the non-observable behavior (I.e. bit by bit identical on-memory data structures). The chance that you can end up with such identical program without looking at the original one is zero for anything but the most trivial programs. Licenses are also almost totally irrelevant (even in this context) and for most software they are only enforceable by copyright anyway (e.g. the temporary on memory copies to load the program). I do not understand what to see here that even has a hint of originality. This is why clean room is super important, even if not strictly necessary: it goes a long way to convince that the implementations do not come from the same source even if they are related.