3 ms·
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/
by throwawaylinux 5y ago
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 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.
- dotancohen 5y ago> 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.
- skywal_l 5y agoYes, 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.
- teddyh 5y ago> 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.
- illys 5y agoRight... 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...).
- lodovic 5y agoI think you mean Compaq who created a clean-room implementation of the IBM PC BIOS.