Hello Mountain_Myst,
Well don't you agree that in order to build an enviornment that acts exactly like another OS, you would actually have to look at origional code in order to understand how that OS works?
If this were not the case, how would you get your enviornment to run all the software that runs on that OS?
I'm in contact with the OpenBeOS Team which are exactly doing what you say: An OS that look exactly like BeOS and is fully source and binary compatible with.
I can tell you they don't use the BeOS sources at all and they can't as they can't have them. They simply use the BeOS Bible and lot of the other developpers documentation of BeOS.
You know how work an OS. The apps to communicate with the system use the OS APIs. What are APIs? It's an amount of tools/functions you use in your program to use some system services.
And for that you use the OS includes which are publicly available developpment elements (For Amiga int he Native Development Kits (NDK)). What are there is the OS includes?
- The tools/functions names
- The arguments they take
- The result returned
Even with just that you can reimplement an API. As you just have to recreate a program that have the same tools/functions with the same names, taking the same arguments and returning the same result.
Additionally if you don't really understand enough how the tools/function(s) work(s) to reimplement them, there are all the public development book (like the Rom Kernel Manuals) available that are explaining better what the purpose of each functions. All this together is far enough to reimplement APIs of an OS and so make a compatible OS with the original one.
I've seen proof of that many times, mainly in the BeOS world (with all the BeOS clones actually developped) and of course also in the Amiga world with AROS and MorphOS. If you want to check about OpenBeOS that they didn't use the sources of BeOS, just email them about that, you can find an email address in
http://www.openbeos.org/Regards