ReactOS and TinyKRNL projects' official relationship
Prepared by Aleksey Bragin and Alex Ionescu, Project Coordinators.
There is a little information posted officially about TinyKRNL project and this provides a base for gossip to appear. This short article is intended to clear up official relations between these two projects.
TinyKRNL is an educational and documentation project which creates plug-in replacements for various modules of Windows 2003 SP 1 (ultimately replacing the kernel too) and a series of papers ultimately combined into a book. The methods used for development of TinyKRNL’s modules source code involve all possible methods of achieving the end result of having a 100% compatible (or even identical) result. Reverse engineering is one of them (mainly so-called ‘dirty’ way, for further reference see Wikipedia’s article about clean room reverse engineering vs. dirty room reversing).
Unfortunately, due to copyright laws and other law-related stuff, ReactOS (which aims at commercial usage too) can not directly utilize methods of development like dirty reverse engineering, and thus ReactOS can not share all code with the TinyKRNL project like we are sharing code with WINE.
However, there are some very useful exceptions:
- Firstly, all interfaces are shared. This gives ReactOS project an unbeatable level of compatibility and legal freedom too (interfaces can not be copyrighted).
- Secondly, the great thing is that TinyKRNL will provide the most complete documentation of the most recent and technically advanced version of a released NT-famility operating system – Windows 2003 SP1. ReactOS developers can use this documentation for reference when creating a clean implementation of functions or improving already developed code.
- Thirdly, any code in TinyKRNL which respects the ReactOS policies regarding development can directly be added into ReactOS, as well as any build tools or 3rd-party files.
For more detailed information regarding TinyKRNL project, please look at http://www.tinykrnl.org. We also encourage you to signup on the TinyKRNL . We also encourage you to signup on the TinyKRNL development Mailing List by sending a blank email to firstname.lastname@example.org as well as joining the #tinykrnl channel on the same IRC server as #reactos; many of the ReactOS developers and users are usually present and discuss interesting and challenging kernel issues as well as general off-topic chat.