5 ms·
A bit of an aside: > "Clean-room design" was an underhanded way to legally reverse engineer and clone a competitor's product. It works like this: engineer A pr
by BaseballPhysics 5y ago
A bit of an aside:
> "Clean-room design" was an underhanded way to legally reverse engineer and clone a competitor's product. It works like this: engineer A produces a specification after studying the competing product, a lawyer signs off on the spec not including copyrighted material, and engineer B re-implements the product from the spec A created. A and B have the same employer, but since they're not the same person there's technically no copyright infringement. This technique was used during the fiercely-competitive market rush of early personal computing.
What a weird way to position this.
There's nothing "underhanded" about it. There is literally no copyright infringement in this case. It's pure reverse engineering as is done in many other industries and fields.
And the outcome is increased interoperability and improved competition by eliminating artificial barriers of entry in the market. Without it, the computing world would be a very different place, and I doubt anyone would like it.
In fact, the market was far from "fiercely competitive" prior to the IBM BIOS being reverse engineered. Before that work was done, IBM basically had a lock on the PC market. It wasn't until the clone rush of the 80s that prices came down and computing became accessible to everyone. Hell, IBM valued that near-monopoly so much they introduced the MCA bus in the hopes of locking the PC back down. Fortunately their competitors succeeded in establishing open alternatives, including PCI and so forth, and the rest is history.
I wonder how this author feels about the Google v Oracle lawsuit regarding Google's reimplementation of a bunch of core Java APIs...
- teh_klev 5y agoEISA was the rest of the industry's middle finger response to IBM's MCA: https://en.wikipedia.org/wiki/Extended_Industry_Standard_Architecture https://en.wikipedia.org/wiki/Extended_Industry_Standard_Arc... As a former field engineer I was glad to see the back of MCA.
- BaseballPhysics 5y agoAh! Thank you! I knew PCI was a later standard, but I'll be damned if I could remember the one that preceded it...
- ahartmetz 5y agoIn the mass market, that would be VESA Local Bus ;)
- niels8472 5y agoI recall vesa was only used for graphics cards. There was ISA and extended ISA for the rest (like modems and sound cards).
- teh_klev 5y agoVESA Local Bus supplemented ISA. It did mostly see use as a graphics card expansion slot, but you could get various I/O cards. I saw a couple of boards in my lifetime that had those slots, thankfully didn't need to support them.
- smhenderson 5y agoI seem to remember Windows 95 and the quest for "plug 'n play" being what pushed the PCI standard into wide spread use. Basically the first standard that didn't require all the tedious mucking about with IRQ's, DMA and I/O Ports. IIRC it was considered fashionable back in the day to install a card, wait for it not to work and then make a joke about "plug 'n pray" before finding an older, ISA card and getting it to work by setting the jumpers correctly.
- mcguire 5y agoHey! Some of us remember the microbus fondly! :-)
- teh_klev 5y agoI was fully ticketed by IBM as a field engineer, but it still didn't make me like Microchannel any better :)
- 99_00 5y agoThere is no copyright infringement when an engineer studies a competitors product and pretends that their design is independent? I don't know if this is a real thing or not (I can see it being real in smaller companies, but incompetent when it comes to these things so what do I know), but that's the case described.
- allturtles 5y agoCopyright is the exclusive right to a particular creative expression, traditionally text. If you recreate the same functionality as another program without copying its text, there is no copyright violation. There may be patent infringement, but that's another matter.
- BaseballPhysics 5y ago> There is no copyright infringement when an engineer studies a competitors product and pretends that their design is independent? So long as no actual code was copied, no, there isn't. An independent re-implementation of an API/interface/whatever for the purpose of interoperability is perfectly legal. This explains the clean-room approach, as it ensures that the developer re-implementing the functionality has absolutely no access to the original code, thus making it impossible for them to engage in copyright infringement (BTW, if you want to watch a fantastic dramatization of this, go watch Halt and Catch Fire. I love the show for a lot of reasons, but their dramatization of the reverse engineering of the PC BIOS was just... so good). This is why, for example, LibreOffice can go ahead and implement their own Word doc implementation without worrying about Microsoft suing the pants off of them. It's also why Wine is perfectly legal (though not without controversy when developers have tried to take shortcuts). Heck, we wouldn't have AMD if this type of thing was illegal! AMD got into the microprocessor market by, yup, reverse engineering the Intel 8080 and cloning it: https://en.wikipedia.org/wiki/AMD_Am9080 https://en.wikipedia.org/wiki/AMD_Am9080 > It was originally produced without license as a clone of the Intel 8080, reverse-engineered by Ashawna Hailey, Kim Hailey and Jay Kumar by photographing an early Intel chip and developing a schematic and logic diagrams from the images.
- asdff 5y ago
- mtVessel 5y agoSomething 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'?
- musicale 5y ago> IBM BIOS being reverse engineered I assume "clean room" BIOS implementations were important to avoid copyright infringement claims since the BIOS source code was actually provided by IBM in the system's technical reference manual (similarly to other systems of the time): https://retrocomputing.stackexchange.com/questions/12018/why-did-ibm-make-the-pc-bios-source-code-public https://retrocomputing.stackexchange.com/questions/12018/why... Shame that modern vendors don't provide their system firmware source code.