|
Softpanorama
(slightly skeptical)
Open Source Software Educational Society |
May the
source be with you,
but remember the KISS principle ;-)
|
Solaris vs. Linux: Framework for the Comparison
by Dr Nikolai Bezroukov
9. Conclusions
|
Am I the only one to see that
Torvalds and other open-source software revolutionaries
are acting out the finale of George Orwell's Animal
Farm?
--
Bob Metcalfe, InfoWorld
|
|
"This is not the end. It is not even the beginning of
the end. But it is, perhaps, the end of the beginning."
Winston
Churchill
|
Previous version of conclusions begin to resemble an separate article
and was converted into Summing up section ;-). Business
decisions are always compromise and much depends on the goals. The key in OS
area is the total cost of ownership.
Here we just reiterate the major points
which might help to determine right compromise. Please note that I am talking
not about cash-strapped universities and/or start-ups and not about firms
located in developing countries. I am talking about making decisions in the
environment of more or less well to do (although now far from flush with money)
large enterprise IT:
- Enterprise OS mix behaves like an ecosystem and side effects as well as complexity
of the task of adding yet another flavor on Unix in a large enterprise environment
(be it linux or Solaris) should not be underestimated. Those side effects
tend to eat into savings. Proliferation of unix flavors increase sysadmin overload
and lessen the quality of each individual environment as workforce became
spread too thin and lack critical mass necessary for acquiring and improving
knowledge. With large overload the situation is more about survival then
about quality. Even with huge cost-effectiveness of Intel Duo CPUs killing
one of existing flavors of Unix usually can save more than adopting a new
one. Cost and tradeoffs typical for excessive diversity of
Unix environment are often ignored in simplistic calculations of
benefits of linux adoption (or any other new flavor if unix adoption,
including Solaris adoption).
- Enterprise linux flavors are in all dimensions more similar to
proprietary software that many people wish to admit and generally suffer
from the same weaknesses with some (instability) even more pronounced.
Promises have been made. Assurances have been given. Commitments have been
published. But far less has been delivered. It is clear that in some more
important in my view aspects linux in technically inferior to Solaris
10, while in others less important from my view aspects Solaris 10 is inferior to enterprise linux flavors. Stability of enterprise linux distributions is less then
stability of Solaris 10 and
other major commercial Unix flavors (AIX 5.3 and HP-UX 11i). Linux
distributions are bloated and complexity
distributions in general, and kernel in particular, is high, regression
testing is limited and sometimes errors
including kernel errors can be introduced during regular patching process
due to the update of the kernel or particular important subsystem. "Blue screen of death" due to driver problems
are not uncommon with the only
differences from Windows that at the time of the crash linux kernel often is
unable to display even the panic message. Server simply froze.
Patching in linux is more dangerous
process then in Solaris 10 and for critical servers, whenever possible, should probably be limited to
minimum subset of security patches. Due to stability problems linux should preferably be used in applications were redundancy is built-in
in the design. Integration with directories (including Active
Directory) is important to the extent that it can be said "It's the
Directory, Stupid" and here the favorite is unclear but it might be
Suse. In this area Novell looks slightly better then others,
but concerns over cannibalizing eDirectory keep Novell from
doing a better job.
- Qualification of sysadmins is the key to stable and reliable work of any
Unix or linux server farm. There is no substitutes and neither Solaris not
linux can fly well and do not crash without experienced pilots.
High qualification can be achieved only if
sysadmin is responsible for no more then two flavors of Unix. That means
that the level of diversity of Unix flavors in a large enterprise
environment should be tightly controlled.
- We need to distinguish benefits of
Intel/AMD hardware from
benefits of new OS adoption. Advantages of linux are too
often uncritically mixed with the advantages of switching to Intel/AMD hardware and first
of all its dramatically better (often twice or more lower) price/performance ratio
of Intel Duo CPUs in comparison with Itanium and RISK CPUs. In reality, for large enterprise
environment with multiple Unix flavors installed, linux offers very limited advantages and some noticeable
disadvantages if compared with using existing commercial Unixes on competitive hardware (for
example with Solaris 10 on Intel/AMD hardware). Fashion based replacements of Solaris SPARC servers with
linux servers without considering possibility of moving to Solaris 10 on
Intel/AMD hardware increase costs instead of providing savings: the
key advantage is faster hardware and Solaris on Intel/AMD similarly
beats equal or more expensive Sparc systems. At the same time proliferation of various flavors of Unixes makes infrastructure less
cost efficient, not more cost efficient. That suggests that
days of Sparc on low and mid-range servers might be numbered despite
T1/T2 CPUs. The latter just slow down the process. Moreover for enterprise class-applications licensing costs and maintenance
costs (which include cost of local manpower) by-and-large determine the total cost of
ownership. This situation, for example, is typical for SAP/R3
deployments. higher uniformity cuts costs even if different OSes are
used.
- Linux plays an tremendously progressive role at large enterprise
environment as a counterbalance to strangulating IT bureaucracy.
Born as an alternative OS it still can live to its promise. It permits running small, "guerilla" projects and
experiment with new technologies like scripting languages. It also can
lessen the negative effects of "pseudo-security" efforts of
"overzealous know-nothings" at desktop area. Actually, in
security area large enterprises
IT should fear more from the bungling of
the incompetent than from the machinations of the wicked.
In principle, Solaris 10 can play the same role, but it requires more efforts
both in installation on corporate desktops and configuring the necessary
software. That might soon change.
- Bureaucratization of IT has very positive influence on linux/Unix adoption
and significantly diminishes attractiveness of Windows.
The litmus test of the level of bureaucratization is prevalence of form over
substance and as a side effect fashion rules and logic does not necessarily
prevails in discussions about the relative benefits of introduction of a new
OS. IT bureaucracy like any other bureaucracy
with age develops goals strictly related to self-preservation. The more dominant are those self-preservation tendencies the more
bizarre and damaging from the point of view of common sense enterprise IT moves can be expected, the more politically motivated major technological decisions become(
misdirected SOX compliance
efforts are a good example here ) and the less they care about you, the Unix
administrator. On the other hand the same bureaucracy in Windows
space push users to the "Unixland" as bizarre and arbitrary limitations make it
difficult to use Windows productively. With group policies available,
Windows world more and more reminds mainframe world. In this sense linux (and to lesser
extent Solaris) serve a very positive and extremely important role in modern
IT: the role of "freedom fighters weapon of last resort".
- The complexity of modern OSes had
risen to the level when it is almost beyond the capability of single, even
very intelligent, person to understand them. Also OS themselves represent a
moving target (linux to more extent then Solaris or, AIX, or HP-UX). Due to
this top level admin skills can be
acquired only after many years of hard work (forget about people claiming to
be "experienced system administrators" with just one or two years of
administrator work under the belt unless they are former programmers on the
same OS). Due to the level of variety between different Unix flavors
sysadmin skills are to considerable extent Unix flavor specific and that's
why usually people tend "naturally" concentrate on a single ("loved") Unix
flavor and dislike others (in addition one "minor" flavor can be learned
reasonably well too). Administrators
with deep knowledge and passion for Unix flavors currently used represent important part of the company intellectual
capital, the capital that can be easily wasted in case of
transition. That actually might can help to explain such a persistent
phenomenon as "OS nationalism" often demonstrated in discussions like
Solaris vs. Linux as they usually pretty well resemble the style of USA
culture vs. Great Britain culture (Canada or Australia can be substituted
for Great Britain) discussions (you know both countries share the same
language don't they ;-). Unix sysadmins who moved to a different
flavor of Unix much like expatriates often do not feel well in a new
territory for several years as considerable part of their skills is Unix flavor
specific and the higher qualification they have that large is this
"specialized" part. For administrators with almost a decade of experience in a
particular Unix flavor under the belt, to quote Linux Torvalds,
switching from administering one
OS to another is not unlike “performing brain surgery on yourself”. This is one of the major reasons why adding any new
Unix flavor to the large enterprise Unix mix usually does not provide for
expected savings.
- Due to the complexity (should I say overcomplexity ?) of modern
Unixes the value of OS certification cannot be
overestimated. Having certified in particular flavor of Unix administration
for at least some administrators on the
floor is probably the most reliable way to avoid
rather painful errors and horror stories at the initial stages of introduction
of any new flavor of Unix. For example, it is clear from the content of the
paper, that the expertise in Solaris or AIX administration is not directly
translatable into linux domain and attending one intro or "transitional" course is not enough -- such
a bootstrapping
approach and the idea of "growing sysadmin expertise with the system" might
backfire discrediting the OS in question more then actual or perceived
shortcomings. At the same time linux certifications suffer from the
same "multiple-personalities disorder" that linux itself is suffering from.
Among vendor certifications Red Hat certification looks more
objective measure of skills and IQ then Sun's certification.
- After more then fifteen long years, the zeal to build a brave new OS is
cooling. The leadership, from Linus Torvalds down to the lowliest kernel
driver coder, seems more tired than inspired. The ruling "Linux elite" seem
reluctant to make way for younger men. Cynicism due to "make money fast
zeal" among the Linux elite during dotcom boom and maladministration of
the kernel development further dulled
the efforts. Moreover Linux kernel development efforts are spread too thin trying to encompass all the
hardware spectrum from laptops to high end servers with just a fraction of resources
at hand in comparison with Microsoft. The decision by Linus Torvalds to abandon
stable branch of the kernel (previously with great success maintained by Alan
Cox) and essentially delegate debugging of the kernel to distributors in version 2.6 does
not help too. That means that outside its major deployment area (low end
servers, especially front end web servers) you should expect raw spots. Solaris
on X86 is more suitable for midrange servers if and when corresponding
applications are available. Solaris is more focused on servers OS, although recently Sun
brass also tried to position Solaris 10 to
be "all things to all people" and repeat linux mistakes. In case you order Sun X86-based hardware
you get
an important additional advantage of using a single hardware and software vendor (which
eliminates finger pointing), the advantage that is absent for any enterprise
linux distribution.
- Contrary to hype, linux does not have advantages over Solaris in the development model.
Large scale open source software development projects actually
stimulates hierarchical power redistribution with the Great Chairman at the
helm and less powerful but no less autocratic "members of Politburo" as the
second level of hierarchy, the process of consolidation of power and
emergence of elite that long before linux kernel development saga was
masterfully depicted in
Animal Farm (as
reflected in popular quote "all pigs are equal but some pigs are more equal
then others"). Like in fluids with certain concentration of
salts this process of "crystallization of the elite" is an objective
process that occurs independently of the will of the participants and their
goals. Moreover reliance on faceless Internet-based
communication might amplify some of problems typical for corporate
environment and stimulate power struggle at the expense of real work. Financed
by consortium of hardware and commercial software vendors cooperative model used by linux (with the support of enthusiasts from
many countries) demonstrated weakness of architectural vision which in turn
leads to dominance of imitation at the expense of innovation. Wrong choice of direction or changes that
badly effect stability can propagate all way to the top pretty easily as
seeing the whole picture is a difficult task even for the most devoted and
talented developers. With the current level of complexity of the
kernel developers including Linus Torvalds looks more like proverbial blind
men and an elephant.
The traditional corporate model with more clear cut lines of responsibility
(when a person can be hired for a particular important task or fired for a particular blunder),
more concentrated presence of developers at one place, partial suppression
of "vanity fair" motives by copywriting the work by faceless corporation and
monetary stimulus like stock options might be not as bad as some open source
enthusiasts try to depict it. One of undeniable advantages is that communication between key developers can
still be face-to-face.
Due to
the age of linux there is an inevitable problem connected with the
forthcoming change of the leader, the change that is more problematic and
painful that similar change in proprietary unix teams.
- Solaris does not have the
danger of proliferation of flavors and as such is vastly superior to
both Red Hat and Suse. This issue cannot be swept under the
carpet as there is a real danger to bet on a wrong horse and later face the
necessity to support two enterprise flavors of linux in
one organization. The leading linux vendor (currently Red Hat) does not
occupy very stable position and can be
eventually displaced by Novell Suse or (less likely) Ubuntu which is currently a rising star
among linux distributions. Suse has been tuning kernel for AMD for
a few years (they wrote the GCC x86-64 back-end) and now enjoys support of
IBM. All-in-all internal linux fragmentation is the replay of old
Unix wars and as such is a serious
threat. I doubt that enterprise system administrators can benefit from remembering 3 ways of
doing things, for example, changing resolution of the screen
(one for Suse, one for Red Hat and one for Ubuntu). Just a threat of competing distribution
winning at the marketplace over adopted in the particular company (say, Suse vs. Red Hat)
somewhat cools
enthusiasm for linux. No
amount of hype can hide the fact that the cost of switching from one flavor
of enterprise linux to another is comparable with the cost of switching from one
proprietary Unix to another: the same level of vendor
lock-in and associated problems with re-certification of applications,
partial retraining of administrators, etc. No amount of Linus Torvalds
interviews can hide the fact the linux is fragmented into two major
enterprise flavors which can be viewed as competing OSes with common
kernel. If you do not understand the value of single version of
OS please browse Windows
evangelism documents starting from page 9. While it is
highly Microsoft-centric
it's pretty instructive as for the role of single standard for the
prosperity of ISVs. Note the knockdown of competitors with .NET
recently achieved by Microsoft.
- Linux does has important advantages over Solaris in entry level
and mid-range servers
deployment areas both due to the availability of cheaper hardware from vendors
like Dell (although Sun Opteron-based servers are more or less price competitive
and since late 2007 Solaris 10 is officially supported by Dell on its most
popular and very good PE1950 and PE2950 servers), wider hardware spectrum
supported, as well
as due to "home field" advantage (as a platform of development for many open
source applications). Those advantages fade as we move to middle range servers.
They are completely absent for high end servers were linux is simply not a
player (if we discount the role of DOS it is playing in IBM VM/linux
mainframes).
-
Historically Linux has far from being impressive compatibility record.
Recently it became better (Suse is the leader in this area), but still abrupt changes are the way of life despite
the senior age of the OS (sixteen years are a lot for an OS). As Steve
Ballmer aptly answered the question how one OS beats another availability of
source is just one factor:
"The way you beat any other competitors: You
offer good value, which in this case means good
total cost of ownership, right? Because total cost
is really, at the end of the day, the issue. And the
fact that, quote, Linux is open source, therefore it
appears to have a zero price -- that actually made
it easier to shine a spotlight on the thing that
always mattered anyway, which is total cost. We have
a better proposition today, I would think, for total
cost of ownership, and we have to offer better value
where better value reflects the applications that
are available, the quality of the tools. "
In a way
both Linux and Solaris are niche players in the data center stuffed with
Microsoft servers and applications and as such should more cooperate
then compete. In X86 space both are definitely riding on
coattails of Microsoft as both the cost of X86 hardware and average
specifications (including typical amount of RAM) on low and midrange are
determined by Microsoft's share of the market. Large companies now
decide about Solaris or Linux, not because they hate one and love another;
but because of perceived risks, TCO and how well it will play with their
Microsoft part of infrastructure. That means that a good
interoperability is vital and more cooperation between teams is
essential. After all old saying states that the enemy of my
enemy is my friend ;-)
- Solaris currently has more technically advanced kernel with much better instrumentation
capabilities (due to DTrace and solid OS dump infrastructure)
while linux has superior "external" personlaity. Zones and
RBAC are crown jewels of Solaris 10 and nothing in linux currently can match
technical superiority of those two technologies. Due to those advantages
Solaris 10 is
more suitable for deploying complex applications like databases and ERP
systems (for example Oracle and SAP/R3). Dump infrastructure in linux
is primitive and buggy. Tracing also leaves much to be desired and far
behind the capabilities of DTrace. Due to better
instrumentation with proper tuning Solaris 10 can achieve performance comparative
or better then linux on X86 architecture. While linux is definitely fast,
rumors about linux being significantly faster then Solaris 10 on Intel/AMD
architecture are greatly
exaggerated. Actually Solaris
has performance edge over linux for applications that heavily use threads. Availability of enterprise applications
might still be a problem for Solaris 10 for X86.
As for "personality" of OS linux beats Solaris as it looks like more
modern Os for administrators and provide them with a lot on
non-trivial and important capabilities (better package management,
look-back interface, sophisticated LVM, etc).
- Sun has an extremely good and largely deserved reputation in terms of quality
of support, training and certification. In those areas it is superior to offerings
from Novell or Red Hat although Red Hat has an advantage of keeping training
"in-house" while Sun outsourced it and that negatively affects quality.
Novell currently is more democratic vendor as for training and certification
in linux enterprise space (Red Hat has the most expensive training and certification options, expensive
even if we are talking about large enterprise financial capabilities).
At the same time Red Hat certification is vastly superior to Sun's
certification as for reveling real level of qualification and IQ of
holders (although I noticed several bad apples here too, it is more
difficult to fake by memorizing the material without understanding
it).
- On server level security side Solaris 10 has a substantial lead over any
linux distribution
and its security mechanisms are less disruptive for applications. Both RBAC implementation
and zones are superior to mechanisms used in current linux distributions
(with the possible exception in case of Suse AppArmor, which is a
very elegant technology indeed).
Solaris RBAC has tremendous value
as a security mechanism perfectly suited for the large enterprise
environment. In combination with zones RBAC represents a unique method of
preventing "root sharing hell" by ensuring real separation of duties.
Solaris zones essentially allows application owner to control it own
lightweight virtual machine and as such greatly reduce conflicts in access
control in Unix environment.
Recently Solaris RBAC also became one of few ways to channel large part of SOX
compliance efforts in a constructive way and limit the negative influence of
"SOX socialism" on large enterprise IT environment. For RHEL 4 no
amount of hardening can match the security of Solaris with applications running
in zones and well structured RBAC "separation of duties". Suse AppAmor
does has
promise, while RHEL security infrastructure suffers from overcomplexity
and due to overcomplexity actually is a weak point of distribution (cases of
systematic switching it off in production servers are not rumors). This fact, combined with the
necessity (and dangers) of more frequent patching for linux means that maintaining the same
level security of servers on linux servers will always be more expensive for large enterprises
then maintaining the same level of security on Solaris 10 servers be it X86
servers of UltraSparc servers.
Of course here like in most other areas the qualification of staff is
more important factor then differences between those two OSes.
All-in-all Solaris is powerful, stable, conformant to standards OS that can run
many open source applications as well as linux and some (mainly multithreaded applications)
better then linux. Solaris 10 is probably the most close to linux flavor of enterprise
Unix and as such is preferable in enterprise mix with linux to AIX and HP-UX due
to broader commonality of administration between those two OSes (which might
increase even more due to recent Sun moves). Currently AIX, while stable and very capable OS with the best
"heavy-weight"
virtualization capabilities was and is the most obscure of Unix flavors with a
lot on proprietary, mainframe-style solutions which break Unix system
administration utilities traditions
(remember "vandalism is a crime" warnings in NY subway ;-).
As such it is more hostile to linux then Solaris and from system administration
standpoint its "linux affinity" is more a myth (and a very shrewd PR move) then
a reality. AIX 6 can probably be called AIX5S as instead of fake linux
affinity it demonstrates real Solaris affinity with zones and RBAC: imitation is
the most sincere form of flattery.
It even makes one step further in development
of Solaris zones concept as it might implement "live" zone migration
before Solaris (it logically requires 10G links). Hopefully AIX6 will narrow the gap
in system administration with linux and Solaris. It would be
nice if IBM diminished "non-essential" but annoying system administration
idiosyncrasies including, but not limited to, fixing incompatible error
reporting subsystem (syslogd is far from being perfect but can be extended to
fix the most glaring shortcomings like was done in syslog-ng), adding utilities
like
pgrep and
pkill for
/proc pseudo
file system, as well as normalized command line utilities for creation and
modification of user accounts.
I would like to stress that Solaris 10 really can claim "linux affinity". My feeling
is that mixing Solaris and linux in enterprise environment produces the least
amount of mental stress and overload for system administrators in large
enterprise environment in comparison with any other combination of Unix flavors.
In this respect the level of independence of "linux press" with its
unconditional support and praise of AIX raises some questions. AIX is
really interesting and in my opinion underappreciated Unix flavor (its
virtualization capabilities are a real masterpiece of software engineering in
best "old IBM" traditions of technological innovation ) but claims of "linux
affinity" are open to review and look somewhat suspicious for any unbiased
observer. It is the most idiosyncratic flavor of Unix in large enterprise
space.
Both linux and Solaris, each in its own way, are continuing
BSD tradition of "Unix as a culture" and both are key parts of Unix renaissance. This paper suggest that Solaris as a brand did quite a lot of good
both to Unix as technical artifact as well as Unix as a cultural movement
(including linux), so attempt of zealots to blackmail Solaris are misguided. Early years
of Solaris are closely associated with Bill Joy, one of the most influential and
creative figures in the history of UNIX, and it is undeniable that Solaris
introduced many important innovations in Unix, the record that linux simply
cannot match.
Additional advantage of Solaris 10 is that in large enterprise environment it
can serve as a "fall-back" solution for botched linux deployments in case those
deployments are done on Sun X86 hardware (of Solaris-compatible hardware -- many
HP AMD-based servers are certified for Solaris 10). The quality of Sun's
X86 servers is high and the prices are competitive. The same is true for
HP Solaris-compatible servers. There is no reason why
you should put all eggs into one basket and using Sun X86 servers provides for
large enterprise IT architects some
needed flexibility and thus increase that chances of success of the complex
projects. While many of open source enthusiasts would prefer linux for everything
they do, nobody can deny that "stability is a sign of professionalism" and I would
add that the compatibility is an important sign of professionalism too.
With Solaris 10, like in the cases of Red Hat and Suse, the cost of support is
extra, but, in comparison with RedHat, Solaris 10 is more reasonably priced. Security patches
are free which makes Solaris similar to Windows (the latter paradoxically is very
competitive with linux if we are limiting ourselves to enterprise distributions
with paid annual support requirements such as Red Hat and Suse).
In a way Sun make a very shrewd move by opening Solaris. It convincingly demonstrated that it can compete in free and "maintenance fee-only"
Intel-based OS space and, moreover, that in certain areas it can beat other
competitors in this space. As marketplace is not always rational we will soon
see it this is enough or not. anyway, from technical standpoint currently Solaris 10 is the leader among
Unix flavors in large enterprise space and while you don't have to love the leader
(or respect technical quality; this is an unfashionable thing in modern IT ;-),
some experimentation and acquiring the working knowledge of the system would not
hurt even for the most avid linux supporters. They might be surprised what they
find...
If we compare large technical movements to religions it is clear
that those who love Unix should not absolutize the differences between flavors
and be tolerant toward particular expression of the same set of basic values
(Unix culture) in a slightly different form. Historically immature
behavior and claims of superiority is typical for younger, less established
sects ;-).
Generally
programming is not a place for blind devotion. As John Stuard Mills aptly
put it many years before computers became available:
Very few facts are able to tell their own story,
without comments to bring out their meaning. The whole strength and value,
then, of human judgment, depending on the one property, that it can be set
right when it is wrong, reliance can be placed on it only when the means of
setting it right are kept constantly at hand. In the case of any person
whose judgment is really deserving of confidence, how has it become so?
Because he has kept his mind open to criticism of his opinions and conduct.
Because it has been his practice to listen to all that could be said against
him; to profit by as much of it as was just, and expound to himself, and
upon occasion to others, the fallacy of what was fallacious. Because he has
felt, that the only way in which a human being can make some approach to
knowing the whole of a subject, is by hearing what can be said about it by
persons of every variety of opinion, and studying all modes in which it can
be looked at by every character of mind. No wise man ever acquired his
wisdom in any mode but this; nor is it in the nature of human intellect to
become wise in any other manner.
The steady habit of correcting and
completing his own opinion by collating it with those of others, so far from
causing doubt and hesitation in carrying it into practice, is the only
stable foundation for a just reliance on it: for, being cognizant of all
that can, at least obviously, be said against him, and having taken up his
position against all gainsayers knowing that he has sought for objections
and difficulties, instead of avoiding them, and has shut out no light which
can be thrown upon the subject from any quarter -- he has a right to think his
judgment better than that of any person, or any multitude, who have not gone
through a similar process.
As somebody aptly joked about Linux on one of
Information Week forums: "Have you people tried writing poetry about your
lame hatred towards Microsoft? " That's joke is fully applicable to
the subset of Solaris haters among linux aficionados.
Copyright © 1996-2008 by Dr. Nikolai Bezroukov.
www.softpanorama.org was
created as a service to the UN Sustainable Development Networking Programme (SDNP)
in the author free time.
Submit
comments This document is an industrial compilation designed and created
exclusively for educational use and is placed under the copyright of the
Open Content License(OPL).
Original materials copyright belong to respective owners. Quotes are made
for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on
this web page are those of the author and are not endorsed by, nor do they necessarily
reflect, the opinions of the author present and former employers, SDNP or any other
organization the author may be associated with. We do not warrant the correctness
of the information provided or its fitness for any purpose.
Created Jan 2, 2005. Last modified:
June 05, 2008