Page One

Campus Computing News

Virus Alert!

Doing it in the Open

10 Things You Need to Know Before You Call Yourself a Web Designer

UNT Links

RSS Matters

The Network Connection

List of the Month

WWW@UNT.EDU

Short Courses

IRC News

Staff Activities

    

Doing it in the Open

By Kevin and Dianna Mullet, Data Communication Security Analyst and Lead UNIX Systems Administrator, respectively <TheMullets@UNT.edu>

The greatest common denominator for nations has become their attachment to the Internet. The success of the Internet is due to it's openness -– use of open protocols by open source in open systems. As the open source model pushes out the monolithic commercial model, the essentials of the open source movement bear examination.

What's open source?

A now-famous discussion on open source is Eric Raymond's paper, "The Cathedral and The Bazaar" [1]. In that paper, which played a pivotal role in convincing Netscape to open the source to Navigator and start the Mozilla project, Raymond defines two models of software development: the cathedral and the bazaar.

In the cathedral, software is written by a small band of high-priests who use proprietary tools and methods to come up with still more proprietary tools and methods. Maintenance of the privacy of intellectual property is the highest goal, and the users are only given access to that which this high priesthood deems necessary. Software is more often than not, a black box implementing the latest marketing goal. The single greatest flaw of the cathedral is it's software development through inbreeding tendencies. By restricting the development team to employees of one or two companies, the cultural flaws of those companies are genetically inherited in any software they give birth to.

In the bazaar, collaboration on software takes the form of a marketplace of ideas in which peer review and the users determine inclusion or exclusion of code from the final product. In the cathedral, the administrative structure of the company who owns the product determines the shape of the final product. The cathedral is like a FORTRAN program – the bazaar is like a neural network.

The political equivalent of the bazaar is the United States. The real reason why the US is so economically and politically powerful is not in the size of the population, or in the amount of natural resources, but in the diversity of the population. So it is with the bazaar. In Linux, for example, by delegating components of Linux development to highly-motivated members of the net brain trust, the work not only got better faster than in the cathedral model, but the diversity of the collaborators yielded a degree of peer review that ironed out problems much more efficiently than when relying on internal “black box” support and damage control mechanisms.

The positive effect of the open source movement on the software industry cannot be understated. The open source movement is analogous to the Gutenberg printing press. After the advent of this movement, anyone connected to the net has access to the same quantity and quality of software as anyone else, including service providers, throughout the world.

A more specific definition of open source can be found at the Open Source Initiative site, http://www.opensource.org. The major tenets of their open source definition include things like free distribution; a requirement that source code as well as binary end-user code must be included in the distribution; that modifications and derived works are permissible under the terms of the original license; that the integrity of the original author(s) code may be preserved only if provision is made for building on that code by some means, such as patches or successive version numbers; no persons or groups, such as users of or even originators of competing software, may be distributed against in the code; and a prohibition on discrimination against other fields of endeavors, so open source software created by a Greenpeace initiative can be fairly used (within the idea of open source, at least) to advance the cause of clear-cut deforestation or robotic whaling and seal hunting.

Contrary to popular belief, although a vast amount of open source software originates in the UNIX world, the PC and mainframe cultures have definitely played a significant role in shaping the movement.

Before the the Microsoft Winsock API was developed, back when DOS was more prevalent than MS-Windows, FTP Software Inc. open-sourced the packet driver API, spawning the creation of many multiplexing protocol drivers for PC network interface cards. Before the packet driver spec, a PC could usually only do one protocol stack at a time, so if you wanted to telnet to a host while using a Novell file server you were frequently just out of luck.

The history of both UNIX and VM [2] is replete with instances of bazaar/cathedral cross-pollination. On the VM side, things like CMS PIPELINES, VMNET and the Webshare Web Server were all developed in academia and snarfed up into various commercial cathedrals. Neither UNIX, nor the Internet itself, would exist in its current form and quality if it weren't for the Berkeley additions to the open sourced UNIX code that added high-quality Internet networking to the operating system's core components and tools. Indeed, practically all IP networking stacks are based on the early Berkeley System Distribution code.

Big Deal!

More than just a different kind if licensing agreement, the open source idea represents a way of delivering high quality, security, support and interoperability to anyone who needs software, as long as they're on the net. How often is open source software uniformly better than its closed-source counterpart? That depends a lot on your application.

If you're looking for core Internet software like a Web or DNS server, or an operating system, chances are you can find software that is every bit as good as 95% of the closed-source alternatives, and occasionally better than all the alternatives. If you're looking for a replacement for your standard office automation or groupware product, it might be a little harder to fit the bill. Here are some open source successes:

  • The original open source products were operating systems, and a variety of open-source operating systems are available for downloading, the two most popular of which are Linux (http://www.linux.org) and FreeBSD (http://www.freebsd.org). In recently submitted court documents, Microsoft claimed that in certain markets, Linux is outselling Windows98. This statistic is fluff and meant to confuse, but the fact that Microsoft is targeting Linux as their primary competitor, and the existence and content of the Halloween documents, in which Microsoft acknowledges the threat of open source and outlines a strategy for derailing it shows that open source is a force to be reckoned with.
  • As of this writing, more Web sites use the open source Apache product than any other Web server [3]. Apache has just over 56% of the server market, followed by Microsoft IIS at 22.33% and Netscape Enterprise at 5.65%. Apache is a typical open-source product. The name was arrived at because it was originally a highly patched version of another open source Web server from the National Center for Supercomputing Applications, NCSA. The folks who assembled all these patches to present a “patchy” Web server, eventually replaced all the NCSA code, surpassing the quality of the NCSA server, which was one of the first commonly-popular Web servers run throughout the Internet.
  • Sendmail, another open source product, is by any definition as important to the overall Internet E-Mail infrastructure as Cisco routers are to the routing infrastructure. It's only on rare occasion that sites use anything BUT Sendmail as a Mail Transport Agent -- a kind of E-Mail equivalent of a railway switching station. Its legendary flexibility wouldn't have been possible without following the classic “writing software to scratch a particular itch” model of open source. Eric Allman, its author, wrote Sendmail's precursor, Delivermail, as an E-Mail transport mechanism between three somewhat disparate networks at UC Berkeley. Feature after feature followed, and we have the Sendmail we have today.
  • Perl is another example of an early open-source ugly duckling that grew into a swan. Larry Wall wrote perl to amalgamate the features he had and liked in such UNIX standard utilities as sed, awk and grep, and those he wanted and didn't have, which were forcing him to write compiled programs in C when a simple scripting language would be preferable. Today, next to C, perl is probably the most popular programming language on the planet.

What do I get out of it?

  • Quality. Open source software is, in most cases, of very high quality. The open source community is very picky -- software that is not well-written or deviates from open standards will be rejected. In many cases, open source software is developed as a long term project by a University to meet the needs of their own community and then released to the public after it is a determined success.
  • A cheaper product. It's free, and you can attain it immediately -- making it unnecessary to go through a purchase cycle that occasionally lasts longer than the lifetime of the product you've ordered, forcing you to start from scratch and re-order because the item you originally ordered doesn't exist anymore.
  • Better security. This might sound odd, because not a week goes by that you don't hear from CERT or BUGTRAQ about a security exploit in an open-source product, but a primary difference here is that when flaws are found in commercial products, the response is spin and damage control. When flaws are found in open source, they are frequently reported along with a fix, or the fix is supplied in very short order (sometimes only hours later) by one of the programmers responsible for writing the product.
  • Better hardware. What money you don't spend on software licenses can be redirected at upgrading hardware.

Last but not least, you promote and empower the single greatest nation in the world -- the one without borders -- the Internet. Each time you put open source and open standards to work, you promote the movement. If you go one step beyond that and ask for support, report a bug, make a suggestion or contribute an improvement, you've joined the great inner circle of the net brain trust and have put another nail in the coffin of the prosaic legacy model of software licensing and system design.

How do I do it?

  • Give open-source solutions an even chance with commercial ones. You'll often find that the open source solution meets your requirements, is more widely used, and is more readily supported than the commercial alternatives. Support for open source software is free and includes mailing lists, Usenet groups, FAQs, and often the archives of lists and newsgroups.
  • Learn UNIX. Right now, UNIX is where it's at in the open source movement. Learn it if only to have a good point of reference against which to compare all the other systems you know.
  • Become agNOStic. Let go of your operating system bigotries. Look at all the ways that, using open systems, all the Macs, PCs, Mainframes, UNIX boxes and just about anything else can work collaboratively and stop wasting time with religious wars over platforms.
  • Read newsgroups and mailing list archives related to your field. Also give special attention to ones related to standards and source distribution and discussion.

The box is a shrink-wrapped model of commerce that no longer fits the bill.

Think outside the box.


Footnotes

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

[2] Probably the best non-UNIX treatment of the phenomenon that the best software on the net has been done in people's spare time, at least until recently, is in Melinda Varian's seminal paper, “VM and the VM Community: Past, Present, and Future”, found in various formats on her home page at http://pucc.princeton.edu/~melinda/

[3] See http://www.netcraft.com/survey/