Quote from macroman:
in my it career i have seen same work done for sub 1m and also 100M+. Difference is in people involved.
Example :
a.) excellent knowledgable programers: we can modify existing software with this and that and reuse 90% (that already works) having all the benefits.
b.) not that good programmers : we cant reuse it, cant be done, have to build from scratch.
And you have 100 factor. Or more. Including risk of complete failure in option b.
Wouldn't disagree with that as a general principle at all.
Modern operating systems have simply become huge. Just the Linux device drivers would be an immense job to replicate. Then there are how many different file systems? Filesystems are not easy to develop. Then there's all the GNU user space stuff, X11, KDE etc etc etc. It might not be that much of a big deal to knock together a bit of a kernel, but to replicate the broad functionality of Linux in all new code - the job would be just huge.