StratVantage News Summary

Speaking engagements

The TrendSpot

Internet News

Opinion

Publications



Directories

 

Enterprise Architecture Resources

 

Nanotechnology
Resources

 

P2P Companies

 

Wireless Resources

 

Job Seeking Resources

XML Standards

Security Information

Online Newsletters

B2B Ecommerce Resources

 

 

Marketing Information


Search StratVantage


Search the Web
Google



Open Source and Your Business

Open Source (n pn sôrs) A method and philosophy for software licensing and distribution designed to encourage use and improvement of software written by volunteers by ensuring that anyone can copy the source code and modify it freely. The term "Open Source" is now more widely used than the earlier term "free software" (promoted by the Free Software Foundation) but has broadly the same meaning - free of distribution restrictions, not necessarily free of charge.

Executive Summary

Open Source software puts a new marketing face on a long tradition of enterprise-class free software. Unlike closed source, packaged applications, when you use Open Source software, you get the source code, which you can modify to fit your needs. You can incorporate Open Source code into commercial products without restriction. Some of the benefits of Open Source software include high quality, stable code, and frequent incremental releases. Disadvantages include uncertain release schedules and dependence on the continued interest of a large community of volunteers. Open Source solutions are available for almost any conceivable application, and some of the world’s largest companies, as well as the Internet itself, depend on Open Source for enterprise applications.

Introduction

Apple, HP, Sun, IBM – what do these computing giants have in common? Well, perhaps many things – obviously they all make hardware, their stock has seen better days, and they have a history of innovation. But did you know that each has also released or supported free software as part of the Open Source movement? Other companies such as AOL/Netscape, Corel, Ars Digita, and the numerous Linux vendors such as Red Hat, Caldera, and VA Linux also have embraced this movement. What’s going on here? How can it be a good idea to give away software?  And more importantly, how can it be a good idea to use free software for mission-critical applications?

Open Source? You’re Soaking In It!

To a person used to buying software either by the box or by the custom project, the idea that rational people would adopt and use free software supported only by hordes of anonymous programmers may seem ludicrous. But you are an Open Source software user, without even knowing it. Have you sent an email over the Internet this week? Chances are excellent (75 percent) it was handled by Open Source mail programs. Did you browse some Web sites today? It’s almost certain that some or all of them were run by Open Source Web server programs or hosted on computers running an Open Source operating system. And if you’ve ever done file transfers using FTP or messaged another user using Internet Relay Chat, you’ve used Open Source software without giving it a second thought.

The fact is, the Internet, and the World Wide Web, were built using Open Source software. The term, coined in 1998, may not have been around then, but the basic guts that run the Internet were all engineered using the Open Source idea.

Open Source and Other Free Software

It is important to contrast Open Source with various other “free” software concepts it resembles. Open Source, for example, does not mean that a program is placed in the public domain. According to the book, Open Sources: Voices from the Open Source Revolution, by Open Source pioneerBruce Perens, “A public-domain program is one upon which the author has deliberately surrendered his copyright rights. It can't really be said to come with a license; it's your personal property to use as you see fit. Because you can treat it as your personal property, you can do what you want with a public-domain program. You can even re-license a public-domain program, removing that version from the public domain, or you can remove the author's name and treat it as your own work.”

The author of an Open Source program does not surrender his or her copyright. Such a program does come with a license that specifies a set of restrictions on use that must be agreed to. Briefly, these restrictions include:

  1. Free Redistribution

    You cannot restrict any party from selling or giving away the software, nor can you require a royalty or other fee for such sale.

  2. Source Code

    The program must include source code, and must allow distribution in source code as well as compiled form.

  3. Derived Works

    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

  4. Integrity of The Author's Source Code

    You can keep people from modifying your source code, but only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time.

  5. No Discrimination Against Persons, Groups, or Fields of Endeavor

    You must make the software available to all comers. You cannot discriminate against any person or group of persons or restrict usage in a specific field of endeavor. For example, you may not restrict the program from being used in business, or from being used for genetic research.

  6. Distribution of License

    The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

  7. License Must Not Be Specific to a Product

    The rights attached to the program must not depend on the program's being part of a particular software distribution.

  8. License Must Not Contaminate Other Software

    The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be Open Source software.

Another popular free software license, the GNU General Public License (GPL), differs in several material ways from the Open Source license, most notably in its requirement that any modifications you make to the program must be contributed to the public via the GPL. Other free software licenses such as the Apache, X, and BSD UNIX licenses are quite similar to Open Software’s.

Open Source Quality

The main thing to understand about the Open Source Initiative (OSI) is that it primarily concerns a software marketing methodology. The code for Open Source programs is typically written the same way using the same languages and tools as packaged software. Also, Open Source programmers are easily as talented and as experienced as commercial development teams. Open Source advocates argue that mature OSI applications are much more stable and feature-rich than comparable commercial software. This is mainly because of the OSI culture of meritocracy, which rewards bug identification and patching. Additionally, having the source for a program enables any interested programmer to seek out and fix the offending code. Try that with Office 2000.

But perhaps the biggest reason Open Source software can achieve more stability and reliability than closed source is Linus’ Law, named by Open Source advocate Eric Raymond for Linux developer Linus Torvalds: “Given enough eyeballs, all bugs are shallow.” In others words, the more smart people who are exposed to your code, the more likely one of them will find something wrong with it or some way to improve it. The reason that hugely complex packaged applications have many bugs is because, no matter how many paid programmers a software company assigns, there are still a small number of experts working on the code. Linux, in contrast, has benefited from the contributions of thousands of highly competitive co-developers. Eric Raymond described the difference between traditional closed source development, which he calls the cathedral style, and Open Source (the bazaar method) this way:

In the cathedral-builder view of programming, bugs and development problems are tricky, insidious, deep phenomena. It takes months of scrutiny by a dedicated few to develop confidence that you’ve winkled them all out. Thus the long release intervals, and the inevitable disappointment when long-awaited releases are not perfect.

In the bazaar view, on the other hand, you assume that bugs are generally shallow phenomena – or, at least, that they turn shallow pretty quickly when exposed to a thousand eager co-developers pounding on every single new release. Accordingly you release often in order to get more corrections, and as a beneficial side effect you have less to lose if an occasional botch gets out the door.

Open Source Runs Enterprises

If you still don’t believe that Open Source software can be reliable, consider the World Wide Web. According to the automated Netcraft web server survey (www.netcraft.co.uk/survey), almost 60 percent of all visible web sites are served by the open-source Apache Web server, the adoption of which is still growing at more than 1 percent a year. According to book publisher O’Reilly, open-source scripting languages such as Perl, Python, and Tcl generate the majority of Web-based dynamic content. Megaportal Yahoo, one of the busiest sites on the Web, was built on a foundation of Open Source programs: the FreeBSD operating system, Apache, and Perl. Yahoo relies on Perl scripts to sift through Web sites and aggregate the content Yahoo serves. In fact, the Domain Name System (DNS) that lets your computer find Yahoo in the first place is based on Open Source software, and it is arguably the most mission-critical piece of software on the Internet.

As you can see, it’s obvious that some pretty heavy-duty software can be and has been built on Open Source components. Reliability is only one of the advantages of Open Source software. Another advantage is cost. Not only is Open Source software cheaper because it’s free, it’s also a cheaper approach to bug fixing and software maintenance. Fred Brooks, author of “The Mythical Man-Month” asserts, “The total cost of maintaining a widely used program is typically 40 percent or more of the cost of developing it. Surprisingly this cost is strongly affected by the number of users. More users find more bugs.” When those users are also empowered to find the bugs in the source code and propose fixes, for free, it’s obvious that maintaining an Open Source application is much cheaper than the closed source alternative.

Open Source Problems

Open Source is reliable, stable, more bug-free, and cheaper. Is there anything it doesn’t do? Isn’t there a down side?

Of course, the answers to these questions are yes and yes. Yes, Open Source is not a panacea for every computing problem. And yes, there are some things that Open Source won’t do.

Open Source is not, for example, a good way to originate code. It is pretty good at refining and debugging existing code, as well as adding new features, but it’s very difficult to actually architect and design from the ground up using the collective method. To have an Open Source project, you need to have code that runs, and then unleash your developer community on it.

By the same token, a candidate for Open Source must represent a solution that will fire the imagination of a developer community. If you’re planning to create a boring, imitative, or otherwise uninspiring application, good programmers won’t enhance their mojo by being involved, and thus an Open Source effort could fail. Additionally, if the base software design is overly complex on the one hand, or naïve on the other, good programmers won’t bother contributing.

It is also critical that whoever is running your Open Source project be able to recognize good ideas contributed by others. Any organization infected with the NIH (Not Invented Here) virus should not consider an Open Source project.

Finally, Open Source projects don’t usually respond well to stake-in-the-ground deadlines. By its very nature, such an effort has an unpredictable finish point; how do you know when you’ve found every bug? There have been examples of Open Source projects that were rushed under deadline pressure and that exhibited a lot of the same problems closed source projects do under similar conditions. Using Open Source, your software will get better. There’s just no telling exactly when.

Using Open Source

So far we’ve been talking about starting an Open Source project from scratch. But there’s another way you can use the Open Source approach in your enterprise: by using Open Source code in your own custom projects. There are several good Open Source code bases that can be helpful in custom development efforts. The Web site FreshMeat (http://www.freshmeat.net/) posts daily lists of Open Source efforts of every conceivable class of software.

One interesting effort is Ars Digita’s Open Source enterprise software platform, the ArsDigita Community System (ACS). ACS is one of several Open Source application server platforms available (another notable one is Enhydra). The ACS platform features built-in administration and collaboration features such as user permissions, project management and site templating. Due to its integrated data model, ACS also enables robust user tracking across the various services integrated on the platform.

More than 20,000 copies of the software have been downloaded by organizations such as Siemens, America Online, Deutsche Bank, Oracle, The World Bank and Away.com. Ars Digita reported record revenues of $25 million last year, proving that Open Source companies can make money. The primary revenue generator for the company, however, is professional services offered to clients of the ACS platform. Linux vendors such as Red Hat as well as other Open Source companies have adopted this same model, giving away the software and making money on the associated services.

So you may be wary of using Open Source for fear of ultimately paying consulting and support fees. However, when you take into account the lack of up front licensing and ongoing maintenance fees, as well as the various other advantages of Open Source software, you could easily end up ahead of the game. In any event, it is likely you will want a development partner that is experienced in the use of Open Source software, such as Geneer, to assist in implementation.

All in all, Open Source is worth consideration for your next project.

Resources

Apple’s Darwin Project

http://www.apple.com/macosx/tour/darwin.html

HP’s Open Source Library

http://devresource.hp.com/OpenSource/Tools/OpenSourceLib.html

Sun’s Open Office effort

http://www.openoffice.org/

IBM’s Journaled File System Technology for Linux

http://oss.software.ibm.com/developerworks/opensource/jfs/index.html

Eric Raymond’s The Cathedral and the Bazaar

http://www.tuxedo.org/~esr/writings/cathedral-bazaar/

The Open Source Initiative

http://opensource.org/

Open Source Zone

http://opensource.devx.com/

O’Reilly’s Open Source site

http://opensource.oreilly.com/

Apache

http://apache.org

Ars Digita

http://www.arsdigita.com

Enhydra

http://enhydra.org/



Copyright © 2000-2009, StratVantage Consulting, LLC. All rights reserved.
Please send all comments to  .


Announcing Linked InSolutions, a New Social Media Consulting and Training Service from StratVantage

  • Each Power Workshop session is limited to 25 attendees to enable personal attention

Classroom rate: $125
Webinar rate: $65