7 ms·
Microsoft would not be happy if somebody would create an "open-source port based on the Windows machine/assembly code"...
by pulse7 5y ago
Microsoft would not be happy if somebody would create an "open-source port based on the Windows machine/assembly code"...
- fsflover 5y agohttps://reactos.org https://reactos.org
- kwhitefoot 5y agoAs far as I know the ReactOS team does not disassemble Windows. "Is ReactOS legal? Yes. ReactOS is fully legal. Developers (devs) have not looked at Microsoft Windows™ source code. They have used the public documentation of Microsoft Windows OSes. They have made several tests to understand how Microsoft Windows works. In fact, ReactOS does the same things that Windows does but it does it differently as we don't have the same source code and it is all programmed by different developers. All code in ReactOS is released under the GNU GPL (General Public License). Is ReactOS based on Microsoft Windows™ original source code? No! ReactOS consists only of clean-room engineered GNU GPL (General Public License) and GPL compatible licensed source code. " https://reactos.org/wiki/ReactOS_FAQ#Is_ReactOS_legal.3F https://reactos.org/wiki/ReactOS_FAQ#Is_ReactOS_legal.3F
- nathell 5y agoReactOS isn’t based on disassembly of the original Windows code. It’s based on publicly available documentation of Windows APIs (and reverse engineering those that aren’t documented, but that’s a whole different beast from disassembling). In fact, ReactOS maintains a policy to prevent proprietary Windows source code (whether leaked or otherwise) from making its way to the ReactOS codebase [0]. When Windows source code leaked, in 2006, ReactOS did a complete codebase audit to ensure that it was not tainted. [0]: https://reactos.org/intellectual-property-guideline/ https://reactos.org/intellectual-property-guideline/
- selfhoster11 5y agoIt's not based on any Windows binary code, or the project would be forever poisoned with respect to copyright. They actively prevent anyone who has seen the Windows source code from working on the project.
- edgyquant 5y agoReact OS has come under fire before, and been audited, for including windows code[2]. Also the project would not be poisoned with respect to copyright, according to US law. > Clean room design is usually employed as best practice, but not strictly required by law. In NEC Corp. v Intel Corp. (1990), NEC sought declaratory judgment against Intel's charges that NEC's engineers simply copied the microcode of the 8086 processor in their NEC V20 clone. A US judge ruled that while the early, internal revisions of NEC's microcode were indeed a copyright violation, the later one, which actually went into NEC's product, although derived from the former, were sufficiently different from the Intel microcode it could be considered free of copyright violations.[1] 1. https://en.wikipedia.org/wiki/Clean_room_design https://en.wikipedia.org/wiki/Clean_room_design 2. https://www.linux.com/news/reactos-suspends-development-source-code-review/ https://www.linux.com/news/reactos-suspends-development-sour...
- wk_end 5y agoReactOS has not "been audited" because they came "under fire" for including Windows code as your post implies - they chose to audit themselves to ensure that they were free of Windows code (they were), to be safe, and for the optics: so that observers see that they're serious about being safe.
- edgyquant 5y agoReactOS was audited, it doesn’t matter if they agreed to it. The fact is that an engineer claimed it had copied windows code and it had an assembly function believed to be taken directly from windows. The reason I mention it is that this thread has been claiming it’s illegal to study and rewrite disassembled code but that isn’t the case. It’s illegal to copy it but clean room implementations depend on disassembling code and documenting it allowing for another person to then do the implementation. Im definitely not taking shots at ReactOS here, I’m on their side and am fascinated with the project. You’re right I should have been clear that they shut down and has themselves audited instead of risking a court battle but I don’t think the difference matters much, either way they were gonna have a code audit to disprove these allegations. But in regards to them, there’s a lot of wrong information floating around this thread. > claim was made on 17 January 2006 by developer Hartmut Birr on the ReactOS developers mailing list (ros-dev) that ReactOS contained code derived from disassembling Microsoft Windows.[25] The code that Birr disputed involved the function BadStack in syscall.S,[26] as well as other unspecified items.[27] Comparing this function to disassembled binaries from Windows XP, Birr argued that the BadStack function was simply copy-pasted from Windows XP, given that they were identical. Alex Ionescu, the author of the code, asserted that while the Windows XP binary in question was indeed disassembled and studied, the code was not merely copy-pasted, but reimplemented; the reason why the functions were identical, Ionescu claimed, was because there was only one possible way to implement the function https://marc.info/?l=ros-dev&m=118775346131654&w=2 https://marc.info/?l=ros-dev&m=118775346131654&w=2 https://en.wikipedia.org/wiki/ReactOS#Internal_audit https://en.wikipedia.org/wiki/ReactOS#Internal_audit
- throwawaylinux 5y agoNo, 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...).
- drran 5y agoM$ is happy to copilot open-source code into their codebase.
- cube00 5y agoRules for thee but not for me.