- MarissaBrand
- gordman
- mithunsarker
- Kim07
- Ralph Waldren
Use of Open Source Software
The choice of using Open Source software is not about any specific
proprietary software vendor, it is about freedom. Requiring a specific
brand of closed source software is like building highways that only can
be used by Fords.
The only yes/no question we need to answer is if we are
willing to allow that freedom.
Is Linux the Only Significant Example?
The Linux Operating System is currently the most talked about Open
Source project.
However, it clearly is not the only one.
Today, the majority of all computer centers use some open source
software.
Examples include:
- gcc -- An Open Source C compiler that is used on many platforms
including Solaris and HP/UX. - PHP -- The most popular web scripting language
- Python and Perl -- Popular scripting languages
- BIND -- Name server software used by 95% of the Domain
Name Service (DNS) servers - Apache -- Web server with a 60% market share
- Sendmail, SMAP, Postfix and Exim -- Mail transfer agents which
make up about 60% of the MTAs on the Internet - MySQL and PostgreSQL -- Open source databases.
A Mixed Software Environment
Selecting specific software for specific tasks should not preclude an
open selection for other tasks.
That is, software should be selected because it can inter-operate with
other environments.
This addresses a current need and also eliminates potential costly
conversions in the future.
Many Open Source projects grew out of a specific need.
For example, BIND was written at the University of
California to address the need that as the number of host computers on
the Internet grew, it was no longer possible to manually maintain and
distribute a host name file to all machines on the Internet.
It was developed on a UNIX system but it was designed to handle a
standardized need.
Today, virtually all DNS is done by BIND but most users of the Internet
have never heard of it nor have any idea what it might do.
SSC, publishers of Linux Journal is an example of an open environment:
- All the server systems and desktops in the office
run Debian Linux. - A Mac is used for layout because of Quark Express
- Contractors (editorial and advertising) use an assortment
of Windows, Mac and Linux systems. - The SSC web servers are running Linux with Apache, MySQL,
PHP and Python. - Linux Journal's subscription processing is done using
Python, Tk and PostgreSQL on Linux systems.
Standards
There are many examples of open standards in computing that have made it
possible for diverse systems (from huge mainframes to embedded systems) to
inter-operate.
These standards include:
- The Fortran, Cobol and C programming languages
- HTML for web pages
- RFC822 and SMTP for e-mail
- 802.11 for wireless communications
- NNTP for Usenet news
- SNMP for network management
- POSIX 1003 operating system standard
But, there are bad examples of standards. For example, Microsoft created
what they called a standard for document interchange called Rich Text
Format.
Problems included:
- The "standard" was created by a single vendor rather than
cooperative efforts like the standards above. - Technically bad as it contained specific markup rather than
logical markup (e.g., 14 point Ariel bold rather than large,
bold sans serif). - While other vendors (e.g., WordPerfect) put a lot of effort into
compliance, Microsoft ignored their own standard. Bugs (import
and export) in early versions of MS-Word made it useless.
Over time, the XML standard was born which addresses what was attempted
with RTF and a lot more.
Today XML is used as default by, for example, OpenOffice
and supported by Quark Express and InDesign.
Will Open Source Eliminate Profits?
In a word, no.
IBM used to give you the OS when you bought the computer. They are
still in business.
The issue is choice. With Open Source software, you can pick who
supports it.
Open Source means a choice of vendors, not the elimination of vendors.
Other Advantages of Open Source
- Open Source encourages local learning and local support.
- Open Source means a future conversion can be quicker and much less
costly. - Horror story from my past: A closed source Pascal compiler with
a floating point divide bug delayed a project for two months. This could
have been fixed in a day with Open Source. - Open Source software is more secure because you can inspect it and,
if necessary, fix it. If the community is large (Linux, for example)
inspection and repair happens very rapidly.
Is Price an Issue?
It certainly can be.
When Open Source software is called free, the reference is to
freedom, not cost. However, costs should be considered.
Open Source advantages include:
- Lower per copy cost
- No ongoing license fees
- Bug fixes can be shared
- Supporting Open Source software can become a product
Other Advantages - Ownership and Security
For most proprietary products, the end user license agreement, known as the EULA, gives you little control over your use of the software. For some products, for example, it is technically illegal to upgrade your motherboard or processor. When processors begin to have embedded Digital Rights Management, or DRM, it will be perhaps impossible.
There is more to the security issue. For example, the Windows XP EULA gives Microsoft access to your computer even without your knowledge of when it's happening. Personally, I don't want to give anyone access to what's on my computer without my permission each time they do it.
To me, it all boils down to the basic question of responsibility. I am willing to take the responsibility for my equipment and software, and I don't want someone else telling me that what I have bought and paid for isn't really mine, and that I can't do what I want to with it.
Another Advantage
Another advantage of Open Source and Free Software is that it allows for forking when appropriate - so people can take a project and adapt it to their own needs as well. This is very good for communities that do the same things the same way.
It was ugly. There were toothpicks everywhere...