I'm Taking You With Me
May 10, 2005
Baseline magazine (which has been one of my favorites almost since its first issue) has a brief piece on companies that are forming software co-ops to help reduce their development costs and share some of the burden of creating new applications.
The idea on its own is intriguing, but it reminds me of a theory I heard that, while clearly not accurate, is still so plausible as to give one pause.
The theory goes like this: Companies which have made big bets on open source software, like IBM, do so because they see the licenses as a way to share work with their competitors while guaranteeing that they all get screwed equally. Which is to say, if you're HP, you don't mind splitting Linux development efforts with IBM because you know that at least neither of you is directly profitting from the software development to any great extent, and you're ensuring a bit of independence from Microsoft along the way.
Now, to be clear, I don't think this is true. I think the people evangelizing open software at places like IBM are doing so because they believe in the ideals behind it. (Though perhaps to varying degrees of St. Ignucius-ness.) But I can definitely see a clever middle manager pitching this to a skeptical person in the legal department by presenting it as a "if I'm going down, I'm taking you with me" sort of argument. I'm not sure whether that's more damning of my cynical view of corporate manipulation or of the bad reputation many legal departments have made for themselves.
The motivation for this kind of thinking arises when you look at the code that's submitted to most large-scale open source efforts. In projects like Linux, PHP, or MySQL, the overwhelming majority of check-ins to core components come from the very small number of (mostly commercial) patrons that subsidize the efforts. In the case of PHP and MySQL, Zend and MySQL AB (respectively) contribute almost all of the code except either bug fixes or accommodations for specific third-party technologies.
That's not to dismiss the substantial contributions of any of the third-party developers that help make these great platforms, but rather to shine some light on the image that a lot of people have about how software gets developed. Lots of people who love technology, myself included, love the idea of a super-talented hacker toiling away in a dark basement to make a great world-changing app. And that's sometimes what happens, especially early in the development cycle for a tool.
But usually, the more prosaic work of scaling up a platform isn't glamorous enough to get the attention of a hardcore hacker who does it just for his peers' respect. It's more likely, these days, that it's done by a person in a cubicle, under the instructions and management of a boss, to fit a timeframe that somebody somewhere is tracking on a whiteboard. And, just as so many geeks consider it beneath them to market their work, that application or platform being created might actually be marketed by a guy in a shiny suit who has glossy brochures, instead of merely succeeding on its technical merits. Like all software, only about 10% of an open source application is the code. It's the rest of the process that makes for a product.
That's not to dismiss the efforts of people who really do it for the love of coding. But perhaps it would help conservative organizations to feel even more comfortable with open source applications to know that there are "regular" software developers making a lot of the code they're relying on. And it might make the line that separates different development communities a lot easier to cross if people knew that the "other" side was pretty similar to the one they're already in.
1 TrackBack
Little bit information here... Read More
1 Comment
Leave a comment
- Earlier: Nomenclature suggestion
- Next: Dive Into Remixing

Hi Anil,
I think the strategy of developing something in collaboration with others as a loss-prevention device is probably something that really happens at the highest levels in companies. Something similar happened with SAP and the ERP 'revolution'. Basically, all the big companies decided that their supply chains were basically similar, and were unlikely to be a great competitive advantage. It was better to have a standard ERP solution, rather than a specially developed, tailored one, even if the in-house one might have been better suited to its needs.
The benefits were that it kept the expenditure on software development and maintenance under some degree of control. Big companies could merge or hive off divisions relatively quickly, because they were all built on one of a very small number of business platforms. Being tied into a trusted platform made future decisions about architecture and features much easier - the product you'd bought into provided a firm framework for your decisions.
(This is not to say that ERP software or SAP software in particular is really good. On the contrary, there were many implementation problems. However the strategic benefits were considered to have made the pain worthwhile.)
There is certainly some analogy with Linux. Providers are tying into something external, rather than having to invent and maintain something from scratch. Decisions about architecture become more simple with a single broad platform. Equally, it becomes much easier to merge products or sell them off to other companies if there is a common platform throughout the industry.
In the case of SAP of course, there was a big problem: there was only one vendor, and you became dependent on that vendor. Because Linux is not structured as a single corporation, you just don't come up with that problem. So even though you are committing to a platform, you still have a reasonable amount of choice about how you implement it.
Of course, you do have to spend money now and again on developing features you really need. But this is a lot different from building them from scratch. By making the feature openly available with source code, you are removing at least some of the support burden from yourself. Over time, other users might embrace the system and so increase the pool of expertise that is available to th company. (This assumes that the company doesn't think there is any benefit to be had from keeping the code proprietary.)