From Daring Fireball:
Long ago, Apple did. Apple wrote the entirety of the classic Mac OS. They had their own compiler, their own networking protocols, built computers using Apple’s own proprietary peripheral ports. Originally, they had to, because the ’80s were a proprietary era. But by the ’90s, that “let’s do everything ourselves” mindset nearly killed the company. The biggest difference between the old Apple regime and the new post-NeXT-merger Steve Jobs regime is that Apple now focuses on just a few things. Wherever possible, Apple now builds on open source. BSD and GNU userland tools in OS X. GCC compiler, Apache web server, open source scripting languages like Perl, Python, and Ruby.

It's another interesting read. The upshot is that Microsoft spent years rewriting Hotmail to move it from BSD to Win2k. Could they do the same to Yahoo if they buy 'em? Who writes an OS on their own anymore?

Now I could bring up that even Internet Explorer isn't MS's own code, so they certainly understand "borrowing" as much as Apple does. In fact, Windows could be considered, at least until this latest version (which I'll admit I don't know as much about) something similar -- remember when XP borrowed heavily from NT instead of 98 et al? The idea was that there were a number of codebases, and MS picked the one that made the most sense given their current developers and in-house familiarity.

And man, the "classic" Macintosh OS? What a hack. The static memory addresses get me. I still use OS 9 daily, mostly for what I assume is an extremely secure OS for coffeehouse browsing and emailing (not the email itself, but from an attack point of view), but having to remember what you opened first and how to close it back down drives me crazy. And if one app fails, well, PA-BLAM!!! You're hard-resetting.

Yet when businesses borrow for their applications, they often find themselves in trouble. I recently worked with a site that used CakePHP for no really good reason other than developer familiarity, and even then I believe the developer was using the project as an opportunity to get familiar with the tech. Why not roll your own php site? Why not have your own code? Reminds me of all the .NET DataGrid posts I wrote for this site back in the day. The first 50% is 300% easier. The last 50% is 3000% tougher.

I'd rather know what's in there, myself. It's just that OSes, I wager, are getting complicated enough that there's really no good reason to rewrite kernals. That's exactly -- and all -- Apple stole, give or take. Aqua, etc, all in-house. It's just that, unlike MS, Apple's in-house legacy code stunk. [insert smilie; I use it, dang it, daily. Beat that.]