Skip Navigation Links

Page One

Campus Computing News

Going, Going, Gone . . .

Summer Hours

Protecting Your EagleMail Account from Spam

Digital Printing at UNT

New Checkin Lab Software Makes its Debut this Summer

Do you have something to tell Everyone?

Today's Cartoon

RSS Matters

SAS Corner

The Network Connection

Link of the Month

WWW@UNT.EDU

Short Courses

IRC News

Staff Activities

Subscribe to Benchmarks Online
    

WWW@UNT.EDU

Resource Management on
a Budget: Part II
*

An Open Source Software Solution: Maintenance, Function and Support.

By Shannon Eric Peevey, UNT Central Web Support

As the presence of Open Source software begins to be felt on desktops around the world, I am finding the people are asking me for more information about this phenomenon. As I have mentioned in past articles, I have been given the privilege to present at the Visual Resource Association Conference in Houston, TX. This incredible opportunity included a chance to see Houston from on top of the Warwick Hotel, as well as, spend time eating great food in the "Chinatown" district. It also gave me a chance to see how you, the end-users, feel about Open Source and the licensing issues involved in implementation of an Open Source solution. Since you were there for me when I was preparing for this presentation, I thought that it would only be fitting that I present to you the final version of the presentation as it was given on April 12, 2003. Thank you for your input and your help!

The Presentation

As a member of Central Web Support at the University of North Texas, I am responsible for maintaining a web presence for the fourth largest university in the State of Texas. With over 29,000 students, our web servers play an important role in communicating with our students, and also act as our first-point-of-contact for prospective students throughout the world. These web servers are attacked, beaten, and bloodied by over 45 million hits a month, and yet, it is not uncommon for them to remain up for almost 150 days. How is this possible? Through research, we have found that server software offered by the Open Source community is by far the most stable and secure server software available. Through openness, and sheer user base, these products are becoming the standards for computing, and not just a "fad" that will soon go away.

Why, then, is Open Source software maligned by proprietary software corporations?

First, Open Source software represents a credible threat to their business infrastructure. If the Apache web server holds 64% of the web server installations on the internet, how can Microsoft or Sun Microsystems market their own web servers? And, why should corporations pay for a web server that does not have the stability and security of the industry standard Apache? Second, the business model of Open Source software does not make sense to most private corporations. How can random groups of people, working for free, create mission critical applications that compete with high-dollar proprietary software? Open Source developers have shown that it's not only possible, but some private corporations are finding that the Open Source business model is actually very lucrative. Finally, the idea of Open Source removes competition. If everyone has access to the source code of an application, there is no way to hinder other developers from using that code in their own products. Hence, the process of applying all improvements to all applications would eventually be seen as redundant, and only one application would emerge as the standard.

What does this mean for us?

This means that Visual Resource managers have the capabilities to create Open Source applications that can take the place of high-dollar applications, such as House of Images, Argus Collection Management System, and even, PastPerfect. How can we do this? First, we need to become familiar with the "component" tools that I am going to introduce to you today, their role, capabilities and weaknesses. Second, we need to decide which management area would most benefit from the introduction of an Open Source variant, and third, we need to call on developers from around the world, who are willing to bring their particular expertise to our project. Let me show you how...

Let's Introduce our "component" tools

Now, because of the enormous volume of relevant Open Source software and restrictions on time, I feel that it would be most beneficial for you, if I were to focus our discussion on the Open Source applications that we are using as "component" tools for our dynamic content web hosting services at the University of North Texas. These tools include, but are not limited to, the GNU/Linux operating system, the Apache web server, the PHP: Hypertext Preprocessor, and the MySQL database server. Through a general overview of each of these "component" tools, I hope to raise your awareness about Open Source software, and also, open your eyes to the possibilities associated with mixing these tools in different combinations.

First of all, the importance of choosing a server operating system cannot be overstated. If you choose an operating system that is not available for free, it is likely that most of the software available to run on this operating system will be expensive, or at the very least, cost-based. This became the main motivation for our department to move off of Sun Solaris, and make the move to a newer variant of Unix, most commonly referred to as Linux, or perhaps more appropriately, Gnu/Linux.

Linux, as an operating system, is perhaps better understood as the marriage of Gnu software, the software created and maintained by the developers of the Free Software Foundation, and the Linux kernel, which was created under the direction of Linus Torvalds, at the University of Helsinki, Finland. It is this marriage of Linux kernel and third-party software that has led to the development of a the wide array of different "distributions" of Linux. These distributions, such as Red Hat or Debian, are really only a compilation of third-party software "wrapped" around the linux kernel. For our purposes, as managers of large, sustained collections, I would suggest using one of the major distributions, preferably either, Red Hat or Debian.

Red Hat Linux is a fairly mature Linux distribution with good documentation and a good fee-based customer support infrastructure. It is the standard distribution for many institutions, and also has a good working relationship with many large commercial corporations, such as Oracle, Sun, and Macromedia. These relationships, as well as, the popularity of this distribution make it very easy to find software that is easily configured to work with the directory structure, the package manager, and the libraries that are shipped with Red Hat.

Debian, or more appropriately Debian GNU/Linux, is one of the last true open source Linux distributions. The development community, made up of over 900 developers, has made a "Social Contract" with the open source community promising to keep Debian 100% free, and will not allow any component that is not 100% free and open sourced to be added to the distribution. (Debian) They have also striven to have a stable, error-free linux distribution, which means that Debian does not contain the newest versions of third-party applications or kernel, but relies on versions that have been tried and tested.

The second most important piece of software in our web design scheme is the database system. There are many top quality database servers available for use as resource storage tools. When deciding on a database system, especially in a web environment, it is always better to choose a database server. This is because a database server is always waiting for connections from clients, and the operating system doesn't have to start the program every time a call is made to the database, as it would when using a desktop database system such as Microsoft Access. Under heavy load, the latter can cause severe strain on the server hardware. It is also important to find out which operating systems a database server will support. Most database servers do, in fact, support multiple operating systems and only differ in the complexity of administration and feature support.

With over four million installations throughout the world, the MySQL database is currently the world's most popular Open Source database server. (Kirkpatrick) It is stable, robust, and FAST. Under rigorous testing, MySQL was found to surpass all other database systems in speed, and was equal to Oracle in stability. (Dyck) The ease of administration and number of clients make this database server a key competitor.

MySQL does have some shortcomings, though, such as:

doesn't support some newer SQL standard features.

doesn't support sub-selects.

Doesn't have an easy way to store and create stored procedures.

Third, we have found that the Apache web server is the best choice for serving web server content. Apache has been the industry standard since 1995, and currently runs 64% of all sites on the internet. (Netcraft) Apache is not the fastest, nor the most powerful web server available, but is extremely configurable, extremely stable, and its modular architecture and mature API make it very easy to program third-party modules. It is this modular design which allows Apache to support such a large number of programming languages, and allows any number of tools to be mixed and matched to create an installation that is uniquely perfect for your installation. Also, with the release of Apache 2, we have the introduction of Multi-Processing Modules, which will allow Apache to proliferate across even more platforms. (Apache)

Finally, the PHP: Hypertext Preprocessor, or PHP, programming language has become one of the most prolific web programming languages with usage in over 10,500,000 domains. (PHP) Its object oriented capabilities, and large user base have helped this relatively young language mature very quickly. Now, with the release of "The PHP Extension and Application Repository", or PEAR, PHP has a centralized location for obtaining reusable components to help speed the creation process. (PEAR) PHP also has access to a great many image libraries, such as ImageMagick and GD, (now bundled with the newest versions of PHP), which will allow you to create and manipulate images on the fly. I think that given the huge user base, and the amount of development that is currently going on in PHP, we have much to look forward too.

At this point...

It is important for us to step back and look at the proprietary tools that are being used in our jobs. Many of these tools, such as, Calm2000 and House of Images, cost thousands of dollars, and some even cost tens of thousands of dollars, such as Argus Collection Management System and Multi MIMSY 2000. When we take a step back and look at these tools, we can see that they are only database back-ends with a Graphical User Interface, or GUI, front-end. If we look at the tools that we have just covered, we can see that we have, 1) a free database back-end, and 2) a free language with which to create the GUI front-end. Now, if we wanted serve these files across the local area network, we could also choose, instead of PHP, a different front-end language such as QT, TCL/TK, Perl, Java, Python, or any number of languages that would allow us to connect to a central database that is located on the network. If we chose to create an Intranet web site, then we could use a Linux server, running Apache and use Perl, PHP, Ruby, Python for the GUI, or even install Jakarta, and create applications using Java. All of these tools have the same capabilities as the expensive products that you are now using.

So, you may ask, how does one start an open source project...

After deciding on the projects needs and capabilities, it is time to start calling on developers to work on our Open Source application. Obviously, librarians and information systems designers will be our greatest contributors, but you may be surprised that other programmers will find this application interesting as well, and will spend the time to add a module or two to the application. It is also important to set the development site at a single location, use versioning tools to keep the development from becoming confused, and have an administrative structure that will allow us to restrict write access to the source code. You may also be surprised that many internet sites actually specialize in hosting Open Source development projects, and which already have the tools and infrastructure necessary to maintain a project in place. One site, which Mr. Rorissa mentioned, is SourceForge.net. This site is run by the Open Source Development Network, and offers free access to all of its development tools and infrastructure to all Open Source projects. (OSDN) With over 60,000 projects currently hosted on SourceForge.net, it is a very popular site for seekers of Open Source software, and would be a great place to host and advertise our applications to the general public. Using the site template that they offer project coordinators, we can post news, application bugs and wishes, create mailing lists, and track version changes.

In conclusion, I feel that it is important for Visual Resource managers to respond to the current economic situation with bravery and integrity. They must look to the future, and know that their decisions today will safeguard their libraries in the future. They must realize that good software does not always mean expensive software, and they must know that "free" software, does not always mean "cheap" software. It is with this in mind, that I propose to you that Open Source software and its ideals are the place that we should be. Librarians are an untapped resource for Open Source, and we have so much to offer. With our knowledge, we can begin to put Open Source tools to use, and create competitive applications that would be available for free to all. Even if it only using Apache and PHP to serve your content on the world wide web, deciding to run Linux and GIMP on all of your desktop machines for image manipulation, or collaborating on and implementing a newer, better Open Source image management system, Open Source applications can help save you money, while you remain on the "cutting edge". As Richard Stallman, founder of the Gnu Project, is fond of saying, "Free software is not free, as in beer, but as in Freedom".

Resources


* You can read Part I here.