All the publicity that Linux has enjoyed recently has brought the term open source into the technical public's eye. Open source really isn't a new idea—in fact, it's one of the oldest ideas in computing. But now that the industry is reexamining the notion, let's look at whether open source, or at least a modified version of it, could make sense in the Windows NT world.
The open-source folks argue that simply shipping a software program's binaries (the .exe files) and keeping the source code secret is a bad idea from the consumer's and even the vendor's point of view. If you purchase a program and find a bug in it, all that you can do is report the bug to the software vendor and hope that the vendor will fix the bug in a future release. But if you have the source, you can fix the bug yourself (or, more likely, hire a programmer to fix it) so that you don't need to wait for the vendor's fix. Really ambitious customers who need a new feature in the software could add that feature rather than simply hope that the vendor would recognize the need and implement the feature sometime in the future. Even software vendors win, because they get the benefit of all of those customer-developed fixes. When vendors find customer-provided fixes that are good, vendors can release the improved product to other customers.
Of course, open source has some obvious disadvantages. Microsoft spent millions and possibly billions of dollars developing Windows 2000 (Win2K). So, the company would naturally be leery about revealing the Win2K source code for fear that others might simply reuse—steal—pieces of it from the product without offering Microsoft compensation for its efforts. That's certainly a risk, and I don't want to minimize it. But keeping the source closed might limit Win2K and NT's eventual potential market.
Keeping the source closed does make some sense when the source protects some original high-tech ideas that the competition hasn't previously offered or even thought of. But, although Win2K certainly has a lot of increased functionality compared with its predecessor NT, very few ideas in Win2K are really new. Active Directory (AD) is Microsoft's response to Banyan's, Novell's, and UNIX's use of big user directories. Many of Win2K's support tools are nice but, again, not new: Offline Files looks a lot like Sun Microsystems' Cache FS cache file system, Remote Installation Services (RIS) is a tool similar to Norton Ghost, and disk space quotas have existed on just about every network OS except NT for years. I'm not criticizing what Microsoft is doing with Win2K; I'm simply saying that Microsoft's main task in building Win2K seems to have been to incorporate other firms' ideas and technology into NT—in other words, to provide better service to customers by giving them what they want.
Now imagine a time in the not-too-distant future—if we're not there already—when every major network OS vendor has implemented most of the good networking ideas. How will customers decide between products then? On the basis of quality of service, I'd guess. A version of NT accompanied by the source code would let customers either buy support from Microsoft or simply fix the code themselves.
In that possible future in which service options and service quality drive OS choice, OSs with openly available source code would naturally end up with more (and probably better) support options than a competing closed-source product would. And that better support would likely lead to a larger market share for the open-source OS.
Sound like a crazy idea? Here's another one. Revealing the Win2K source code at this point in the product's life cycle would clearly be a risky venture for Microsoft. But now that Win2K is replacing NT 4.0, why not continue to sell NT 4.0 as an open-source product? Microsoft could simply stop working on NT 4.0 but continue to distribute the OS with customer-created fixes and enhancements. This approach would be a low-risk way to experiment with open source in the NT world.