Association of Knowledgework

 

 HOME 
 HEADLINES 
 WHITE PAPERS 
 BLOGS 
 STAR DIALOGUES
 AFFILIATES 
 CONFERENCES 
 CONSULTING
 BOOKSTORE
 ABOUT US 
 CONTACT US
 JOIN AOK

 

Open Source Development Benefits and Challenges (Draft)

By Sean Breen
Chief Technology Officer, Q-Industries

Editor's note: Mr. Breen was the subject on an on-line interview with AOK Tech & Information Systems EZine Editor Troy Pomroy.


Open Source Development (OSD) is a name for a new model of software development that has provided significant advances in the last few years. Most notable of these Open Source software creations is the world-class Linux operating system and the leading web server, Apache. The Open Source model is both a political and technical system that combines to create the perfect environment for very rapid advances in software development.

Two elements comprise the mainstay of OSD; these are the General Public License (GPL) and the Internet. The GPL provides the political infrastructure that guarantees that GPLed software is always freely distributed and the software code (the "source" code) is public and available for modification and redistribution. More importantly, though, the GPL stipulates that all modifications to Open Source software also to be freely and source publicly available. Any bug fixes and modifications to GPLed software are automatically covered by the GPL and are hence publicly available. The GPL, in essence, prevents GPLed software from being subverted and morphed into closed source (where the source code is not available for public inspection and use). Once software is GPL, it is always GPL.

The second element that has contributed to the meteoric rise of OSD is the Internet. The unique ability of the Internet to interconnect millions of people together in a highly collaborative environment has allowed thousands of people to contribute efficiently to Open Source projects. In fact, Internet based technologies such as CVS (Concurrent Versioning System) allows anyone on the Internet to "check-out" GPL source code for a project, improve the code and then "check-in" the code for integration back into the project. This system allows a tremendous number of developers to work on selected pieces of a project in parallel. In addition, each piece of code that is "checked-in" is subject to vast amount of peer review, as all source code is freely available.

This system of freely available source code -- thanks to the GPL -- and massively parallel code development -- thanks to the collaborative Internet environment -- results in a software development model that rivals, or even surpasses, the ability of traditional software company to develop software and provide bug fixes.

Open Source Development provides these key benefits, which are simply not available to traditional, closed source software companies.

Extreme Development - Hundreds, and sometimes thousands, of programmers contribute to the development of Open Source software. These programmers, often from around the world, provide a talent pool that is unparalleled in the closed source world of traditional software development. Thanks to the GPL and the Internet, anyone with the will and skill can contribute to a project. Each programmer can "bite off" a small piece of the overall project and work in parallel with thousands of other programmers. This massively parallel development results in development cycles that are measured in days or weeks, not the months or years associated with the plodding, closed source development model. Open Source projects leap forward with generations worth of improvements in a very short amount of time. For examples of extreme development in action, go to http://www.sourceforge.com.

Quick Bug fixes - Just as hundreds of programmers can work to improve the Open Source project, so do hundreds working to eliminate bugs in the system. In fact, OSD is intrinsically setup to expose bugs quickly and allow timely resolutions. Since the GPL requires publicly available source code, bugs can be spotted and resolved by anyone with the required skills. Additionally, the GPL requires that any bug fixes also be freely available. In the traditional closed source world, bug fixes are incumbent on the original developer of the software, since they are the only ones with access to the original source code. This method ensures that (1) bug fixes come slowly, since only the original code developer can examine code, and (2) you are beholden to the original code developer for the fix (usually via a service contract).

Massive Support - All Open Source code is available to anyone who wishes to use, view or modify the code. This completely open system allows for questions to studied and resolved quickly by a very large collaborative Internet based communities, such as questionexchange.com. As with other aspects of OSD, these communities are formed by hundreds or thousands of users and programmers, working in a highly collaborative and parallel fashion.

Highly Secure - A critical benefit of OSD is security. In the traditional closed source world, the source code, which secures a system or application, cannot be freely viewed by independent parties for security flaws, poor coding or backdoor access. This lack of peer review seriously reduces the chance that a critical security flaws from being brought to light and corrected before disaster strikes. Indeed, there is nothing from stopping traditional software companies from purposely coding backdoor access to their systems, or simply writing poor security systems with the mistaken notion that "security though obscurity" is a viable security model.

In the Open Source model, all of the code for the system is available for anyone to view, at any time for any reason. In this model, it is much more likely that a security flaw will be noticed via third party analysis, exposed and corrected, before it is exploited. Since all code is public and freely available, it would be virtually impossible to hide backdoors and other sorts of nefarious code without immediate exposure.

Future Proof - With all aspects of OSD available to public, no one person, party, company or country controls the software -- or the future of the software. In the traditional, closed software world, if a company folded or the software was not deemed viable, the users of the software are left in a larch with no support and no ability to upgrade or modify the software. The OSD model allows for software to survive beyond the limits of person or company that created the software. Additionally, the GPL guarantees the right to modify and use the software, regardless of the disposition of the person or company that created the software. The OSD model allows the users of the software to determine their own destiny.

Hostage Proof - The OSD model does not allow any one person, party, company or country to control the software. In the OSD model, no one is in the position to demand upgrades, or charge for answers or support. In the traditional, closed source world, you bought into a company's ideology as much as their software. Once you bought into the company, you were doomed to an addictive cycle of costly upgrades and retraining based on the software companies ideological plans, not your own needs or desires. Your software destiny was not your own, you were hostage to the company for upgrades and support. Not only do the traditional software companies know you are hostage to them, they bank on it.

What does this all mean? OSD points to a new vista of software development that promises (and delivers!) faster, more robust software that is controlled by the users of the software.

The current challenge to OSD is to capitalize on the substantial benefits of Open Source software, where appropriate, and to bring these values to the business world. Education is a primary aspect of this challenge. For example, there is a common misconception that because an Open Source system is used to program a web site, or an application, that the web site or application must be freely available. This is not true. Just as an artist paints with brushes and oils that anyone can obtain does not mean that anyone can obtain his creative output, his art. Like wise, obtaining the benefits of OSD does not imply that projects created with Open Source tools and systems are too Open Source.

Back to top 

Back to White Papers