Richard likes his current OS very much, except for one thing: it's not written by him. Bit by bit, he wants to replace the parts of his current OS with his own code. His ultimate aim is to have an identical copy of his host OS, but with his code. Maybe you prefer a different approach
Pro's & Con's
Since Richard already has a working OS, he can decide which parts of the system he wants to start working with. He could start with writing his own text editor and compiler and other userland binaries, or he could start with the kernel or device drivers. Testing the code is simple, since other parts of the OS are stable and in known working condition.
Once Richard has his new kernel ready, there are many userland programs already available.
Richard can't change the inner workings of his OS much, since it has to be compatible with the host OS. Even if he would notice bad design decisions in his host OS (which he won't, since the host is perfect), there's little he could do about it.
- DOS cloner
The DOS cloner loves real mode, BIOS interrupts and Assembler
- Windows cloner
The Windows cloner loves a GUI and the general Look and Feel and ease of use of Windows
- Unix cloner
The Unix cloner loves standards (for example POSIX, ANSI etc.), the "Everything is a file" philosophy, the shell and its tools and the X Window System. (Note that some people liking the Unix way still make innovations, so they are not simple cloners.)
Going further than Richard
Deviating from the host OS standards and creating something original.
Richard has to know the inner workings of his host OS extremely well.
Richard Theseus's opponents position
Is an OS made by copying the functionality of another OS actually a new OS at all? Greek philosophers have pondered the same questions back when family of Richard was sailing on the ship sailed by the mythic Greek hero Theseus.
- GNU and xv6 (both cloning Unix)
- ReactOS (cloning Windows)
- FreeDOS (cloning MS-DOS)
- Haiku (cloning BeOS)