by CIO Staff

Open Source Definition and Solutions

How-To
Mar 08, 200712 mins
Open Source

Open Source topics covering definition, objectives, systems and solutions.

Open source is here to stay: Here’s how to deal with it.

Compiled by Steven J. Vaughan-Nichols, Editor-in-Chief, Practical Technology and Chris Lindquist
  • What is open source?
  • Why use open-source software?
  • Why not to use open source?
  • How should I get started with open source?
  • What about the desktop?
  • Can I sell open source-based products?
  • Open-source resources
div-hp-01.gif

The success of open-source software has been remarkable, forcing even the largest commercial software vendors such as IBM , Hewlett-Packard , Oracle and Microsoft to acknowledge its influence and, in some cases, adopt its methods. It seems likely that most companies with information technology departments of any size are familiar with—if not actively using—open-source products on a daily basis.

But its ubiquity can lead to more questions than answers. Here, therefore, are the answers:

What is open source?

Back in 1997, Bruce Perens, a prominent Linux operating system developer, wrote a document concerning the distribution and development of the Debian Linux distribution. He later removed references to Debian and created what is now known as The Open Source Definition. Among other things, the Definition states that open source software must be distributed without royalty, that the distributor must make the source code for the software freely available, and the derivative works from the code must also be released as open source.

Open source is essentially a cousin of the Free Software Movement, created in 1983 by Richard Stallman to promote the free distribution of software unfettered by standard proprietary code restrictions. Free software’s rules are codified by the General Public License (GPL), which as of October 2006 was under review for its third revision.

There are literally dozens of Open Source Initiative certified licenses, each with its own peculiar rules that require close examination by any company looking to use open-source software. These rules are usually quite generous for anyone who merely wishes to use open source software. The requirements for redistribution, however, can require careful scrutiny to avoid potential license violation issues.

Open source, once you strip out all the emotion, is simply a way to develop software. Unlike other programming models, open source takes the viewpoint that developers create better programs if they can share their code.

At its simplest level, this saves programmers from having to constantly write code that ‘reinvents the wheel.’ Its virtues are far more than that though. Eric S. Raymond summarized in his seminal work on open source, The Cathedral and the Bazaar, why open source is such an efficient way to create programs. First, by welcoming programmers who want to work on a project, you’re guaranteeing having developers who start with having a vested interest in the project’s success. As Raymond puts it, “Every good work of software starts by scratching a developer’s personal itch.”

The natural follow-up to this is that you get users who also become invested in the project. Now, these users may never become programmers, but they can contribute ideas, bug-reports, quality assurance testing, and never least, a group with an interest in your project. If that idea sounds familiar. It should. It’s the foundation of corporate communities and social networking.

These ideas have caught fire because open-source delivers the goods. Major open-source programs like the LAMP (Linux, Apache, MySQL, PHP/Perl/Python) are what power up the Internet. In addition, it’s quite likely that they, and the programs and DBMSs that are built from them, are what’s keeping your office servers going. At the same time companies like Red Hat and Novell, which are closely tied to open source, make hundreds of millions of dollars from open-source software, while still others, such as IBM and Oracle, make billions of dollars annually from supporting open-source programs.

Why use open-source software?

Let’s start with the reason anyone can understand: It’s cheap. But, what’s more important is that the open-source software model’s return on investment is outstanding. While people can argue until they’re blue in the face about exactly how much bottom-line goodness you can get from using open source, the simple facts are that it delivers the goods at an affordable price. Consider, if you will, that of Alexa’s Top 20 Global Web sites, only the handful owned by Microsoft aren’t built on top of open-source software.

This hasn’t happened overnight, but by the late 1990s, many corporations began switching to open-source software for their Internet needs. It’s scalability, both on the technical and business—no need to continuously buy new licenses—made it ideal for the Internet. Now, after about a decade of proving itself, open-source software stacks have been moving from edge servers on the Internet and department servers for branch offices to core business applications.

For example, open-source is moving into ERP (enterprise resource planning) and CRM (customer relationship management). Indeed, except for the desktop where, despite the Windows Vista flop, Windows hangs on, today’s business software stack is an open-source stack. Indeed, even on Windows, open-source programs like Firefox and OpenOffice are being relied on by more and more office workers. And, needless to say, if you’re in the software development business yourself, open-source software lends itself perfectly to collaborative software development.

Why not to use open source?

Ah…this is 2009 right? There really aren’t any good reasons not to use it. That said, the same tired, out-dated arguments you’re likely to run into include the following:

Free software really isn’t free. Yes, you do need to train users on it, you may very well need a support contract for it, but so what? What software doesn’t require training and some support? With open-source, at least you have the option, by either hiring experienced IT staffers or training them up yourself of having software that requires annual service contracts and costly manidatory , whether you need or want them or not.

And, again this is 2009. Open-source savvy administrators, technicians, and the like are as easily available as any other IT professional.

Can I get support for it? In open-source’s early days that could be an issue. Today, if you need support, your open-source ‘vendor’ is likely to be your big-name vendor. Dell, HP, IBM, Oracle, you get the idea. For mainstream open-source applications it’s simply not an issue.

That said, if you want to rely on more cutting edge, open-source applications, then you may run into support problems. But, the same thing is true of relying on any cutting edge software.

Possible open source legal troubles. If you’re not in software development, this isn’t a concern. Do you worry about what might happen to your office copies of Windows when Microsoft loses another lawsuit? I doubt it. Microsoft keeps going on, and except, for an increase in a licensing fee, or Internet Explorer no longer being included by default in the next version of Windows, you’ll never notice the difference. The same thing is true of open-source products.

If you’re in the programming business then you do need to know your way around open-source licenses, A competent IP (intellectual property) is all you need to steer clear of any potential problems here.

  • What is open source?
  • Why use open-source software?
  • Why not to use open source?
  • How should I get started with open source?
  • What about the desktop?
  • Can I sell open source-based products?
  • Open-source resources
div-hp-01.gif

How should I get started with open source?

That’s really not the right question. The right question is: “What business software needs do I have?” Once you’ve identified them you simply look at what programs might answer your requirements. Chances are many of them will be open source.

Remember, after all the yadda-yadda about open-source vs. proprietary software, for business users, it’s all just software. Over the last few years open source programs, since they tend to develop far faster and are usually cheaper and more secure then their proprietary brothers, have popped up everywhere. There’s very few areas, if anym where one or more open-source software programs aren’t already well-established options for business users.

What about the desktop?

Despite endless security problems, high prices, and Vista falling flat on its face, Windows is still the dominant desktop operating system.

You can, however, opt to give desktop Linux a try. Anything you might have heard about desktop Linux requiring you to be a technical wizard with the command line, aka the shell, to get any work is pure Microsoft fabrication. Desktop Linux no more requires you to be a techie than Windows XP or Mac OX X does. Everything and anything you can do on a Windows desktop you can do without a lick more trouble on a Linux desktop.

Unlike Windows Vista and Windows 7, where you’re faced with a multitude of choices which really boils down the more money you pay, the more access you get to the operating system’s features, the Linux desktop offers you essentially the same functionality no matter which one you pick. That said, with multiple Linux distributions and desktop interface, picking a desktop Linux can can be quite confusing.

For starters there are three different popular Linux desktop interfaces: the older KDE 3.5.x series; KDE 4.x; and GNOME 2.x. The short version of the differences between them is that KDE 3.5x looks and acts a fair amount like the Windows XP interface. KDE 4 feels more like Vista’s Aero interface without that front-end’s notoriously poor performance. GNOME comes closer in feel to Mac OS X Tiger. These interfaces are available on most desktop Linux distributions.

As you may know there are dozens of different Linux desktop distributions. For business purposes, this boils down though to the Debian/Ubuntu family of desktops, which are quite popular and Novell’s openSUSE and SLED (SUSE Linux Enterprise Desktop).

The Debian/Ubuntu family, which includes Mepis, Mint, Ubuntu, and Kubuntu, distributions have some commercial and a great deal of community support. If your office already has some Linux-smart IT administrators, these are all fine choices. SLED has the strongest desktop support from both hardware and software vendors. If you want a desktop Linux with “one throat to choke” support, SLED through a vendor like HP, is your best choice.

You may have noticed that Red Hat is missing from this list. That’s because Red Hat’s focus is on the server, not the desktop. While Fedora, Red Hat’s community Linux, makes a fine desktop, neither the company, nor the Fedora community, support it for business use. This makes Fedora a viable business desktop choice only for offices that already have high-levels of in-house Linux expertise.

Oh course, you can keep your Windows and use open-source software too. Firefox and OpenOffice have already been mentioned, but there’s little in the way of software that you’re already using that can’t be replaced with a free, open-source program. For example, are you locked in with Quicken and its forced upgrade path or the recently deceased Microsoft Money? Then, consider trying GnuCash, which has most of their features and can import the data from either one. For an excellent list of open-source alternatives to proprietary software see the Open Source as Alternative Web site (http://www.osalt.com).

Can I sell open source-based products?

Yes, of course, you can. Companies from IBM on down to one-person shops do it every day. What’s different from traditional proprietary software sales is that you have to let your customers get access to the source code. How much access depends on the exact license.

Generally speaking, open-source companies make money from their code not by selling it but by adding services around the program, or by providing enterprise-level support options. This is the moel used by Red Hat, the most successful of all the pure open-source companies.

Other companies maintain two versions of their code. There’s the cutting edge, open source one, and the other which uses more mature code, which frequent adds proprietary add-ons. This mixed model is becoming increasingly popular, with companies like SourceFire, a network security company and Alfresco, which supplies content management software doing quite well with this model.

Another popular approach is to use open-source software as the engine behind a SaaS (Software as a Service) business. Zimbra, an e-mail/groupware company, and SugarCRM (http://www.sugarcrm.com/crm/) are two outstanding examples of this approach in action.

Other open-source resources

Locations on the Web to find Open-Source Software

  • Apache Foundation. Best known as the open-source group behind the Apache Web server, the Foundation also supports numerous important server-side open-source projects.
  • Linux Foundation. The non-profit group behind Linux. Their site also provides access to many useful Linux resources.
  • Practical Technology. News and opinion site, which is largely devoted to open source technology and business news, reviews, and opinion.
  • SourceForge. This is one of the largest and most popular open-source development and download sites.
  • FreshMeat: A huge database of downloadable software, much of it open source.

Open-Source Resources: Legal and Otherwise

  • Software Freedom Law Center. This organization provide legal representation and other law-related services to free software and open-source organizations.
  • Open Source Initiative: Nonprofit corporation dedicated to open source and founded by many of the earliest players in the field.
  • Open Source Technology Group: Possibly the world’s top promoter of open-source technology. Owner of Slashdot news site, SourceForge and freshmeat.
  • Open Source Risk Management: Offers compliance insurance and other services.
  • Open Source Development Labs: Organization dedicated to promoting Linux use in enterprises.