To shape a technology: freedom to develop
-----------------------------------------
Biographical information:
Robert J. Chassell was a founding Director and Treasurer of the
Free Software Foundation, Inc., which restarted the movement
towards free software and open sources in 1985. The GNU/Linux
operating system and associated applications are the outcome of
these efforts by the Foundation.
Chassell writes and edits. He is the author of "Programming in
Emacs Lisp: An Introduction". He graduated from Cambridge
University, in England. He flies his own airplane, and has an
abiding interest in social and economic history.
================================
To shape a technology: freedom to develop
by Robert J. Chassell
<
>
My presentation today is about the way we shape a technology to
create circumstances in which countries and people can develop a
better society.
<>
I shall take the technology of software, and talk about the way we
have shaped that technology
to create a world in which software does what you want,
where software is reliable, and secure;
a world in which you have a choice of vendors in a competitive,
free market;
a world in which you have both the legal and the practical right
to start a business;
a world that rewards the law abiding, not law breakers;
a world in which you are permitted to collaborate
and encouraged to share.
<>
What I shall do first is explain open source, free software.
I will briefly describe the history of free software
<>
Then I will describe the key freedoms,
to copy, study, modify, and redistribute,
which not only shape the technology,
but also serve as criteria for evaluating licenses and regulations.
Next, I will explore several metaphors, which we use to gain
understanding.
We call the Internet a `highway', a `market', or `library'.
These metaphors link older and more familiar technologies with the
newer and less familiar technology.
I will apply lessons learned from the older technologies to the
new technology.
We will find that freedom brings,
and that freedom provides a practical way forward.
<>
What is open source, freely redistributable software?
Free software is software to which you have the legal right to
copy, study, modify, and redistribute. You have the freedom to
use the software as you wish.
<>
When I speak of software, I am speaking both about the programs that
run the computer, that is to say, the operating system,
and about applications, such as electronic mail and other
communications, Web site creation, spreadsheets, electronic
commerce, writing tools, sending and receiving FAXes, engineering,
image manipulation, and networking.
<>
How to shape a technology? Shape its legal and institutional
framework
The technology is software. The shaping has to do with copyright
licensing terms.
<>
Freedom requires a legal and institutional framework.
Software freedom is based on a special copyright license,
<>
the GNU General Public License (GPL). This license gives you more
rights than most licenses. In essense, it forbids you to forbid;
you may do everything else. Your and others rights are
reciprocal; this encourages collaboration. The license protects
programmers from having their work stolen from them and it
protects users from being over charged for shoddy work.
<>
The key freedoms are to copy, study, modify, and redistribute.
But first, while talking about freedom, let me clear up a verbal
issue that sometimes confuses English speakers.
<<`Free' has two meanings in English>>
The English word `free' has several meanings.
The low price of free software leads some English speakers to think
that the word `free' in the phrase `free software' means they can
obtain it without cost. This is not the definition, which is about
freedom, but it is an easy misunderstanding.
As a Mexican friend of mine -- and leader, by the way, of a major
free software project -- once said to me,
English is broken; it does not distinguish between `free beer'
and `free speech'.
Spanish, on the other hand, distinguishes between `gratis' and
`libre'. When you speak of `free beer', you mean beer that is
gratis; but when you speak of `free speech' you mean freedom.
Free software is `libre' software.
<>
Incidentally, Eric Raymond and Bruce Perens invented the phrase `open
source' a few years ago as a synonym `free software'. They wanted to
work around the dislike many companies have of the word `free'. The
phrase is popular; Eric and Bruce succeeded in their purpose.
However, I (and now, Bruce also) prefer the term `free software'
since it better conveys the goal of freedom; the proposition that
every man and woman, even a person who lives in a third world
country, has the right to do first rate work, and must not be
forbidden from doing so.
<>
The freedoms that define free software mean that it is sold in a
competitive, free market. Because competition in a competitive
market forces down the price of free software, no one enters the
software industry to sell software as such.
Instead, and this is often not understood, a business enters the
industry to make money by selling solutions that customers wish to
buy, as companies like Red Hat or IBM are now doing.
<>
Now let me talk briefly about history.
Originally, all software was free. That is to say, programmers
had the legal right to copy, study, modify, and redistribute it.
Indeed, in the beginning, you could not copyright a computer
program and you could not patent any of its mathematics. Trade
secrecy was not onerous.
Beginning in the 1970s and early 1980s, it became legal in the
United States for companies to copyright computer programs, and
legal for them to patent mathematical procedures. Software
vendors stopped supplying source code.
<>
In the early and mid 1980s, these hindrances inspired Richard
Stallman and others (including me) to start GNU, a project to
create an open source, freely redistributable operating system and
associated applications.
In the early 1990s, the main parts of the GNU Project were
complete. We had written most of the necessary software.
However, work on a a key piece was delayed. FSF was developing a
highly advanced operating system kernel. This is the software
that schedules operations for the central process unit and does
other important jobs.
Had this been a restricted-distribution project, the whole project
would have failed, as so many have done, even though more than
7/8ths was completed, tested, and in use in other systems.
But this was a free software project, and Linus Torvalds, a young
Finn, was able, legally and practically, to write his own, less
advanced kernel. Linus called this kernel Linux, and adopted the
GNU programs that were already written, the GNU environment. He
also adopted the GNU General Public License, which made his
contribution freely redistributable.
The combination of the GNU environment and the Linux kernel led to
a usable operating system and set of applications called
GNU/Linux, a name that is often shortened simply to Linux.
In the past couple of years, GNU/Linux has become widely known.
We are here today because of the success of GNU/Linux.
<>
As I mentioned earlier, the key freedoms are your and others'
right to copy, study, modify, and redistribute software. Let me
go through this list of rights: copy, study, modify, and
redistribute.
These are the criteria you can apply to evaluate laws and
institutions related to software.
Moreover, you do not have to be a programmer or a lawyer to
understand how these rights shape the technology of computers!
<>
First, the right to copy.
Not many people own a factory that would enable them to copy a
car. Indeed, to copy a car is so difficult that we use a
different word, we speak of `manufacturing' a car. And there are
not many car manufacturers in the world. Not many people own or
have ready access to a car factory.
But everyone with a computer owns a software factory, a device for
manufacturing software, that is to say, for making new copies.
Because copying software is so easy, we do not use the word
`manufacturing'; we usually do not even think of it as a kind of
manufacturing, but it is.
The right to copy software is the right to use your own property, your
own means of production. Millions of people, a few percent of the
world's population, own this means of production.
<>
Second, the right to study. This right is of little direct interest to
people who are not programmers. It is like the right of a lawyer to
read legal text books. Unless you are a lawyer, you probably wish to
avoid such books.
However, this right to study has several implications, both for those
who program and for everyone else.
The right to study means that people in places like Mexico, or India,
or Zimbabwe can study the same code as people in Japan or the United
States. It means that these people are not kept from learning how
others succeeded.
Bear in mind that many programmers work under restrictions that forbid
them from seeing others' code. Rather than sit on the shoulders of
those who went before, which is the best way to see ahead and to
advance, they are thrown into the mud. The right to study is the
right to look ahead, and to advance.
Moreover, the right to study means that the software itself must be made
available in a manner that humans can read.
Software comes in two forms, one readable only by computers and the
other readable by people. The form that a computer can read is what
the computer runs. This form is called a binary or executable. The
form that a human can read is called source code. It is what a human
programmer creates, and is translated by another computer program into
the binary or executable form.
<>
The next right, the right too modify, is the right to fix a problem or
enhance a program. For most people, this means your right or your
organization's right to hire someone to do the job for you, in
much the same way you hire an auto mechanic to fix your car or a
carpenter to extend your home.
Modification is helpful. Application developers cannot think of all
the ways others will use their software. Developers cannot foresee the
new burdens that will be put on their code. They cannot anticipate
all the local conditions, whether someone in Malaysia will use a
program first written in Finland.
<>
Finally, of these legal rights, comes the right to redistribute.
This means that you, who own a computer, a software factory, have the
right to make copies of a program and redistribute it. You can charge
for these copies, or give them away. Others may do the same.
Of course, several existing, large software manufacturers want to
forbid you from using your own property. They cannot win in a free
market, so they attack in other ways. In the United States, for
example, we see newly proposed laws to take away your freedom.
The right to redistribute, so long as it is defended and upheld, means
that software is sold in a competitive, free market. This means
you can get what you want, at a fair market price.
<>
Incidentally, people sometimes ask me why programmers write
software that is free. They do so for four four main reasons:
first, because they are hired to solve a problem, just as a lawyer
is hired to draw up a contract. Second, as part of a
project. Third, because it enhances their reputation. And
fourth, because they want to.
Only 10 per cent, some say only five per cent of all software is
written for sale; the vast majority is written for embedded
systems, as part of a project.
As for the software that people use in offices: many applications
are available as free software. However, some important
applications are missing or not complete. Accounting is one area.
But there are projects out there: I expect the empty spaces will
be filled in within a few years, unless people are forbidden to
work. However, there still are opportunities to enter into major
new fields, as the Eazel people are doing with their contribution
to the GNOME desktop.
<>
In discussing technology, we can use metaphors to link older and
more familiar technologies with a newer and less familiar
technology.
<>
In the US, the most common metaphor for explaining the Internet is the
phrase `Information Highway'. The metaphor takes people's knowledge
of highways and invites them to apply that knowledge to a new and for
most people unknown artifact, the Internet.
What does this metaphor tell people? First, it tells people that the
Internet is outside your home or office. It is not inside.
Partly, this is a useful analog, since you do need to gain access to
the Internet, through a telephone, cable, or other communications
device. Similarly, if you own a house, you need to build a driveway
from your house to the road.
On the other hand, the metaphor does not tell you that you can
bring remote computers into your office. It did not warn me that
that when I was in the Harz Mountains in Germany, I could get
confused with whether I was using a machine across the Atlantic in
the US, or one a few hundred kilometers away.
Nor does the metaphor tell you that you can create a secure local
network that stretches across nations and oceans. This ability is
important for businesses trying to grow.
Also, while the metaphor correctly tells you that Internet connections
may be slow intrinsically, like a secondary road, or suffer traffic
jams during rush hour, it misleadingly suggests that the system takes
up a great deal of `space' that could be used for other things, such
as parks within a city.
It suggests that the space in which information resides is limited in
the same way as space within the confines of a city. The `Internet as
Highway' metaphor does not lead people to think of the space required
by information in the same way as the Dutch think of The Netherlands,
as a land that is built.
The metaphor hides useful features.
<>
A second metaphor is `Electronic Shopping Mall'. This tells you
that the purpose of the Internet is to provide a place to buy
things, and it also tells you how to fund the market place. The
metaphor suggests that the market will need governmental
regulation and freedom. It suggests also that there will be great
opportunities for theft, corrupted regulators, sweat-heart deals,
and cozy arrangements.
<>
A third metaphor is that the Internet is a `Great Library'. You
can search and find information. Indeed, I find that people are
often more likely to use the Internet as a reference library than
they are a real library!
The `Internet as Library' metaphor tells us that many people can
re-see the same information, just as many patrons can borrow the same
book. This is important for those of you who concern yourself with
budgets.
Moreover, the metaphor tells you to expect a vast range of
queries; that while most inquiries will focus on the same small
list of topics, others, a huge number of them, will focus on
subjects you never considered. This has critical development,
business, and political ramifications. Rather obviously, in
certain places, the powers that be do not want people to learn
about logging.
Most importantly, aside from the pleasure a library gives, a great
library enables people to learn from, and possibly avoid, the mistakes
of others. Lessons learned: you do not have to repeat others
failures; you can perhaps succeed!
<>
These metaphors, limited and troublesome as they are, tell us about
the Internet.
The metaphor of the `Information Highway' tells us about roads
with potholes and weak bridges. We want our electronic networks
to be reliable. Highways attract highwaymen, thieves. We want
our electronic communications to be secure. Highways cost money.
We want our electronic communications to be efficient and use
resources well.
As a practical matter, freedom brings you each of these features:
reliability, security, and efficiency.
<>
The metaphor of the `Electronic Shopping Mall' tells us about
burglary. It also tells us about the importance of trust in
commercial transactions, that our money must be good. It tells us
about issues of privacy, and the opportunities for monopoly.
Freedom brings security, it brings trusted ways of dealing with one
another, it brings the possibility of privacy, and it brings the
makings of a competitive free market.
<>
The metaphor of the `Library' tells us to expect a small set of `most
visited' sites, and a large set of seldom visited sites. It tells us
that people will want to learn about the oddest lessons. They want
the empowerment that comes from knowing. The metaphor also tells us
that private funding may be too limited to generate the full range of
social and economic benefits that libraries can bring.
<>
In essence, these metaphors lead us to the lessons that are learned
from other technologies. The metaphors tell us what we want.
Freedom in software, the right to copy, study, modify, and
redistribute, brings you the results. They flow from technology, as
shaped by the appropriate free license.
I will discuss each of these: reliability and efficiency.
Security and trust. Privacy. Empowerment.
<>
I do not have much experience with systems that crash, excepting
when hardware fails, or I am testing experimental software, or
when my sister's husband is working on the electricity upstairs
and turns off all the electricity.
Programs are complex entitities. They have thousands or millions of
components. Because the components themselves are mathematical
objects, that is to say, numbers and symbols, the components will not
and cannot break, any more than the number 3 can break. But the
components can be combined wrongly, or you can insert the wrong
components, or leave them out. Such bugs cause havoc.
An advantage of free software is that lots of people -- three,
four, ten, sometimes more, sometimes hundreds -- look at a piece
of code. And as the somewhat awkward saying goes
Many eyes make all bugs shallow.
That is to say, one of the many people looking at the code will
notice the problem. And it will get fixed. Everyone wants and is
rewarded for good, working code. The user does not want trouble;
the programmer does not want a shameful reputation. He wants a
good reputation.
In contrast, a proprietary company that sells updates will have a
financial incentive to leave at least some bugs in its code. This
is so its customers will have an incentive to buy the upgrade.
I find it odd that anyone would purchase overpriced, buggy code,
but they do. They either do not know about alternatives or they
see what they are doing as less difficult than switching.
<>
A notable feature of free software is that many applications run
well on older, less capable machines. For example, a couple of
months ago I ran a window manager, graphical Web browser, and an
image manipulation program on my sister's old 486 machine. These
worked fine.
Text editors, electronic mail, and spreadsheets require even fewer
resources.
This frugality means that people can use older equipment that has been
tossed out by first world companies. Such equipment is inexpensive and
often donated. The computers need to be transported. Sometimes
you need to start a local project to refurbish the hardware and load
it with inexpensive, customized, free software. These machines
cost the end user less than new machines.
At the same time, manufacturers are building modern, low end
computers that do as much as the older ones, and are not too
expensive.
There is no need to acquire expensive hardware to run your
software.
Moreover, free software brings with it frugal standards. You
don't have to, as some people here in the Bank have done, waste
your clients' budgets by sending them overly bloated email.
A while back I received a message about development that took up
more than four and a half times the resources needed to convey the
information.
Next time you budget for a project, consider paying four and a half
times its cost. Then consider whether you would fund it.
Next time you pay at a restaurant, take out four and a half times
the money...
For me the resource use was not an issue because I don't pay by
the minute for telecommunications, as many do. But I know that my
correspondents around the world prefer that I take care in my
communications that I do not waste their money or that of their
supporting institutions.
<>
Your work should be secure. Your computer should avoid what you
do not want.
Just recently, for example, a large number of people who used
proprietary software from Microsoft were hurt by a virus called
the `I Love You' virus or `Love Bug'. (Have any of you heard of
this virus?) The vendor had created a system that is foolishly
vulnerable.
You can, of course, make free software equally vulnerable, just as
you can open the door to any house or business and invite thieves
in. But none of the free software distributions that I know are
so vulnerable. This is because people want to avoid harm and are
able to insist that their vendors protect them.
You should have confidence in your privacy.
Of course, the free software producers don't always succeed, but
on the whole, they have done well.
<>
Freedom means that you, as a customer, have a choice among those who
would provide you with software and associated services. You are not
in a `take it or leave it' situation. You can choose among your
vendors.
Perhaps paradoxically, this choice is good for vendors also. Yes,
it is easier for a customer to leave.
But this also means that customers are not frightened of working
with a small business that they like, but figure may vanish in
five or ten years; they can move without trouble. This contrasts
with comments I have have heard, where a customer decides to avoid
a business because moving from it would be expensive, and the
customer fears that the business will vanish in ten years.
Also, if customers can readily leave, employees know that they
come to the business because the customers like the solutions the
business sells. Employees like this, because it tells them they
are doing a good job. Owners sometimes like this, too, since they
too want to know they are living morally.
<>
Freedom means that you,
as a businessman, have the legal right to start a business. You
are not hindered by overly expensive licenses. You are not
forbidden.
Likewise, as a customer, you may use the code.
Freedom means that businesses are rewarded, with sales and profits,
for satisfying customers legally, rather than rewarded by overcharging
and hurting customers, which is illegal, at least in the US.
<>
A quick digression here: restricted software often means you are
forbidden to start a business. Miguel de Icaza, who started a
major international project in Mexico, could never has started
with restricted software. He was forbidden to use it.
Likewise, I know of a project in Malaysia that depends on free
software.
Since free software is sold in a competitive market, its price is
low. This means no one sells software as such. Instead, they
sell services, as a lawyer does -- a lawyer works with freely
redistributable information, or they sell hardware, as, for
example, IBM does.
Success depends on satisfying your customers. This makes both
your employees and your customers more happy.
<>
The alternative is policing, which is to say, making sure thqt
sotware is not used or copied illegally. Generally speaking, the
word `policing' is not used. Instead you hear of a `License
Compliance' or other such phrase. A while back, the company that
supplies me with electricity hired `License Compliance Manager' to
make sure that engineers did not take their work home, since their
work was associated with software that was not supposed to go out
of the building. Policing is expensive and unpleasant.
<>
Moreover, free software permits legal sharing. This is an ethical
issue. Do you want to encourage sharing? Should schools teach
kids to be selfish, as required by the laws for restricted
software?
<>
As a practical matter, kids want to share. They want to help
their friends. And as a practical and moral matter, everone wants
others to be law abiding, even if they themselves are not.
So a government should arrange that being law abiding is best, for
legal, moral, and practical reasons.
<>
Let me return to freedom:
Freedom brings the freedom to share.
You have the legal right to help others.
You have the legal right to collaborate.
You can teach your children to share the software they have, legally.
<>
People who use binary-only software packages are forbidden to
study them, learn from them, modify, or customize them. They
gain no power from the software, except in so far as the package
itself solves a problem.
Free software provides more than a solution; it provides the
means for people to learn and become as good as or better than
the programmers who wrote the software.
It empowers people who previously were kept out of the circle.
<>
First and formost, software freedom create a world in which
software does what you want.
If you don't find an application that does what you want, you may
write your own code, or hire someone to do so.
You have the legal right, and with the source code, the practical
right, to adapt other code to what you want -- this is often more
efficient than writing from scratch.
Or, if you don't want to spend the money and resources, you can look
around; often, you will find that someone else has faced nearly the
same problem as you, and you can use that person's work.
<>
But freedom does not bring everthing on its own.
Sometimes you cannot find a program that does what you want.
In particular, we need double entry booking software, for
accounting.
There is free software for managing personal finances, like
Quiken, but none like QuikBooks, for a small business, at least,
none that I know of.
The reason is simple: most programmers find accounting dull.
People are working on the software, but it is moving slowly.
<>
Free software can be used in the third world as in the first,
but we often do not see it used where it could be.n
There are successes:
inexpensive email in East Timor,
a hospital using a free medical information management in Guatamala,
Miguel de Icaza starting a major international project from Mexico.
But often, you see people using tools that they are forbidden to
study, learn from, modify, or customize. These packages, as I
said earlier, solve one problem, but the user gains no other power
from the software.
This is where education and action are needed.
<>
I think immediately of Indonesia, where 120,000 telephone shops
may convert themselves to Internet shops.
I think of India, where railways are thinking of using their spare
telecommunications cabling for Internet communications. Why not
use free software for everything, not merely for servers or
backend email transfer?
I wonder about Argentina, where the government is talking about
another million personal computers.
You here know more of these projects than I: but each of these are
projects which provide opportunity.
<>
Your opportunities depend on
your legal right to
copy,
study,
modify, and
redistribute
software under a free license.
<>
Freedom is key
Freedom leads to:
collaboration
lower prices
reliability
efficiency
security
fewer barriers to entry
fewer barriers to use
more opportunities
###