Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No, but it's possible to write a specification based on the disassembly, and then write an implementation based on the specification.

https://en.wikipedia.org/wiki/Clean_room_design

Apparently that may not be strictly required either, but it gives a good defense. I think I could disassemble a blob to figure out what the possible behaviors of a WinAPI call and then write my own implementation of those things.

Microsoft might bankrupt me before I won a court case, but there is nothing in copyright law as far as I know that says reading a copyright work forever contaminates your mind such that you would be incapable of creating a vaguely similar thing without infringing on it.



  > No, but it's possible to write a specification based on the
  > disassembly, and then write an implementation based on the specification.
Critically, the disassembly and spec should be done by one person, and the implementation by another.


Yes, that's what they mean by "clean room" implementation. The implementer should not be "polluted" by the previous implementation. This is what Microsoft did when they revert engineered CPM and created DOS.


> This is what Microsoft did when they revert engineered CPM and created DOS.

Um, Microsoft bought (what was then called) 86-DOS outright from another company, and ported it to the 8088 CPU used by the original IBM PC.


Right... But there is nearly (no?) work to port from 8086 to 8088. The work was to adapt to the underlying IBM system calls (BIOS) and to the specific wired electronics (video card, DMA, mass-storage media, clock, keyboard...).


I think you mean Compaq who created a clean-room implementation of the IBM PC BIOS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: