Software Libre and Commercial Viability

(Nov 12th 1998, published in February 1999)

by Alessandro Rubini

Fortunately, Linus' project of world domination is going to come true
fairly soon. The trend toward this goal can be verified by checking
how the press is behaving towards GNU/Linux solutions, looking at how
several educational entities are going to introduce Free Software in
the schools and verifying its usual technical excellence.

Today in 1998 (yes, it is still 1998 as I write), the most
important job remaining, in my opinion, is propagating the social and
commercial implications of Free Software. While I greatly appreciated
Russell Nelson's article “Open Source Software Model” in
the July issue of LJ, I feel the need to expand on the points
he briefly touched.

Please note that I'm not an expert in economics or politics. I'm
just a build-it-yourself kind of technical guy whose discussion is
based on his own experience in the battle for survival, in the hopes
of helping someone else adapt to new environmental conditions. Some of
these ideas have already been discussed with friends or on the Free
Software Business mailing list
(<fsb-subscribe@crynwr.com>),
which I joined after reading Russell's article.

Viability for Individual Consultants

The best feature of any computer system is flexibility —
allowing users to tailor its behaviour to their own needs. This
flexibility is often completely unknown to the general computer user,
because proprietary software solutions tend to hide functionality
behind a rigid external interface which denies any divergence from the
expected behaviour—a user's behaviour.

When adopting Free Software, users are able to discover 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 his company has always acted the other way around—they
adapted their needs to the software they use. Most users are victims
of their software and don't even realize it.

Educating the user base about the extendibility of software will
open new markets to independent consultants, creating new employment
opportunities. Every user has different needs and solving these needs
often means calling for technical support from people who tailor or
enhance the relevant software. While this is not even imaginable with
proprietary programs, source availability allows any problem that
might arise to be quickly solved and new features to be easily
added. While you may think this would quickly lead to a perfect
software package, individual needs are so diverse and specialized that
a package can't satisfy everyone.

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. The
total of all fees they paid during these years reveals the program to
be more expensive in the end than some of the commercial
alternatives. This fact is not relevant 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 Free Software and other centers
expressed interest in getting a copy.

As more and more people are choosing Free Software to address their
needs, I'm sure some software companies will try to demonize GNU/Linux
and both the Free Software and the Open Source movements because they
are losing their own market share. Such companies will probably try to
demonstrate that IT employment is decreasing and that humankind is
being damaged by the general adoption of Free Software. This whole
argument is bogus; computers exist to be programmed, and the more you
allow programming them, the more you build employment opportunities.
If you count the number of people who offer Free Software consulting,
you will greatly exceed any shrinkage of proprietary companies.
Sticking to my 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 is
room for enhancement of the product. 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 can be fixed and features can be
implemented. As I suggested before, the more you make things
programmable, the more they will be programmed.

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 do, as explained
above. Next, because anyone can build her own professionalism without
paying tributes to access the sources of information. I built my own
expertise by studying source code and trying things out on my own
low-end PC. Now I am confident I can solve any problem my clients
might have, and my clients know I can (provided I am given enough time
to deal with the problem).

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 any document that is produced, thus easing later
retrieval. This can be accomplished off-line without any load on
non-technical personnel. Asynchronous reuse of data is “rocket
science” for many users, because they are accustomed to programs
that use proprietary file formats (and operating systems with no real
multi-tasking or “cron” capabilities). As soon as free
standards are adopted, users begin asking for customizations and are
willing to pay for anything that will 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.

While the conventional model of software distribution concentrates
all knowledge in a few companies (or one of them), open standards
leverage technical knowledge to anyone willing to learn. Whereas a
proprietary product can be supported only 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.

In a world where computers are just tools to accomplish some other
goals, easy customization and quick maintenance are basic requirements
of power users. In my opinion, Free Software will quickly gain the
trust it needs to be a real market phenomenon. As soon as you start to
trust some Free Software products, you learn that they deserve more.
GNU/Linux fans must be ready to offer support in order to fulfill the
upcoming need for consultants.

Viability for Support Companies

Obviously, independent consultants don't cover all the needs of
computer users. Several activities can't be handled by
individuals. Red Hat and S.u.S.E. are demonstrating that creating and
maintaining a distribution can be a good source of revenue even when
the product is freely redistributable. Debian-based efforts are on the
way, although less advanced—mainly because both Red Hat and
S.u.S.E. bundled proprietary products with libre packages in order to
survive while the market share was low, while Debian has always been
completely detached from proprietary products, and still is.

In addition to “creating and packaging” or
“collecting and packaging” jobs, companies can specialize
in technical support, covering the situations where computer systems
are of critical importance. Big business realities using computer
systems in their productive environment won't be satisfied with either
the external consultant or the in-house technician. They need to rely
on an external structure that guarantees round-the-clock operation of
their technological aids.

Even if GNU/Linux or any other operating system is demonstrated to
be completely reliable, power users will need to rely on a support
company as a form of insurance. The more important computers are for a
production environment, the more people are willing to pay to be
reassured that everything will go on working and to have someone
“responsible” to call in case of any failure. Such a
“power user” support contract could also include a
provision for refunds in case of down time. Big support companies will
be able to efficiently deal with it, and clients will be happy to pay
high rates even if they never need to call for assistance.

In short, I see no need for software companies to keep exclusive
rights on their products; the support environment is big enough to
offer good business positions in Information Technologies. Those who
want to be at the top could use some of the revenue to pay for Free
Software development, thus gaining access to the best software before
anyone else and associating their name with software products. As a
matter of fact, this practice is already pursued by the big
distributions.

Viability for Education Centers

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 also need more technical knowledge to be
proficiently administered. I see no money saved here in choosing Free
operating systems over proprietary ones, but educational entities
could better spend their money on hiring system administrators than on
subsidizing some already-too-wealthy commercial software company.
While my country, Italy, is stuck with a few rules that offer more
support for buying things rather than for employing people, other
countries are already moving in the right direction—Mexico and
France, for example, have announced plans to use GNU/Linux in their
public schools.

One more point leads toward Free Software in education: when
students get jobs, they prefer to use tools they learned at school in
order to minimize extra learning efforts. This fact should lead
colleges to teach only those tools not owned by anyone—those
that are libre. Schools should teach proprietary software only if two
conditions apply: no viable alternative is available, and the company
that distributes such software pays the school for teaching its
product. Paying someone for a product in order to advertising it for
him is definitely nonsense.

Social Issues

A few social issues relate to choosing one software model over
another one. Although I mark them as social, they have economic
implications as well.

While Free Software may not be cheaper than proprietary software if
you bill for your own time, some environments use different rates in
converting 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 operating systems are
unaffordable for them, but free solutions are viable and
productive. Actually, the “Halloween” document supports my
point by underlining that “Linux” is growing very fast in
the Far East. Charity organizations usually have this same
environment—little money and a good amount of human
resources. This leads straight to the Free Software model for any IT
requirement.

These ideas will probably suggest that free availability of
information looks fairly leftist in spirit, as “information to
the masses” looks quite similar to the old adage “power to
the masses”. What is usually ignored is the strong rightist
flavour of the Free Software movement. The Free Software arena is
fiercely meritocratic and a perfect environment for free competition,
where the laws of the market ensure that only the best ideas and the
best players survive. Proprietary standards, on the other hand, tend
to diminish competition by decreasing innovation and consolidating
previous results.

Limits of the Free Software Model

Naturally, I'm aware that not every software package can easily be
turned into Free Software. I'm not talking about office
products—I'm confident some good projects will supply this need,
sooner or later.

Rather, I'm talking about all environments where a strong
competition exists for a product only loosely based on its software
component. For example, industrial equipment might include a computer
and some commodity hardware (a robot, custom I/O peripherals,
PLCs, etc.); the
software application hosted in the computer is a minor part of the
whole, but its features greatly affect the overall value of the
equipment. Producing and debugging such applications usually require
huge investments; free redistribution of source code is thus prevented
as a form of protection against competitors.

Another meaningful example is cell telephones. They include a lot
of software, even though this software is almost invisible to the end
user, who perceives the device as a telephone and not a computer. Such
software is the component that defines the overall capabilities of the
device; because of its major functional role in the device it is
strictly proprietary.

Unfortunately, I see no easy way to liberalize this type of code.
Although I don't care too much about cell phones (I don't use them :),
I would really like to see free industrial applications because their
technological content is usually worth reusing and adapting to new
problems.

Alessandro 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 e-mail
as <rubini@gnu.org> trying
to reply to everyone.