Recently I wrote a short piece making a strong and general claim that the same forces that are pushing data towards XML are pushing software towards Open Source. There was an interesting and well-written pushback from Microsoft’s Joe Marini. I think that, as Joe says, there are places in software where secrets make business sense; but we disagree as to where they are.
Joe takes as a case study his experience when working at Quark, in particular their success at beating Aldus PageMaker on the basis of delivering more features faster, and argues that this “would have been for naught” if Aldus had been able to see the source code and replicate the features.
I completely disagree with this case study; in particular, I think that Quark could have been open-source all along and still crushed Aldus just as effectively.
ESR and Joel · If you’re going to talk about the economics of Open Source, you really should start with Eric Raymond’s The Magic Cauldron. I disagree with Eric about a range of subjects ranging from polyamory to gun control, and I always thought the Cathedral/Bazaar metaphor was too strained for longevity, but The Magic Cauldron is, I think, mostly right, and those in arguments about Open Source and business would benefit from having read and thought about it.
Eric goes to great lengths to characterize when secrets-based practices in the software business make sense. I won’t reiterate his arguments, but I don’t think features in page-composition programs hit the closed-source sweet spot he describes. (In particular check out his appendix on why it’s never smart to do device drivers in closed source.)
Another piece that’s relevant here is Joel Spolsky’s Things You Should Never Do, Part I, which contains the obvious but often-overlooked finding: It’s harder to read code than to write it.
So, practically speaking, Joe Marini, if you’d published the source code for all those features in Quark 3.0, and some manager at Aldus had told their developers to snag the code and replicate it, they would have said two things:
OK, which of the features we’re now working on do you want us to back out so we can work on the Quark features instead?
Tim Gill is a #$!!%** and the whole architecture of Quark is a !#!)($* piece of $*^*%!@ and 100% incompatible with PageMaker, if you want that feature it’d be way quicker and better to just build it from scratch.
(The point about incompatible architecture is right, by the way; by analogy, if the OpenOffice guys could download all of the Microsoft Office source code tomorrow, it would probably slow them down more than help them.)
Put another way, Quark beat Aldus because they had the talent and focus and engineering and product management to figure out what people needed and build it and ship it, first and fastest. Not because they kept secrets.
Now obviously, you don’t want to tell the world what features you’re building before you ship them. But once you’re shipping the product, the secrecy loses its value fast.
Secrets Where? · Eric, to be fair, gives two examples of where being closed-source made sense: some timber-cutting process control outfit in Canada, and the early releases of Doom. So, let me do the same, and since this is a Macintosh on my lap, I’ll put my finger on two pieces of Apple technology that benefit from being (for now) closed-source: Aqua and the video part of iChat. Both of them contain some magic that nobody else has figured out how to do yet, and if they can figure out how to make a few bucks in the gap before the world catches up, more power to ’em. (Mind you, the underlying OS is already open, and I’ve argued that opening up some of the apps would be all upside for Apple.)
Closed source isn’t over or anything like that. It’s just headed for a niche role, business-wise.