The open-source movement's innovations range far beyond just getting great code built for "free."
Indeed, it's arguably the movement's collaborative methods and tools that are its most important contribution. And it's the smart, forward-thinking enterprise that fully embraces these methods and tools internally.
Donnie Berkholz tracks all things open-source at RedMonk, an industry analysis firm focused on software development. He blogs: "It's impossible for me to overstate the importance of adopting development models from open-source software and from distributed version-control systems like git. After spending nearly 10 years working on Gentoo Linux, I'm deeply familiar with how huge of an advantage these processes give you. You don't even need to use open-source to learn from what the OSS world is doing -- just leverage the same techniques within your company."
Berkholz's blog entry quotes Linus Torvalds, of Linux fame, in a recent interview: "What's even more interesting than improving a piece of software is to improve the way we write and improve software... I think open-source in general is obviously just another 'process model' change that I think is very successful."
In a phone conversation, Berkholz elaborated on all this for me, starting with the idea, put forth by fellow RedMonk analyst Stephen O'Grady, that today, software developers are "kingmakers." They are the ones who choose which software products and development tools a company will use.
"Adoption is happening from the bottom up," Berkholz says. "If it's a choice between Ruby on Rails and Java, developers will choose the language they like best." Likewise, developers may start using cloud computing on their own, because that's how they are able to get their job done fastest. "And the CIO finds out three years later," Berkhholz says, exaggerating only a little.
With developers increasingly calling their own shots, it's imperative for enterprise IT departments to formally adopt open-source methods. After years of evolving on the Internet, "these tools and social structures have been proven to scale well up to hundreds of developers," Berkholz says. From the source code management system git, to the Web-based git service GitHub, to Net-based communications tools like mailing lists and IRC chat, enterprises should embrace open-source methods.
This is the era of "social development" relying on a great deal of collaboration among team members, Berkholz says. As the open-source community has proven, collaborative development is much more effective than having people working alone at their desks. More eyes on the code means more bugs found and fixed in less time. And open-source methods are infused with the philosophy of agile development, aka "release early and release often."
If nothing else, Berkholz says, committing to these tools will enable the enterprise to hire the best, most creative, and most productive developers around, many of whom choose to live in remote locations.
"The people may not want to go to the company, so the company needs to go to the people," he states. And it's important, too, he says, that any developers working together at a company facility use the same tools as those who are telecommuting. "You have to act as if everyone is remote."
How to instill the open-source mindset in an enterprise setting? "There's definitely a hurdle to get over," Berkholz says. "You need a champion. You absolutely need people who know how to make these tools work." But with a whole generation of developers having grown up using and contributing to open-source code, such people are relatively easy to find.
"Companies looking for people with open-source experience can go to GitHub and see developers' actual code and evaluate it," Berkholz says. "That's much more effective than just looking at someone's résumé. You'll have much more confidence in those whose work you can read."
What has been your organization's experience with open-source methods?