Re: GNU Freedom could become the mother of all freedoms
======================================================================
GNU Freedom is properly the title of a long essay, but it cannot wait
that long as I am obliged to explain this atleast briefly.
Hammurabi inscribed his code that included law like "an eye for an
eye; tooth for a tooth" on a stone pillar. The US Constitution, that
provided for constitutional justice is written on parchment and still
preserved in their archives, and this style of constitutional justice
has been adopted by several independant states on their own free will.
All freedoms find their source in some basic legal document. To
record the law, people have used human memory, wood, leather, clay,
stone, bronze, iron, parchment, paper, palm leaves and anything that
the people considered extremely durable[FN-1] to record. The storage
of laws in the medium of computer hardware and its capability to
execute the written code in ways meaningful to us through software is
something unknown in legal history.
Let us proceed further in the light of our own constitution and the US
constitution.
Since independence and the coming into force of our constitution, we
enjoy several freedoms. Part III of the Indian Constitution lists
several basic fundamental rights and Article 32 guarantees the right
to move the Supreme Court of India for the enforcement of rights
conferred in Part III. Without Article 32 the rest of Part III will be
a list of empty rights. Of course, we have Article 226. But the
point is that, without procedures to enforce rights and freedoms
guaranteed, Part III Rights and Freedoms would be as empty as our Part
IV Directives. Many of our freedoms were adopted on the lines of the
US constitution.
Execution and enforcement have a close connection. We are forced to
seek enforcement only because of some failure or defect in execution.
Courts are actually engaged in debugging the errors encountered in the
execution of laws.
All software, by their very nature, execute rules in ways which
ultimately makes sense only to humans. If execution of laws is done
with the aid of computers, then the need to seek enforcement is almost
redundant. Then, the software becomes the tool and means of
safeguarding all the other freedoms.
Freedoms are positive rights so far as people are concerned, but the
very same freedoms are negative injunctions against the state.
Generally, if a constitution says that "freedom of speech is
guaranteed", it only means that the state cannot make any law that
takes away the freedom of speech from its people. Our constitution
gives these freedoms under Article 19 using a positive language, and
on the contrary, the US constitution plainly speaks of the freedoms as
negative injunctions against the state. But the end result is the
same, for example, the penal law of the state cannot punish you for
making a speech, and if any such law is made, the courts will hold the
law unconstitutional and refuse enforcement.
Freedom from discrimination on certain ground is guaranteed in Article
15 of our constitution prohibiting state discrimination against any
citizen on grounds of religion, race, sex etc.
Suppose a state law proposes:
if ($citizen_sex == 'male'){
// some discriminatory privilege to male citizens
$citizen_pay = 10000;
} else {
$citizen_pay = 8000;
}
A parser can handle the discrimination violating Article 15, and could
be made to return an error [FN-2].
Error: if ($citizen_sex == 'male') { ... } violates Article 15
Error: legislation failed
Software can elegantly execute laws and deal with attempts to encroach
freedoms at the earliest point of time. There are fewer occasions
when something unconstitutional or ultra vires is allowed to be done,
and then latter correct the error through enforcement of
constitutional rights. This is the main reason why sofware could be
the fulcrum on which all our rights rest, and could be used as a
convenient tool to achieve results that may otherwise be difficult to
enforce, provide or measure.
Statutory interpretation would also become superfluous, because
computer languages are well designed to rule out ambiguities, or
handle ambiguities in well known ways, and irresponsible absurd
interpretations of the law will become a thing of the past.
Of course, there would be several executive actions that can be done
in the name of law without a computer presence, like searches or
arrests. Errors in such cases can be dealt with by the judiciary as
done now, but perhaps with greater speed and accuracy with computer
aid. Such errors are best corrected only by education, where also
computers can play an important role.
Computers are no substitute for us, but computers can aid to protect
all our rights as guaranteed by a constitution, through reliable
execution that can easily be supervised by us.
It is needless to illustrate execution of state laws with computer aid.
States that used paper, parchment and stone in the past now have the
option to use computer hardware and software to store their laws and
execute them as proceedings, for better enforcement, peace and
prosperity. Computer hardware could be purchased. But hardware
cannot be directly used without the aid of several software tools and
aids. Software needs to be written from scratch or obtained from other
sources. Writing software from scratch is not easy or possible for
governments. If this were possible, then there is no need to go for
third party software. States often desire tried and tested things for
use.
Opting for non-free software means that the state seriously
compromises its sovereignty, because of non-disclosure of source code,
and a host of other defects inherent to the very nature of non-free
software. The law itself is open, and any software that it may rely
upon for execution also necessary has to be open. Black box method of
software use is also undemocratic and can never be trusted. Choosing
free software is the only solution that does not compromise state
sovereignty, as the state can independently examine the source code
before using it freely, and make any modification to suit its needs,
without any permission from even the author of the code. [Though not
required by the GPL, giving credit to the author(s) of the code will
show stateliness!]. Free software fits the law like a glove, in all
aspects.[FN-3] There is in fact no reason to consider software and law
as two different fields.
Once the state decides upon free software, it will need to choose some
database application to store its laws and proceedings, and other
software tools to "execute" written code. A host of free software
tools like Apache, BIND, PostgreSQL, PHP, Perl, Gimp, gcc, emacs, and
others are all required to create a computer based legal system to
make democracy work right for a state. Practically, most of these
tools need make or gmake, and gcc to compile for use. make, gmake and
gcc are GNU software. Without RMS and GNU, there would have been no
make or gcc. Therefore, GNU is at the very heart of any open legal
system that can work from a computer network.
Therefore free software is required to create a democratic legal
system that works on computer networks, and execution of all the other
freedoms will flow through the free software used.
Freedom of life is meaningless if I do not have free safe water to
drink. Experts in Chennai say, 1mm of rain if stored well, could meet
the one day's supply needs of Chennai people. Chennai receives about
450 mm of rain annually. If we go without water most of the days, the
fault lies in us. I would expect the software the state uses to keep
measure of rainfall received, the storage achieved, and use the
feedback to achieve a sustained flow of water to quench our thirst.
Just like water flows through rivers, the law could flow through free
software, and satisfy the most pressing needs of mankind.
Freedom of life is again empty if we have too much chloride base
chemical pesticides in soil [annual worth valued at Rs.4000 crores].
If the state resolves to stop using chloride based pesticides and opt
to direct use of neem powder, dung ash, coffee powder [coffee plant
produces caffeine as a pesticide to ward away pests, but we take it as
a "beverage"], breeding of sparrows and other birds that prey on pests
naturally all the time, we should be able to monitor execution of a
state plan to do this from our home, without much strain. People or
the sofware itself can raise hue and cry if things are not proceeding
as intended, to make amends and corrections until things work out
well. Then our freedom of life will have some meaning.
That is why, free software could become the mother of all our
freedoms. In nature, life flows through the mother. The British
Parliament refused grant to Charles Babbage, who then proceeded to
construct his Analytical Engine with his own funds, and at a time of
financial crisis his mother alone encouraged him to keep up the good
work advising "--pursue it, even if it should oblige you to live on
bread and cheese." All hackers owe a tribute to Charles Babbage, the
first software developer, to ensure that law flows through free
software, and take care of the freedom of the people like a mother
takes care of her children. The day when such free sofware is
available and states adopt such free software, the tribute would have
been made.
-K. Ramanraj.
Foot Notes:-
FN-1: Computer hardware may be the least durable in this sense of the
word, but it is the best choice to achieve the true object of law
FN-2: To enable this, variable naming rules are just as important in
law also
FN-3: Please refer to the philosophy section at
http://www.gnu.org