Thursday, January 25, 2007

Why Use Open Source Technology

Introduction

You have probably heard something about "open source" and "free" software solutions such as Linux, Perl or Apache. Many people have the mistaken impression that open source software is not for serious or large web sites. Let's dispel that myth right now. Etoys.com was the third busiest e-commerce site during the 2000 Christmas season. They served over 2.5 million page views and processed 20,000 orders per hour. Etoys was built using Perl running the Apache server under the Linux operating system, all open source software tools. Interested in learning more? This article will teach you about the benefits of using open source software.



What is Open Source Software?

Open Source software generally is distributed under a license that guarantees the right to read, modify, redistribute and use the software freely. Open source software may be developed by community of programmers interested in developing a software application for a specific purpose. Companies may also develop open source software. These companies will distribute their software for free and make their money from support contracts and customized development.

Much of the open source software is distributed under the GNU General Public License (GNU GPL). The GNU GPL allows you to copy, use, modify, redistribute the software but prohibits companies or individuals from making modified versions proprietary. Richard Stallman, a McArthur genius award recipient, developed this license, in order to encourage the development of a software sharing community. Tens of thousands of developers and several large corporations such as IBM, Sun Microsystems, and Intel have chosen to participate in the open source software movement. Some of most successful and robust software on the web today has been developed under this license.

Open Source Software Dominates the Web

The web is dominated by open source software solutions.

Did you know that over 58% of the web is using the Apache Web Server. This is compared to 28% for Microsoft’s IIS Web Server.

Linux and Free BSD, both open source flavors of UNIX, are the dominant operating system for web servers, not Microsoft Windows 2000 or Windows NT. Linux has a 34% market share for web server operating systems. Microsoft Windows has a 23% market share (source: Linux Today: www.linuxtoday.com)

The most widely used language for web programming is Perl, not Microsoft’s Active Server Pages. Perl has been often referred to as the "glue" that holds the Internet together.

Over 60% to 80% of e-mail travels across the Internet using the open source program, Send Mail.


Source: E-soft inc.: www.securityspace.com

Open Source Software is Used By Some of the Largest Web Sites

Some of the most popular and most successful high traffic web sites use open source software solutions. (source: Netcraft: www.netcraft.com)
yahoo.com is running free BSD (free Berkley Standard Unix)
amazon.com is running Linux, the Apache Server, and the e-commerce system is written in Perl.

google.com (the worlds largest search engine) is running Linux
altavista.com is running Linux
mp3.com is running Linux and Apache
aol.com uses AOL server which is open source.
cnn.com uses Perl

Why do these large web sites use open source solutions? Because many open source software solutions such as Linux and Apache are rock solid. Others such as MySQL database, PHP and Perl programming languages have a large user community with wide range of support.

Benefits of Open Source

Cost: Open Source software available under the GNU GPL license is free. In some cases, you may choose to pay for the distribution (compiled version that contains installable executable software on CD ROM). The cost of the distribution is generally trivial compared to the cost of many enterprise level commercial offerings. In addition, the developers of many of the open source solutions offer support contracts that are suitable to all levels of business or organization.

Software Source Code: When you purchase a license to use most commercial software, you are dependent on the software designer to add features or customize the software for the needs of your business or organization. The software manufacturer provides you with only the executable program. You do not have access to the source code. With open source software, you are free to modify the software and customize it in order to suit your application.

Scalability and Robustness: a large community of highly skilled software developers has created open source solutions, such as Linux, Perl, and Apache. As you can see from our examples, open source software is used across a full spectrum of web sites. Open source UNIX based operating systems such as Linux and FreeBSD are extremely robust and efficient as they are suitable for both small and large organizations.

Large Support Community: a large community of developers that communicate through on-line discussion groups supports many open source offerings. This allows common problems to be easily solved and bugs to be quickly exposed and fixed.

Security and Protection of Proprietary Data: There is a myth that open source software is more vulnerable to attack than proprietary solutions. Actually, the opposite is often true. Because the source code is exposed, it is often easier for a security minded software community to close security holes or breeches.

What Development Platforms are Used By Celestial Graphics?

Celestial Graphics uses a combination of commercial development tools and Open Source Software. We have chosen a combination of tools that will help us develop the best and most cost effective web site designs for our clients.
Web Site Development Tools

We use Macromedia Dreamweaver, Fireworks and Flash. Dreamweaver is used by over 70% of web design professionals (source: PC Data).

Web Programming Language

Celestial Graphics uses PHP for Server Side application development. PHP is an open source solution built from the ground up specifically for web applications. PHP enjoys a large developers community. PHP runs under Linux and can be compiled as an Apache module. This makes PHP very fast. There are over PHP is one of the fastest growing languages on the web. Over 5 million domains (about 800,000 IP addresses) are running PHP (source: http://www.php.net/usage.php). We choose PHP because it has the flexibility of Perl but was built from the ground up for web application development. PHP is fast, robust and scalable.
Database

We use MySQL. MySQL is an open source high performance relational database management system (RDMS). Other rational database management systems include Oracle, Informix, Sybase, and SQL Server. MySQL is widely used on the web and has Interfaces (APIs) to most programming languages including C++, Java, PHP, Perl as well as OBDC.

How does MySQL stack-up against commercial offerings?
In terms of raw speed, MySQL benchmarks faster than many other databases such as Microsoft’s SQL Server and performs favorably against industry heavyweights such as Oracle. MySQL is fast because it was designed primarily as a web based relational database management system.

Who Uses MySQL?

MySQL is used Yahoo, Slash dot, and Linux Today. In addition, MySQL is used as a backend database at NASA and NASA Kids web sites.
E-Commerce Solutions and Content Management Systems

Interchange: Red Hat’s Interchange is a widely used e-commerce shopping cart and web based order management system. Originally called Minivend, this software has features rivaling systems costing well over $100,000 yet is available for free under the GNU GPL license. Interchange contains full-featured web based administration of order entry, inventory, product, content and customer management. Interchange connects to a wide variety of databases including MySQL and Oracle.

EZ Publish: This is a Norwegian based highly flexible and complete content management system. EZ Publish allows you to separate your content from your web site design. The web site design is completely template based for flexibility. Content can be uploaded through a web interface. Here are some of the features:

Community Building: User Polling, Moderated Discussion Groups, User Registration and Management, and Calendar of Events.
Commerce Module: Internationalized on-line shopping system.
Banner Advertising
News Feeds
On Line Statistics
Database Driven with Search Engine Friendly URLs