Whether youre part of the opensource movement or not, youd be wise to check out some of its development methods.
Simply put, the open-source movement has proven beyond a shadow of a doubt that you can develop great software with dozens of developers using collaborative work techniques. From the world-beating by programs like Apache, Linux and Perl to less well-known, but still important software like OpenSSH (Secure Shell for rlogin, telnet and ftp connections) and Bugzilla (bug tracking), open source is driving much of tomorrows software.
Not a Miracle Worker Certainly, much of open sources success lies in its underlying philosophy. For more on that, we point you to the online seminal works of Eric S. Raymond (www.tuxedo.org/~esr/writings/cathedral-bazaar). For those who prefer print, check out The Cathedral & the Bazaar; Brian Behlendorfs Open Source as a Business Strategy (www.oreilly.com/catalog/opensources/book/brian.html); and OReilly & Associates compilation of open-source documents, Open Sources: Voices from the Open Source Revolution.
The mechanics behind open source can be useful, even if youd rather die than publish software under the Free Software Foundations GNU Public License. Traditionally, writing software usually involved a few programmer geniuses or massive teams driven by unforgiving deadlines—which involved writing x number of lines of code per day.
Open sources methodology pointed out a different way. Most people think that hundreds of developers work on the typical open-source program. Not really. Sure, thousands of people fiddle with open source. But it usually takes no more than 20 developers to do the vast bulk of the actual development work. Additional programmers usually contribute a few lines of code and are invaluable for quality assurance and bug finding. But without a single leader (say, Linus Torvalds) or a core team such as the Perl Porters, an open-source project will flounder just like any other.
There are key differences between open-source projects and proprietary development methods. Many, if not most, proprietary projects rely on nontechnical managers to run software development. In open source, where hierarchies tend to be flat, and peer-to-peer, the top people who lead the charge usually have more technical expertise than management skills.
Regardless of whos in charge, open-source development methods cant free you from management foibles. The lessons of Fred Brooks software project management classic, The Mythical Man Month, remain as true as ever. For instance, throwing more programmers at a late project will just make it later. As the unofficial delays in the release of Linux 2.4 showed, thats still true—with or without open source.
Old Tools Still Work
Old Tools Still Work … Open source is the child of the Internet. Contrary to common wisdom, open source has been around since the 1950s, but open source, as we think of it, couldnt exist without the Internet.
The Net provides the communications infrastructure for groups of remote people to work together on common projects. By the early 1990s, the first open-source developers were starting to gather. The collaboration “tools” they used include e-mail mailing lists and Usenet newsgroups. To track bugs, share code and maintain version control, they relied on file transfer protocol (ftp) servers. Many open-source groups still use those same tools and approach, and for good reason: They work.
However, not all open-source projects made use of all of those tools. You might be surprised to know that to this day, Torvalds and the core Linux crew dont use Concurrent Versions System (CVS)—or any other form of version-control software.
You can use those methods yourself. Any full-service Internet server package—such as a Linux server edition, BSD/OS or Windows 2000 Small Business Server—gives you all the software you need for the basics. When youre on a tight programming budget, that might be all you need. But it is, to be honest, a painful way to develop software.
Its Tool Time – Page 2
… But Look at the New Tools”>
… But Look at the New Tools You dont have to go through that type of pain, however, thanks to Brian Behlendorf, co-founder of the Apache Software Foundation. In 1998, Behlendorf realized that there had to be an easier way to make the most of open-sources methods. His answer was to create CollabNet. This company has been the springboard for several sites that further open-source development and business.
One of CollabNets first initiatives was to create Tigris. This open-source development hosting platform brought the basic open-source tools into one interface, with Java applets gluing the assembly together. It was impressive enough that Hewlett-Packard used it for development work on its E-speak voice-recognition software.
From there, Tigris, while still around, evolved into SourceCast. SourceCast is a Web-based software development platform thats used by clients to build programs in an application service provider (ASP) model. Along with VA Linuxs SourceForge, SourceCast is a leading example of developing software by using the open-source approach.
Beyond that, both are also examples of how software development is taking to utilizing the Net. How? By enabling programmers to work together over long distances and avoid the time and money needed to create the usual software development infrastructure.
Distance-insensitive development, however, is not the only feature that these new models offer. In addition to Web-enabling the development process, some of the sites also have added mini-exchanges to the list of services offered. These exchanges provide matchmaking services between developers and clients.
For proof of the models attractiveness, you need look no further than Borland, IBM, Oracle and Rational Software. All four companies are building software development Web sites. Sun Microsystems is rumored to be not far behind and Microsoft already has announced that it may offer a hosted version of Visual Studio—after Visual Studio.Net appears later this year.
If you dont take a liken to the to the ASP model, you can bring wholly open-source SourceForge in-house. Thats exactly what IBM did. The companys internal collaborative development service, the IBM Internal Open Source Bazaar, is based on SourceForges code.
You also can arrange to deploy either SourceCast or SourceForge OnSite as a package at your own office. Both platforms use subscription models and provide additional resources and services for their clients.
SourceCast and SourceForge offer very similar services. Both offer advanced e-mail listing for developers. But SourceForge, with its online-discussion software, has the advantage if your team prefers to work in online discussion groups.
Each also has CVS, bug-tracking and project-hosting services, but for programmers, SourceForges interface is our hands-down favorite. Its clean and all the development tools are easily accessible.
If youre working on an open-source project, SourceForge has another persuasive advantage: Its free.
Keep in mind, though, that SourceCast is designed from the bottom up for major software development projects. Mind you, SourceForge also is used for massive, important programs like the popular programming language Python, but the difference is that CollabNet provides a soup-to-nuts service offering behind SourceCast. From hosting to finding programmers to managing the entire project, CollabNet is the better choice when you need a complete programming solution.
Dont think these companies are serious enough for business? Ha! A quick visit to SourceForges Web site reveals more than 127,000 registered users and more than 16,600 projects currently in development. Over at SourceXchange, there are more than 10,000 users hard at work on 2600 plus projects. The other open-source programming sites, while smaller, have development communities that are bigger than most companies in-house programmer staffs. And, of course, that doesnt even count the old guard programmers making do with ftp servers and mailing lists. It doesnt get a lot more serious than this.
Regardless of your immediate needs, these services are well worth your time. The level of interest among developers, as well as some forward-thinking organizations (maybe your rivals?) is strong and growing.
As we said at the beginning, you dont need to believe in open source to reap the benefits of its methods.