Open-source practices moving into enterprise development

Everyone knows that open source is gaining widespread acceptance in enterprise settings. A recent Forrester report found that 60% of organizations are adopting open source technologies and platforms in one form or another. From Linux to Apache to Sendmail and beyond, open source is fast becoming an enterprise commonplace.

Interestingly, businesses also seem to be adopting the techniques and development practices of the open source community. Corporate IT and R&D organizations face many of the same distributed development challenges already overcome by the open source community, says Colin Bodell, senior vice president of product development at VA Software. So it's no surprise, he says, to find companies employing concepts like collaboration and reuse in their development practices.

"There's a lot of value to the enterprise in understanding the open source approach," says Bodell. "Because of the sort of transient development teams there's a need for a lot of built-in flexibility. Long-term projects that are built on a rigid, waterfall type of development just don't work, because someone might work on a project for a day or a week or a month. If you're using a rapid, iterative style of development, people can come and go and they've got continuity, they can see what's going on, there's always a build-able testable version of the product."

Bodell knows a bit about open source. In 1999, VA Software founded, which is probably the world's largest open-source software development Web site, hosting more than 90,000 projects and over 950,000 registered users. Since its launch, has become something of a global nexus for open source.

Much of what might be thought of as the open source style of development is embodied VA's commercial development tool, SourceForge Enterprise Edition. Marketed as an "enterprise-grade solution for managing and optimizing distributed development," the J2EE-based product is designed to provide a secure, centralized platform that connects heterogeneous tools and processes with an integrated suite of project, change management, and collaboration tools. It features a modular, Web services-oriented architecture (SAO), open API, and complementary SDK.

Whatever the tool, the techniques favored in open-source projects are all about rapid, agile processes that focus on the immediate needs of the users, Bodell says. And they're techniques that have proven themselves in an unforgiving arena.

"The open-source environment is brutally survival-of-the-fittest focused," Bodell says. "Good, well-managed, well-lead projects that turn out quality technologies that people want, and which develop communities of people willing to provide feedback, fix bugs, and raise enhancement requests move to the top of the pile. Those that don't meet those requirements fall by the wayside."

The kinds of agile approaches that work on open source projects are likely to be very useful for enterprise software development, Bodell says. These approaches require iterative build mechanisms; close communication among development teams, product management teams, and customer representatives; and the use of collaborative tools and technologies.

"This style of development allows you to reach out and make sure that what you're developing is going to meet the needs of your users first time out the door, not third or fourth iteration," he says.

"There are people who still believe that open source is done by drugged out teenagers sitting in dorm rooms at five o'clock in the morning writing viruses," Bodell adds. "And there are people who think that 'open source' starts and stops with Linux. But it's a much bigger picture than that. But there are more applications coming off than any other site. The kind of development practices and techniques that were used to create those applications are making companies that see a bigger picture more productive, and thus, more competitive."

About the Author

John K. Waters is a freelance writer based in Silicon Valley. He can be reached at [email protected].