4 ms·
Something I've never understood is the requirement to have separate people doing the design and the implementation. How does that provide greater legal protect
by mtVessel 5y ago
Something I've never understood is the requirement to have separate people doing the design and the implementation. How does that provide greater legal protection than one person doing the design, a lawyer signing off on it, and that same person doing the implementation?
- dkarl 5y agoThe person doing the design studies the original product and will likely gain incidental knowledge of how the original product is implemented. The person doing the implementation ideally has no exposure to the implementation of the original product, so they can't copy the original, not even subconsciously.
- BaseballPhysics 5y agoAnother way to look at this is: what would a judge believe? Software developers independently come up with the same solution to common problems all the time! We even have names for it: algorithms, design patterns, etc. If the same person both reverse engineers an existing implementation, and then writes a new one, then that kind of incidental duplication could look like copyright infringement, and the only defense is the developer saying they didn't do it. That's pretty tough to prove. A clean-room approach solves this problem. Parallel re-invention of the same solution can easily be proven because the developer genuinely never saw the original implementation in the first place, and a lawyer examined the reverse engineered specification to ensure no copyrighted material was contained therein.
- asdff 5y agoSo I'm still struggling to get this. Why can't you just directly design and implement sans copywrited material? How is that different than designing without copywrited material then having someone else an employee B do the implementation without the copywrited material. Does this method somehow let you use copywrited material? How would engineer B even know about the copywrited material in that case if they are supposedly 'blind'?
- BaseballPhysics 5y agoLet's use a specific(ish) example. Suppose I've developed an API that has a few function calls: void foo(int) int bar(char **) char *baz(float) I have then written a bunch of code that defines my specific implementation of 'foo', 'bar', and 'baz'. That specific implementation--my specific code--is subject to copyright and no one is allowed to copy my code and use it without my express permission. And that includes obvious things like copying the code and obfuscating what you did via renaming of variables and so forth. But suppose you want to implement your own compatible version of that API so that someone else can use your library instead of mine. To create your version you decompile the code and you see that the API is composed of those three functions 'foo', 'bar', and baz'. You then read the decompiled versions of those functions and you see what they're logically doing. You absolutely can then go away and write your own version of this API! As long as you don't literally take copies of my code and just go write 'foo', 'bar', and 'baz' in a way that semantically does the same thing, then you're safe! However, suppose 'bar' is a simple in-place sort, and you and I both implement a standard quicksort to do the job. Sure, you wrote yours totally independently of me, but I could still go to a judge and claim that, no, you copied my version! Your copy of 'bar' is in fact a copyright violation because you just stole my code! How would you prove otherwise? So instead, what we do is get a third party. Their job is to read the decompiled versions of 'foo', 'bar', and 'baz', and then write down a totally independent specification that describes how those functions work, but doesn't contain any of the code. To be extra safe, we even get a lawyer to read the resulting specification and certify that, indeed, no copyrighted code is present. Then we hand you the specification, and you use that specification to implement 'foo', 'bar', and 'baz'. Now, the specification might say 'bar is an in-place sorting function', and so you go ahead and implement your own version of quicksort. But now, when I claim you copied my code, you can go to the judge and say "Au contraire! I worked strictly from this specification, here, that my lawyer has verified contains no copyrighted code. The only person that actually read the code is that guy over there points dramatically to the audience and he didn't write any of the code." This provides a much much stronger defense that your implementation cannot possibly contain illegally duplicated, copyrighted code, and that any similarities are entirely incidental. Yes, this whole thing probably seems like a crazy dog and pony show, but when you're a little upstart company like Compaq going up against the behemoth that is IBM, you can be damn sure you're gonna dot all your i's and cross all your t's, because they will send an army of lawyers your way, and it won't be pleasant.
- bdowling 5y agoIndependent creation is a defense to copyright infringement, but only if the accused did not have access to the original work. In the BIOS cases, this means that the implémenter can produce the exact same assembly code as the original BIOS and it’s not copyright infringement, but only if the implementer never saw the original code.
- dragonwriter 5y ago> Independent creation is a defense to copyright infringement, Yes. > but only if the accused did not have access to the original work. No, but the accused having access to the original work makes it less likely that a trier of fact (jury or judge depending on the kind of trial) will conclude that the creation was independent rather than copying.
- bdowling 5y agoYou’re right. I should be more careful about using “only if”. Practically, however, access to the original will probably defeat the independent creation defense.
- mcguire 5y agoThe person doing the specification has been "contaminated" by the original's documentation and product; it's possible to argue that they carried over knowledge directly from the original product. The lawyer in the middle establishes a firewall ensuring nothing was taken from the original outside of the specification. I don't know of any actual cases that hinged on this, but lawyers tend to be belt-and-suspenders types. One remnant is the advice from the GNU folks on building clones of Unix tools---you could even be tainted by looking at the Unix source, as long as the clone was architecturally very different. (Which led to a lot of better implementations of Unix tools...)
- not2b 5y agoIt's an extra precaution: it guarantees that the people who are doing the implementation never see the original copyrighted work, so copying is impossible. If the same person reviews the product being cloned, writes a spec, has it reviewed, and does the implementation, the other side can argue that knowledge that was not in the spec was used in the development. They might or might not succeed in this argument, but cautious companies firewall off those who have seen the original product and those who develop the clone, especially if the competing company has a litigious reputation.
- therealcamino 5y agoIf you've never read "Lord of the Flies", you'll have an easier time convincing people that your new book about a bunch of shipwrecked boys doesn't infringe its copyright.
- matheusmoreira 5y agoYou can't possibly have infringed copyright if you never touched the copyrighted material yourself. So companies have other engineers examine that material and produce documentation that you can use to write code. A simple layer of indirection between developers and any legally toxic material. This is just a popular method to increase the likelihood of success in the event of lawsuit. It's not actually standard, required or anything of the sort. It certainly doesn't prevent competitors from suing you anyway and burning your time and money in court. They can also be awarded an injuction that stops you from making money until the courts decide who's right. Sony vs Connectix is an example of a company that directly reverse engineered firmware and still won in court but still lost in the market due to an injunction. https://en.wikipedia.org/wiki/Sony_Computer_Entertainment,_Inc._v._Connectix_Corp https://en.wikipedia.org/wiki/Sony_Computer_Entertainment,_I.... > the PlayStation firmware fell under a lowered degree of copyright protection because it contained unprotected parts (functional elements) that could not be examined without copying. > While Connectix did disassemble and copy the Sony BIOS repeatedly over the course of reverse engineering, the final product of the Virtual Game Station contained no infringing material.