Peer production is only the beginning. Today, the best software maintenance is part salesmanship.
As long as there has been software, we've been facing the “buy or build” decision. But “build” became a last resort as packaged proprietary software offered better value. Today there's a third option, free and open-source software, or what Yochai Benkler called “commons-based peer production” in his paper “Coase's Penguin, or Linux and the Nature of the Firm”.
Cooperating on software development is great, but most of the cost of software is maintenance. If you've been using Linux for a while, you probably have in-house versions of software that don't match the mainstream versions, and you're stuck maintaining it. Just as you have the “buy, build or peer-produce” decision, you have a decision to make about maintenance of code you'll need in the future. Maintain it yourself, sell a free software project on maintaining it or work with a support vendor—who probably will try to sell it to a project themselves.
Except for the little bit that gets value from being secret—the formula that decides which households receive a credit card offer, or the algorithm for making the aliens in the game attack you in a suitably compelling way—code is better and cheaper if you get someone else to maintain it for you. The ideal is to get an ongoing free software project to decide to do things your way. Glen Martin of open-source support company SpikeSource says they'll support fixes they make for customers as long as necessary, but “We don't want to continue maintaining them.” That means part of the business is selling changes to project maintainers.
Red Hat's Tim Burke makes the same point on page 70. Red Hat now makes it a priority to get kernel patches into the main tree, contentious as the process can be. If you don't want to use your powers of persuasion to manipulate the software ecosystem, some vendors will tell you to drop open source, give up control and just do it their way. But somewhere in the middle, between spending all your time playing open-source politics and giving up entirely, is the approach that's working for more and more companies. You might be happy with Red Hat's kernel, but get involved in Web reporting software yourself, for example.
Free databases are taking the same steps into business-critical roles that Linux did last century. Ludovic Marcotte has a promising answer to the database clustering problem that beats switching to a proprietary database or hacking up something that just works for your application. Get started with database replication on page 52.
ATA over Ethernet (AoE) storage hit the market recently, and when we saw the new driver in the kernel, we got Ed Cashin to explain how it. AoE goes with logical volume management like cookies and milk, as you'll see on page 24.
Selling projects on maintaining your code for you is such a powerful lever that we can expect to see more persuasion and sales skills included in future developer training. Whether you're buying, building or getting someone else to do it for you, enjoy the issue.