Tim Bray finally got around to responding to my essay rebutting his Let’s-Open-Up-Everything argument. He makes some good points, but then he inexplicably ends up acutally making my argument for me (which I’ll get to in a moment). Since he gets a few things wrong, I’m going to have to bring out the cluestick and address his points one by one.
First, Tim erroneously states that my argument was based on the premise that Quark "beat Aldus PageMaker on the basis of delivering more features faster". That’s actually not what I said – my point was that Quark was able to beat PageMaker because we were able to solve some very difficult programming problems that Aldus would have had to invest money and time in figuring out as well. Let me give you a specific example: Quark had figured out how to allow text that had been flowed around page objects to be typed on a curved path while remaining editable, and do it in a very fast and responsive fashion. This was a big deal back in 1991, and Aldus had not been able to figure this feature out.
Had they been able to just look inside the Quark source code, they could have simply skipped the part about investing money in hiring smart programmers to solve this problem for them and just figured out how Quark did it, and then go and implement the same solution in PageMaker. Which brings me to Tim’s next point:
Tim says:
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:
Well, gosh, Tim Bray, I guess that, practically speaking, the manager would have answered by saying "well, just implement the feature that Quark is using to absolutely put the smackdown on PageMaker in the market." In that case, the developers would have panicked, because they would have realized that they didn’t have the expertise to do this.
Tim’s other alternative is:
Well, yes, Tim, assuming that they could in fact build it from scratch. There’s just one small problem – they didn’t know how. And you know what? Aldus never did get around to implementing that curved-editable-text feature in PageMaker.
Tim goes on to draw the conclusion that "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." Which is absolutely, dead-on wrong. Quark was able to beat PageMaker because Quark had solved hard problems that Aldus was unable to solve, and Aldus had nowhere else to turn to in order to get the answer before Quark just rolled over them.
But the real head-scratcher of a moment came when Tim said: "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."
Let me see if I have this right: Apple is allowed to benefit from "creating some magic that nobody else has figured out how to do", but Quark isn’t? Macromedia, Adobe… they’re not?
This is what I mean when I say that some things are meant to be secret. If you’ve got the answer to a puzzle that nobody else has, and you were able to get there by using your own noggin, then you should be allowed to benefit from it.
Secrets have benefits, plain and simple. Otherwise, why don’t companies like Adobe, Macromedia, Quark, Jasc, Microsoft, Interwoven, Antarctica, Salesforce.com, etc. just open up their source code? Do you think that these companies are run by stupid people? Do you think that these companies don’t understand how to create viable, innovative businesses?
Open source clearly has its place in the world. I’m not arguing that point at all. Companies like JBoss are obviously doing something right, but their advantage is not in the technology that they develop. It’s in their services model. Shrinkwrap software simply does not conform to a services model in many cases.
Copyright © Joe Marini. All rights reserved.
For information about how to obtain permission to re-publish this material, please contact us at [email protected].