Betting on The Dark Horse
Volume Number: 21 (2005)
Issue Number: 2
Column Tag: Programming
The Source Hound
by Dean Shavit
Betting on The Dark Horse
When someone mentions Open-Source software in the Information Technology arena these days, there's often
smiles all around. There's big wide grins (those who've made careers maintaining solutions most corporate IT
departments wouldn't dare touch); there's wry smiles (folks who'll listen but never ever implement software
without 24/7 telephone support); there's the up/down silly Texas-border shaped smiles of those who've spend
months or years wrestling with compilers, config files, dependencies, and libraries, and, of course, there's
the smile-and-nod "Oh yes we've heard of that" from the gee-whiz IT Analysts who bandy about big buzz-words
yet not-so-slyly bet on the favorite from the big proprietors of big proprietary software.
A Horse Is A Horse, Of Course, Or Is It?
Not a month can go by when I don't hear a horror story of Microsoft swooping down on some growing company
that didn't have its licenses in order, only to cow them into ponying up for Office and Windows and a hefty
fine. It's really strange to see, in almost every instance, those companies continue on with the big
proprietors seemingly out of fear of either being litigated into an early grave or left without software to
run their businesses.
One reality that many companies don't consider is that there is a choice of platforms and software for any
business, regardless of its size, age, or niche. No company has to follow the rest of the lemmings off the
cliff and standardize on Microsoft Windows and Microsoft Office, or even on OS X, for that matter. There's
always FreeBSD or any number of Linux distributions available to use as an Operating System. Another reality,
though, has to do with basic support--the computer is a foundation for the software that runs on it, so
naturally it should be functional out of the box, if not ready for action, hopefully with some one to call if
the computer should come up lame. So choosing a computer platform for personal use or business is a lot like
plunking down money on a horse race: there's the favorite (Windows and Office), there's the challenger (OS X
and Office) and then there's the long shot (OS X running Open-Source alternatives to Microsoft Software), and
of course, the even longer-shot (Linux, an Open-Source Operating System running Open-Source software).
I've always been a fan of the underdog (hence my devotion to the Mac platform before and after OS X), but
even though OS X has really leveled the playing field in terms of pure functionality when running neck and
neck with the latest versions of Windows, the Mac, in my opinion, is now more than ever the dark-horse
platform, but with one important difference: it now is showing signs of becoming a great platform for
Open-Source solutions.
Arpanet: The Old Grey Mare
Once upon a time, the computer software business was a cooperative effort between very large entities--most
notably the Government, and the Government. Nearly all of the foundational components of the Internet such as
TCP/IP protocol suite, and the UNIX Operating System itself, have history in the DOD (Department of Defense)
and the ARPAnet (Advanced Research Projects Agency Network), which spawned an unprecedented level of
cooperation between Government agencies and large Universities. Reading the numerous histories of the ARPAnet,
I found that the various authors kept repeating two similar phrases, albeit in slightly different forms:
"there was a spirit of openness" or, "there was a spirit of sharing."
Evidently, the late 60s computer developers mirrored the spirit of their age, and established a standard of
open documentation that paved the way for the Internet, UNIX with common command sets, and email, known as the
RFC (Requests for Comments), which came a direct need to keep everyone in the NWG (Network Working Group)
up-to-date:
"These standards (or lack of them) are stated explicitly for two reasons. First, there is a tendency to
view a written statement as ipso facto authoritative, and we hope to promote the exchange and discussion of
considerably less than authoritative ideas. Second, there is a natural hesitancy to publish something
unpolished, and we hope to ease this inhibition." (Crocker, RFC 3 - 1969)
One researcher, Robert Braden, summed it up this way:
"For me, participation in the development of the ARPAnet and the Internet protocols has been very
exciting. One important reason it worked, I believe, is that there were a lot of very bright people all
working more or less in the same direction, led by some very wise people in the funding agency. The result was
to create a community of network researchers who believed strongly that collaboration is more powerful than
competition among researchers. I don't think any other model would have gotten us where we are today." (RFC
1336)
There's an overwhelming consensus, even today, among most computer professionals and software companies
that the Internet should remain framed with the bounds of open standards. That's why it's downright scary when
a company like Microsoft announces any type of Internet or web-related initiative--such proposals, no matter
how good they might be for computer users, threaten the spirit of the endeavor, which is probably, anti-trust
legalities aside, spurred the Government's lawsuits against Microsoft, which probably wasn't really breaking
any laws by building Internet Explorer into Windows. What Microsoft was doing, or threatening to do, was to
build something that wasn't good for the Internet, and in many respects, the Internet is one of the greatest
things our Government ever helped to produce, Al Gore's contribution non-withstanding. After all IP packets
still carry Uncle Sam's stamp, as in these:
ETHERNET: ETYPE = 0x0800 : Protocol = IP: DOD Internet Protocol
ETHERNET: Destination address : 00E0293C9740
ETHERNET: .......0 = Individual address
ETHERNET: ......0. = Universally administered address
GNU And Linux: Horses OF A Different Color
Some web sites refer to the ARPAnet and the development of the TCP/IP protocol suite and the RFCs as the
"Prehistory of Open-Source," but actually, Open-Source is often described as a "movement." As such, the years
between the introduction of the Macintosh, which coincided with the increasing dominance of Microsoft
Operating Systems, and the foundation of the "official" Open-Source Initiative in 1998, are the years where
Open-Source compiled its tracts. Much of the action coalesced around two groups: GNU (Gnu's Not Unix), which
codified the spirit of cooperation in the form of Open licenses and NCSA (National Center for Supercomputing
Applications), which brought the World Wide Web into general use. Together, the platform for collaboration
(the Internet) and Open licensing would lay the groundwork for the Open-Source offerings available today.
Much of the GNU project is the brainchild of one man, Richard Stallman, who announced in 1983:
Free Unix!
Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for
Gnu's Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and
equipment are greatly needed.
Although the GNU project didn't get into full swing until 1984, it was clear that Stallman certainly had
the OSS (Open-Source Spirit). Eventually, this spirit evolved into a manifesto:
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I must share it with other people who
like it. Software sellers want to divide the users and conquer them, making each user agree not to share with
others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a
nondisclosure agreement or a software license agreement. For years I worked within the Artificial Intelligence
Lab to resist such tendencies and other inhospitalities [sic], but eventually they had gone too far: I could
not remain in an institution where such things are done for me against my will. So that I can continue to use
computers without dishonor, I have decided to put together a sufficient body of free software so that I will
be able to get along without any software that is not free. I have resigned from the AI lab to deny MIT any
legal excuse to prevent me from giving GNU away.
The first thing that comes to mind is wow, here's a guy willing to quit his job, because he feels so
passionately about the need for readily available, non-commercial computing tools. Is there anyone who feels
that strongly today? No doubt there is; yet such grand sacrifices are hardly necessary now, not with the the
GNU General Public License. The founding fathers knew that spirit alone just isn't enough to make a permanent
dent--every prophet eventually has to be or find a scribe.
So, in 1989 (later revised in 1991), the spirit of the GNU project was codified in the GNU General Public
License, also known as the GPL. This is now the license of choice for almost all Open-Source software. This
principle became known as "Copyleft." Like the Declaration of Independence, the GLP has a few choice lines
that sum up the whole:
1. From the Preamble: "The licenses for most software are designed to take away your freedom to share and
change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and
change free software--to make sure the software is free for all its users."
2. "When we speak of free software, we are referring to freedom, not price."
3. "To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to
ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it. For example, if you distribute copies of such a
program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must show them these terms so they know
their rights.
4. "Finally, any free program is threatened constantly by software patents. We wish to avoid the danger
that redistributors of a free program will individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use
or not licensed at all."
How many of us breeze through the license agreements while installing software, oblivious to the legalities
that installation implies? To take a moment to read the GPL reveals a work of sparse genius: modify,
customize, even patent the software if you like, but your rights are everyone's rights. Ad infinitum. You can
make it your own, but you can't own it. That pretty much sums up the state of Open Source licensing up to the
present--even though there's variations on Open Licensing such as the LGPL, BSD, MIT, and Mozilla public
licenses, just to name a few. A complete list is available at http://www.opensource.org/licenses/index.php.
In 1991, Linus Torvalds, gave birth to a graduate school project and an operating system that bore this
name: Linux. Even though the GNU "hackers" had developed a foundation of free software tools that ran under
UNIX, the Operating System itself remained under private ownership and could and would be used for competitive
and proprietary purposes in the quest to gain market share. Linux gave Open-Source development what it really
need to flourish: a complete Open-Source, low overhead and lightweight foundation. Just like the GNU software,
Linux could be freely distributed, modified, and enhanced, as long as the source code shipped along with the
disc and documentation. It's not necessary to go into depth on Linux, let's just acknowledge that it's been
very, very successful. Apple even cut its teeth on Linux with MkLinux (http://www.mklinux.org) in the late
1990's with the intention of bringing it to to the PowerPC platform. MkLinux was different from all other
Linux distributions because it used an earlier version of the Mach microkernel that powers OS X.
The Great Big Gift Horse(s)
It was one thing for the GNU hackers and Linus Torvalds to build free UNIX tools and a free operating
system. It was another, wholly unanticipated event that kicked the Open-Source initiative into high gear, the
announcement that Netscape intended to give away the source code for its browser, Netscape Navigator, which
would later become Mozilla (and FireFox and Camino and Thunderbird), and a foundation (the Mozilla Foundation,
named after the colorful dragon mascot of Netscape 1.0). A group of excited volunteers, with the blessing of
Linus Torvalds, created www.opensource.org, definitively coining the term "Open-Source," and adopting the Open
Source Definition derived from the Debian Linux Free Software Guidelines. The gift of Netscape didn't pay off
immediately, but when it did, all computing platforms--Windows, OS X, and Linux got a better browsers and email
clients, with other products like group calendaring (Sunbird) and a world-class bug tracking system (Bugzilla)
as well.
In the year 2000, Sun Microsystems followed the lead of Netscape, gifting the codebase for StarOffice to
the Open-Source community, established the OpenOffice project. It was the single largest lump of source code
ever to be released to open development, and eventually, through the hard work of the NeoOffice team
(http://www.neooffice.org) brought a Microsoft Office alternative to OS X without X Windows, fully integrated
with the OS X Aqua interface late in 2004.
The successes of Linux, OSD and the Mozilla project, rubbed off on Apple as it honed its plans for OS X in
1999. By making the core of its Operating System, known as Darwin, Open-Source, Apple gained important
mindshare among developers. Almost immediately upon its release, OS X had companion projects such as Fink
(http://fink.sourceforge.net) and Darwinports (http://darwinports.opendarwin.org) to bring Linux and BSD
software to OS X. With the release of X Windows for OS X in 2002, and Xcode tools with the GCC 3 compiler
concurrent with OS X 10.3, the pace of "porting" or tweaking source code for compilation under Xcode has
picked up with a large percentage of Linux software available to run on the Mac either on the command line,
under X Windows, or in some cases, natively in the OS X Aqua environment, even though some versions lag
slightly behind the Linux versions. Nowadays, it's almost expected that an Open-Source project has an OS X or
Darwin version. As a matter of fact, there's currently a quiet propaganda battle going on between the the OS X
user community and the Linux user community as to which has the greater share of UNIX desktops. Either way,
it's a win-win for all computer users.
Betting On The Dark Horse
It's quite amazing how the Mac has evolved in its role as the dark horse of the computer world. Back in the
days before OS X, Mac users may have had the superior interface, file system, and desktop publishing platform,
but the reality was that as Windows progressed, Mac OS 9 showed creakiness and lack of flexibility. It was
difficult, if not impossible, for instance, to get a VPN client, or a Windows file sharing client, or access
to an Apache web server without paying through the nose, things we now take for granted. As an underdog, OS X
is now not only more capable and secure than Windows, it's also capable of running a majority of Linux
software.
Just today, Apple announced the Mac Mini, the cheapest Mac ever. At $499, the Mac Mini has a chance to make
some serious penetration into the corporate IT world as a workstation of choice to replace aging Windows boxes
or Macs. With more and more companies seeking to decrease their dependence on proprietary solutions (not to
mention decreasing licensing fees and the fear that comes from non-compliance as well), OS X is poised to eat
into Microsoft's market share as it never has before. Imagine a five hundred dollar workstation that requires
not a single commercial application to be a productive business computer, with a slick and friendly interface,
the tightest hardware/software integration available for any platform, with no CALs (client access licenses on
the server end), no software police, and no malware. I'm putting my money on the dark horse, which just
happens to be white.
Dean Shavit is an ACSA (Apple Certified System Administrator) who leads training sessions and
manages consulting projects for MOST (Mac OS Training & Consulting) in Chicago. If you have questions or
feedback you can contact him at dean@macworkshops.com.