From the Editor: June 2005 - Other People's Problems
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.
Don Marti is editor in chief of Linux Journal.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Django Models and Migrations
- Hacking a Safe with Bash
- Secure Server Deployments in Hostile Territory, Part II
- Home Automation with Raspberry Pi
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development