Open Up to Open SourceBoth companies and the open-source community can benefit from partnershipsBy Dan Pilone Recently, media attention has focused on open source as a result of Microsoft's Craig Mundie's presentation at The New York University (see Resources). In this column, I'd like to remove my Open Source Hacker™ hat, dodge the political issues, and discuss open source from a business perspective: What can companies learn from the community, and how can they contribute back? Whether you are a seasoned GNU Public License (the infamous GPL) veteran or watching from the sidelines, there is much to learn from open source. The often-overlooked aspect is that working with the open-source community is a partnership, and like any other business partnership, it must offer a win-win situation for both parties. Open source is a society - it has a culture, etiquette, heroes, and villains. Developers participate in this society because they want to. This participation is not about money, rarely about fame, and almost always about results. However, corporations have traditionally been wary of open source, writing it off as a group of college students producing unreliable code. What they don't realize is that solid, well-tested software is produced because that's what "scratches the developer's itch." Adherence to proper etiquette determines whether a participant is viewed as a hero or a villain. The open-source community shuns companies looking to exploit them, but a company contributing to the community has an amazing pool of resources from which to draw. Contributions to the open-source community come in a variety of forms: employment for the open-source developers, open release of source code, or hardware donations for the developers to use. OPEN SOURCE PARTNERSHIPSOne example of the open-source community's capabilities in the industry is when Hewlett-Packard decided to help open-source developers write drivers for its printers. Open-source developers can be quite resourceful and had already been working to develop drivers for printers without vendor support. HP realized that by simply providing basic support and information to the community, it would receive high-quality drivers for operating systems they didn't officially support. The community, likewise, gained the use of HP printers. This resulted in a mutually beneficial situation for both parties. Another example is when IBM realized that the open-source operating system (OS) Linux provided an economical and reliable OS for its various hardware platforms. However, IBM needed to make changes to the source to use it on its full range of product offerings. IBM received help from the open-source community with these changes and in return, released parts of its AIX OS to open source. IBM then sold its mainframes running Linux to Banco Mercantile and Telia Telecommunications, replacing 30 Windows NT boxes and 70 Sun boxes respectively - obviously a win for IBM, which reduced its cost of maintaining a proprietary OS while increasing its developer base. IBM's AIX contributions were integrated into the standard Linux source tree, a win for open source. The list goes on and on: WindRiver, which makes the embedded OS VxWorks, uses the GNU C++ compiler and the GNU debugger. Sun Microsystems has used substantial parts of the Blackdown Linux port of the Java SDK. Digital Domain used Linux to render significant portions of the blockbuster movie Titanic. All these companies found partnering with the open-source community (either formally, such as with Sun, or informally, such as Digital Domain) a strategic move worth pursuing. THE OPEN SOURCE MODELRegardless of whether you decide to open your troves of source to the world, you can obtain secondary benefits by modeling your internal development on the open-source model. Open source has succeeded in producing some impressive applications: an operating system (Linux), the industry leading Web server (Apache), and a full compiler suite (GCC). These would not have been possible without the community working together using a successful process. The nature of open source tends to bring about key elements of sound development process: iterative development, complete documentation and audit trails, configuration (source) management, and subsystem decomposition (adhering to subsystem interfaces). Although none of these are new ideas, the success of open source is a resounding endorsement for successful use of these practices. Frequent releases with both bug fixes and new features are a trademark of open source. The last prerelease of the Linux kernel was v2.3.99-pre9, and although it didn't actually have 99 releases, a new kernel was released before most people finished compiling the last one. Because open-source projects tend to be free of formal requirements, the developers use the releases to gather feedback from the users and identify bugs that they need to fix. The users get an opportunity to provide guidance on project direction and decide which features they want sooner than others. The key principle is to iterate early and often!
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
|
|



