18 ms·
Yes, and reverse engineering to create specifications is done... how ? It requires examination of the only currently working implementation that we have.
by Iv 14y ago
Yes, and reverse engineering to create specifications is done... how ? It requires examination of the only currently working implementation that we have.
- aGHz 14y agoThe term "clean room" has a well established meaning you probably aren't aware of, I refer you to [1], it might clear up what the original reply was referring to. [1] http://en.wikipedia.org/wiki/Clean_room_design http://en.wikipedia.org/wiki/Clean_room_design
- Iv 14y agoI am well aware of the joke that is the clean-room process. Note that it supposes that the first team has access to the specification, source code, or any IP-encumbered indication about how the software in question works. In the case of Skype, the only public information we have is the binary.
- cooldeal 14y ago>Note that it supposes that the first team has access to the specification, source code, or any IP-encumbered indication about how the software in question works. In the case of Skype, the only public information we have is the binary. So what? That's not a valid excuse to distribute modified binaries to the public. If the "first" team wants to look at binaries to do their documentation, they can download the official Skype client from skype.com. Why do they need to download a hacked binary from Github?
- Iv 14y agoWell this decisions effectively forbids the "team A" of a clean room process to operate in the regular open source mode of distributed and public development. I understand the rationale behind it, I think it is wrong and has bad implications for the future.
- JoachimSchipper 14y agoYou are aware that clean room development is about protection from legal problems, not about solving the problem as efficiently as possible, right?
- nl 14y agoNote that it supposes that the first team has access to the specification, source code, or any IP-encumbered indication about how the software in question works No it doesn't. The Wikipeda link[1] mentions the original IBM PC clean room implementation by Columbia Data Products. It doesn't have the complete story of that, but from memory the way it worked was CDP had one team documenting how the BIOS responded to inputs, and then a totally independent team reimplementing that behaviour. Most clean room implementation don't have access to a specification, let alone source code. [1] http://en.wikipedia.org/wiki/Clean_room_design http://en.wikipedia.org/wiki/Clean_room_design
- sireat 14y agoInteresetingly enough, if you read on about more current cases it mentions Sony vs Connectix, which I thought Connectix lost, but actually the ruling was overturned on appeal. From the ruling: "Some works are closer to the core of intended copyright protection than others. Sony's BIOS lay at a distance from the core because it contains unprotected aspects that cannot be examined without copying. The court of appeal therefore accorded it a lower degree of protection than more traditional literary works." Thus one could try to make the same case for Skype.
- nuclear_eclipse 14y agoFrom my understanding, you are allowed to decompile and inspect the released binaries, as well as intercept and analyze all inbound/outbound data, as long as you aren't modifying the running binary in any fashion. Things like debuggers are commonly used for this goal, as are tools like wireshark for analyzing the traffic. Once you create a specification based on your analysis, someone can create a clean-room implementation from that spec.
- skypeopensource 14y agoExactly. Deobfuscated version just comfortable to debugging.
- tonfa 14y agoSure, but it doesn't mean you're allowed to publish a deobfuscated version...
- Iv 14y agoThis is a serious obstacle to collaborative open-source reverse-engineering.
- jlawer 14y agoYes it is, but thats where other solutions need to be met.... say a script that de-obfuscates a vanilla binary package so the output is created on the users machine vs being distributed as such. You can distribute the script and leave compliance to the end user.
- Iv 14y agoIf the result of this script is forbidden to be distributed, this could be a rationale for forbidding the distribution of the script itself. If I write a script that generates the Matrix movies from the binary file of, say, Elephant's Dream, I won't be allowed to distribute that.