May 8th, 2005


So according to eweek, Microsoft is "reaching out to open source developers"...,1759,1791100,00.asp

Let's follow the bouncing ball, shall we?

Microsoft loves open source. They do. They hate the GPL, but they love BSD-licensed open source. Microsoft's network stack came from BSD, and they would love to encourage more people to write code under a BSD-style license. Not only is not not a threat to them, it's an opportunity.

It's not open source Microsoft's president Steve Ballmer was calling a "cancer", it was the GPL. BSD has been around for a quarter centry and remains a niche, for many reasons. The biggest is that every time it gets any sort of momentum its developers are hired away.

It's not other people grabbing the code and making a proprietary fork that's the real problem for BSD. It's other people throwing $100k/year at your lead developers to come work on that closed source fork. Even when this doesn't directly stop those developers from continuing to work on the open version (through NDA's and such), working those developers 80 hour weeks so they come home exhausted makes strategic sense for the company that hired them.

That just doesn't work with a GPL project: you'd have to start over from scratch to do a proprietary version, with an enormous opportunity cost and much less benefit of hiring the developers off of the established project. (By the time your new project is up to speed, the established project has new developers up to speed. Whereas if it's BSD-licensed, you can ship your fork in a year, or less.)

Need a few high profile examples? BSD had Bill Joy hired away from Berkeley when Sun was founded, to fork BSD into SunOS. BSDi hired the next generation of developers a few years later and did their proprietary BSD. The most recent proprietary BSD fork is MacOS X. (Which is more open than most, but losing people like Jordan Hubbard was still a punch in the gut for FreeBSD. NetBSD similarly stalled at about the same time.) I didn't follow how Dragonfly BSD forked off, but I wouldn't be suprised if FreeBSD was seen has having "lost momentum" or some such...

So microsoft LOVES the BSD developers. Anybody stupid enough to write code that can just be appropriated like that is free R&D for the monopoly. Microsoft is free to fork their codebase with "must have" proprietary extensions (like proprietary audio and video streaming formats in a web browser). Then they continue to suck in any improvements the open version makes so they can never get ahead, while at the same time doing their "embrace extend and extinguish" stuff ranging from palladium to their funky proprietary xml schema. Companies were successfully doing this long before public key encryption or software patents were an option, now it's _much_ easier...

It's the GPL Microsoft is trying to fight off. They haven't changed direction there. They gave tens of millions to SCO to FUD it, which didn't work. They gave $2 billion to Sun to try to come up with an alternative "CDDL" license that allows Microsoft to license proprietary versions of the code from Sun (or just buy sun outright when the $2 billion runs out, to make the Solaris kernel the heart of whatever comes after Longhorn), and that didn't suck developers away from Linux and the GPL either.

I would not be at all suprised to see MS launch a "Use the BSD license, it's more free" campaign. That's the next logical step.


P.S. Eric Raymond pointed out that Apache is a counter-example of a BSD-licensed project that hasn't had its developers hired away to work on proprietary versions. Well, it did when https support required an export license, there were at least three "cryptographically hardened" versions of Apache out there, but this didn't suck enough developers out of Apache to destabilize the project. And the obvious reason why not? Because Apache has never emerged as the "one clear unchallenged leader". Back when the cryptographic forks were happening, Apache was one of three web servers (Netscape's server, Microsoft's IIs, and Apache) fighting in a fairly crowded market. It would be easy to add features that Apache didn't have (like https support), but there were already two other well established products out there that did that.

According to netcraft, apache only passed 50% market share around 2000, at which point nobody was going to fund a new proprietary start-up in a niche Microsoft had expressed interest in, even without taking the dot-bomb crash into consideration. The market is now a two-way race with Apache clearly leading (Netscape's web server was sold to Sun, rechristened "iPlanet", and more or less buried in a sea trench).

And keep in mind that while Microsoft's market share at the server end of things may have fallen to 20%, their share of the browser end of things is still quite dominant. Apache is willing to fight off Microsoft's attempts to leverage Internet Explorer to control the web server side of things. A proprietary start-up trying to fork apache would probably think twice about that...
  • Current Music
    Rain through the open window.