<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article id="index">
<artheader>
   <title>Software Libre and Commercial Viability</title>
   <author>
      <firstname>Alessandro</firstname>
      <surname>Rubini</surname>
      <affiliation>
         <address>
            <email>rubini@linux.it</email>
         </address>
      </affiliation>
   </author>
</artheader>

<sect1 id="copyright">
<title>Copyright and Licensing</title>
<para>
Copyright (c) 1998, 1999 by Alessandro Rubini.  This material may be
distributed only subject to the terms and conditions set forth in the
Open Publication License, v0.4 (8 June 1999) or later (the latest
versioin is presently available at <ulink
url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
Distributions of modified versions of this document is prohibited
without the explicit permission of the copyright holder.
</para>
<para>
Reprinted with permission of Linux Journal.
</para>
</sect1>

<sect1 id="softwarelibre">
<title>Software Libre and Commercial Viability</title>
<para>
Fortunately enough, Linus' own project of world domination is going
to come true pretty soon. The trend can be verified by checking how
the press is behaving towards GNU/Linux solutions, by looking at how
several educational entities are going to introduce free software in
the schools, and by verifying our usual technical excellence.
</para>
<para>
Nowadays, in 1998 (yes, it's still 1998 as I write this), the
main task that needs to be addressed is propagating the social and commercial
implications of free software.  While I greatly appreciated Russ
Nelson's article on the July issue of LJ, I feel the urge to expand on
the points he touches.
</para>
<para>
Please note that I'm not an expert in economy nor politics. I'm just
a build-it-yourself kind of technical guy who is extrapolating from his
own experience in the battle for survival, hoping someone else could adapt
his/her genes to the new environmental conditions. Some of these ideas,
on the other hand, have already been discussed with friends and/or the
Free Software Business mailing list (fsb-subscribe@crynwr.com) which I
joined after Russel's article advertised it.
</para>

<sect2 id="individual">
<title>Viability for individual consultants</title>
<para>
The best feature of computer systems is their flexibility, the
ability to tailor the computer's behaviour to the user's needs. This
flexibility is often completely unknown to the general computer user,
because proprietary software solutions tend to hinder any
functionality behind a rigid external interface which denies any
divergence from the expected behaviour -- <emphasis>user's</emphasis> 
behaviour.
</para>
<para>
When adopting free software, users are able to face the real power of
computer systems. Today I talked with a commercial consultant who
never thought that programs could be adapted to one's needs; he
confessed that his company has always being acting the other way
round: they adapted the needs to the software they use. Most users are
victims of their software, and don't even realize it.
</para>
<para>
Educating the user base about the extendibility of software will open
new markets to the independent consultants, creating new employment
opportunities. Every user has different needs, and solving these needs
often means calling technical support: people who tailor or
enhance the relevant software. While this is not even imaginable with
proprietary programs, source availability allows to quickly solve any
problem that might arise and easily add new features.  While you
may object that this will quickly lead to a ``perfect'' software
package, individual needs are so different and specialized that the
catch-all package will simply not catch.
</para>
<para>
For example, I and others wrote a program for a local Physiology
center, to analyze data for a typical kind of experiment. During two
years of use, the physicians found so many ways to enhance the program
that it is now reported as better than the commercial solutions. If
you add all of the fees they paid during these years, the program
reveals more expensive than some of the commercial alternatives; this
fact is however irrelevant to my clients as they have exactly what
they want, and they know they can have more should the need arise. The
program is obviously GPL, and other centers expressed interest in
getting a copy.
</para>
<para>
As more and more people are choosing free software to address their
needs, I'm pretty sure some software companies will try to demonize
Linux and the open-source movement because they are losing
market-share. Such companies will probably try to demonstrate that IT
employment is decreasing and the human kind is being damaged by the
general adoption of free software.  The whole argument, however, is bogus;
computers exist to be programmed, and the more you allow programming
them the more you build employment positions. If you count the
number of people that offer free software consulting, you'll greatly
exceed any shrinkage reported by proprietary companies. Sticking to the
previous example, the Physiology lab hired my company to write the
program, and other centers interested in the product are willing to
hire a local consultant for installing maintaining and enhancing our
package.  Did I say ``enhance''? Isn't the program working?  Yes, the
program is working well but there <emphasis>is</emphasis> room for
making it better. The local lab decided to stop development
``because we must run our experiment rather than invent new software
features''.  As anyone knows, every program has a bug and a missing
feature, and this is where we build our credibility: bugs
<emphasis>can</emphasis> be fixed and features <emphasis>can</emphasis>
be implemented. As I suggested earlier, the more you make things
programmable, the more they will be programmed.
</para>
<para>
But why should there be more employment opportunities in IT than there
are now? First of all because free software users have more requests
for new features than users of proprietary products, as explained
above. 
Next, because anyone can build her own professional skills without
paying any tributes in order to access relevant information.
That's how I built my Linux expertise: by studying source code and
trying things out on my own low-end PC. Now I am confident I can solve
anything my clients ask, and my clients know I can solve anything
(provided I am given enough time to deal with the problem).
</para>
<para>
Another critical point, in addition to source availability, is
standardization on file formats, a field where proprietary products
are revealing their worst features. Let's imagine an environment where
every file format in the system was known: you could, for example,
create indexes from every file that gets produced (document or wahtever),
thus easing later
retrieval. This can be accomplished off-line, without any load on the
non-technical personnel.  Asynchronous reuse of data is rocket science
for many people, because they are assuefated to programs that use
proprietary file formats (and operating systems with no real
multitasking nor "cron" capabilities).  As soon as free standards get
adopted, users ask for customizations, and are willing to pay
for anything that can increase their productivity.
Moreover, free standards guarantee that
customers are not making the wrong bet, as they won't ever be stuck
with unusable data if the software market changes.
</para>

<para>
Whereas the conventional model of software distribution accentrates all
the knowledge in a few companies (or one of them), open standards
leverage technical knowledge to anyone willing to learn. While a
proprietary product can only be supported by a limited number of
qualified consultants (whose number and quality is centrally managed),
the number of consultants supporting a free software solution is
virtually unlimited, and the offer can quickly adapt to the request.
</para>
<para>
In a world where computers are just tools to accomplish some other
goals, easy customization and quick maintainance are basic requirements
of power users. In my opinion, free software will quickly gain the
trust it needs to be a real market player. As soon as you give
some trust to open-source products, they reveal to deserve more,
and GNU/Linux fans must be ready to offer support in order to fulfill
the upcoming need for consultants.
</para>
</sect2>

<sect2 id="companies">
<title>Viability for support companies</title>
<para>
Obviously, independent consultants don't cover all of the needs of
computer users. There are several activities that can't be handled by
individuals. Red Hat and Suse are demonstrating that creating and
maintaining a distribution can be a good source of revenues, even if
the product is freely redistributable; Debian-based efforts are in
the way as well, although less advanced.
</para>
<para>
In addition to the ``creating'' (or collecting) and ``packaging'' jobs,
open source
companies can specialize in technical support, covering customers
where computer systems are of critical importance. Big businesses
that run computer systems in their productive environment won't
be safe enough with either the external consultant or the in-house
technician. They need to be backed by an external structure that
can guarantee 24/7 operation of their technological tools.
</para>
<para>
Even if GNU/Linux or any other operating system is demonstrated
as completely reliable, power users will need to rely on a support
company as a form of insurance. The more computers are important for a
production environment, the more people is willing to pay for being
reassured that everything will go on working, and for being able to
shout to someone ``responsible'' should anything fail.  Such a ``power
user'' support contract could also include provisions for refunding the
customre in case of down time; big support companies will be able to efficiently
deal with it, and the clients will be happy to pay high rates if
they don't ever need to call for assistance.
</para>
<para>
In short, I see no need for software companies to have exclusive
rights to any product, as the support services are
relevant enough to offer good business positions in
Information Technology.  And who wants to be at the top could use
some of his/her revenues to pay for free software development, thus granting
access to the best software before anyone else. Such a patron will also
be able to associate his/her name to software products.
As a matter of facts, this practice is
already pursued by the big distributions.
</para>

</sect2>

<sect2 id="education">
<title>Viability for education centers</title>
<para>
Needless to say, schools and universities have the best interest in
teaching information technologies using free software tools. Due to
its technical superiority, free software environments have more to
offer to the students, but may also need more technical knowledge to be
proficiently administered. I see no money savings here in choosing free
operating systems over proprietary ones, but educational entities
should better spend in hiring system administrators than feeding some
already-too-whealthy commercial company.  While my country is stuck with
some rules that reserve money for buying things rather than money for
raising human resources, other countries are moving in the
right directions. Mexico and France, for instance.
</para>
<para>
There's one point more that pushes for free software in education:
when students get a job, they tend to prefer tools they learnt at
school, so they minimize extra learning efforts. This fact should make
educational agents teach impartial tools (i.e., those not
owned by anyone, those that are libre). Schools should teach
proprietary software only if two conditions apply: there is no viable
alternative, and the company that distributes such software
<emphasis>pays</emphasis> the school for teaching its product. Paying
some company to massively advertise its own product is definitely a
non-sense.
</para>
</sect2>

<sect2 id="socialissues">
<title>Social issues</title>
<para>
There are a few social issues related to choosing one software
model or another one. Although I mark them as social, they have
economical implications as well.
</para>
<para>
While free software may be no cheaper than proprietary software if you
bill for your own time, different environment feature different rates in
comparing time to money. Most emerging countries have good
intellectual resources but little money, and they usually have many
not-so-new computers as well. Proprietary OS's are unaffordable for
them, but free solution are viable and productive.  As a matter of
facts, the already famous ``halloween'' document supports my point
by noting that in the Far East Linux is
growing very fast. Charity organizations usually feature the same
environment: little money and a good amount of human resources. This
leads straight to the free software model for their IT systems.
</para>
<para>
These ideas will probably suggest that free availability of
information looks pretty leftist in spirit, as this ``information to the
masses'' idea looks pretty similar to the reknown ``power to the
masses''. What gets usually underestimated is the strong rightist flavour of
the open source movement. The free software arena is fiercely
meritocratic and is a perfect environment for free competition, where
the laws of the market are applied to their best -- only the best ideas
and the best players are going to survive. Proprietary standards, on
the other hand, tend to decrease competition by discouraging innovation
and consolidating previous results.
</para>
</sect2>

<sect2 id="limits">
<title>Limits of the free software model</title>
<para>
Naturally, I'm aware that not every software package can easily be
turned to free software. I'm not talking about office products: I'm
pretty confident some good projects will be fulfilled, sooner or
later.
</para>
<para>
I'm rather considering all the environments where there is
competition for market-share of products that are
only loosely based on their software
component. For example, an industrial equipment might include a
computer and some commodity hardware (a robot, custom I/O peripherals,
PLC's, ...); the software application hosted in the computer system is a
minor part of the whole, but its features greatly affect the overall
value of the equipment. Producing and debugging such applications
usually requires huge investments, therefore preventing free
redistribution of source code, as a form of protection against greedy
competitors.
</para>
<para>
Another good exmaple is brought in by cell telephones. They include a lot of
software, and such software is the single component that shapes the
capabilities of the overall device, even though software is almost
invisible to the end user, who perceives the device as a telephone
rather than a computer.  Such software is strictly proprietary because
of its major functional role in the device.
</para>
<para>
Unfortunately, I see no easy way to liberalize this code. Although I
don't care too much about cell phones (I don't use them :), I would
better see free industrial applications because their technological
content is usually worth reusing and adapting to new problems.
</para>
</sect2>

</sect1>

<sect1 id="author">
<title>About the Author</title>
<para>
Alessandro lives in one of the least Linux-aware towns in the
least Linux-aware country in the world. He writes free software for a
living and advocates free software for a mission. He hopes his
upcoming child will keep off computers, recalling the good old times
when such beasts where confined to their technical zoos. He reads
email as rubini@prosa.it, trying to kill spammers and to reply to
everyone else.
</para>
</sect1>

</article>


