20 julio 2005

En un principio fue el código y el código era libre

Autor: fedaro en: Software Libre .

“Para subir una escalera se comienza por levantar esa parte del cuerpo situada a la derecha abajo, envuelta casi siempre en cuero o gamuza, y que salvo excepciones cabe exactamente en el escalón. Puesta en el primer peldaño dicha parte, que para abreviar llamaremos pie, se recoge la parte equivalente de la izquierda (también llamada pie, pero que no ha de confundirse con el pie antes citado), y llevándola a la altura del pie, se le hace seguir hasta colocarla en el segundo peldaño…”?
Julio Cortazar

En un principio fue el código y el código era libre

English version

Por: Fernando da Rosa

Parafraseando a Linus Torvalds podríamos escribir:
¿Estás harto de trasnochar para poder conseguir que funcione un programa?
¿Estás harto de luchar con los cuelgues de la máquina?
¿Te gustaría controlar el software de tu máquina y no que el software te controle?
Entonces, leer este artículo puede ser justamente para ti.

Una breve introducción

No hay nada más tonto que el procesador de una computadora, si vamos a su esencia lo único que puede hacer es trabajar con dos elementos un uno y un cero y sumarlos.
El uno y el cero son las letras del vocabulario de la computadora. ¿Cuántas palabras tiene el diccionario de la computadora? Tan solo 256 palabras, ¿porqué? Porque la computadora trabaja con palabras de 8 letras y las combinaciones posibles de 8 letras, usando – para el ejemplo, como letras- solo el uno y el cero, son 256.
Ahora bien, nos podemos preguntar, ¿cómo es posible que con solo 256 palabras en su vocabulario una computadora pueda hacer tantas cosas?, ¿cómo es posible que solo sumando pueda hacer tantos cálculos?. La respuesta es que cada palabra cambia de sentido de acuerdo al contexto y además puede manejar esas 256 palabras a una velocidad impresionante. Por ejemplo, en un contexto determinado, una combinación de ocho ceros y unos, representa la letra A y en otro contexto esa misma combinación de unos y ceros representa un color X o el componente de azul de un color X, etc.
Como trabaja a una velocidad muy rápida, para multiplicar, le alcanza con sumar muchas veces el mismo número. ¿Pero como hace para dividir y restar? Es simple, suma números negativos.
Esas palabras de 8 letras, compuestas por unos y ceros son lo que comúnmente denominamos bytes, un byte es una combinación de 8 ceros y/o unos.

El código fuente

Pero, para que esa maravilla sea posible, hacer tantas cosas con un lenguaje de tan solo 256 palabras, es necesario darle instrucciones al procesador de la computadora, indicarle paso a paso que hacer con ese uno y ese cero, combinados en palabras de ocho letras. Un buen ejemplo de lo complejo que puede ser, es el cuento “Instrucciones para subir una escalera” de Julio Cortazar. A ese nivel es que hay que indicar al procesador cada uno de los pasos necesarios para que haga lo que nosotros queremos. O sea, la computadora hace estrictamente lo que le indica su programa, lo que le indico en última instancia el o los programadores, ahí es donde se encuentra el mayor valor agregado. Inclusive el sistema binario utilizado en las computadoras, ni siquiera fue desarrollado debido a ellas, sino que fue propuesto por Leibniz en el siglo XVII.
Al principio los programadores, con no poco esfuerzo, introducían el código máquina directamente en la computadora, lo cual era sumamente complejo y era una limitante muy importante para la programación. Luego vino el lenguaje ensamblador (o assembler) que tiene la desventaja de que es diferente para cada procesador y sigue siendo difícil de leer.

Posteriormente se desarrollaron los lenguajes denominados de alto nivel, los lenguajes de programación comúnmente usados hoy en día, que tienen la particularidad de ser fáciles de leer y escribir, dado que utilizan un lenguaje más cercano al humano. El código generado por el programador, en ese lenguaje más cercano al humano, es lo que se conoce como código fuente. El cual tiene la ventaja de que puede ser analizado, modificado y/o evaluado por otro programador que maneje ese lenguaje.

El compilador

Ahora bien, nos podemos preguntar ¿cómo hace la computadora para entender ese lenguaje más cercano al humano, si en realidad el procesador de la máquina necesita que le den unos y ceros? Para “traducir” ese lenguaje de alto nivel al lenguaje máquina o código binario de la computadora, una de las opciones, es utilizar otro programa denominado compilador.

El compilador es un programa, resultado del esfuerzo de un grupo de programadores, destinado a traducir las instrucciones, escritas en un determinado lenguaje de programación, al código máquina de un determinado procesador, facilitando a partir de ahí la tarea de programación de ese procesador. Entonces esa serie de instrucciones, a las que denominamos código fuente, deben ser procesadas por el compilador, que transforma ese código fuente en las instrucciones que entiende el procesador de la máquina, que como decíamos antes, trabaja con unos y ceros.
El resultado del procesamiento del código fuente por el compilador es lo que se denomina comúnmente ejecutable. Es muy difícil – por no decir imposible – obtener a partir de un programa compilado el código fuente original. Por otra parte si busca en la licencia de algún software existente en su computadora (en caso de que usted no use LINUX) no le será difícil encontrar la siguiente frase:

“Se prohíben las técnicas de ingeniería inversa, descompilación y desensamblaje del Software(…)”

Software libre

Entendido lo anterior podemos entrar en lo sustancial de este artículo, ¿qué es software libre?, ¿qué quiere decir software libre?.
Simplificando al máximo la definición, podemos decir que software libre es un software o programa que permite una serie de libertades:

1) La libertad de usar el programa con cualquier propósito.

2) La libertad de estudiarlo y modificarlo a las necesidades del usuario. Lo cual implica el acceso al código fuente del mismo.

3) La libertad de distribuir copias del programa y de ese modo difundirlo.

4) La libertad de mejorar el programa y distribuir esas mejoras a fin de beneficiar a toda la comunidad. Lo cual también implica el acceso al código fuente del mismo.

Y solo exige una cosa, que el programa resultante se distribuya bajo las mismas condiciones del programa original.
Como contraparte podemos decir que software propietario es el que no brinda alguna de las libertades antes expuestas.
¿Cómo surge el movimiento del software libre? El origen tiene un nombre, Richard Stallman, un programador del MIT (Instituto de Tecnología de Massachussets), él se había acostumbrado a colaborar con otros desarrolladores intercambiando código fuente, de esa manera, cooperando con otros desarrolladores, lograba buenos resultados. Esto último era una practica común en los inicios de los 70, cuando Stallman comenzó a trabajar en el MIT, pero las cosas fueron cambiando, en buena medida debido a que el desarrollo de software, se convirtió en un gran negocio. Al llegar a los 80 el código fuente, había pasado de ser un elemento de intercambio entre los programadores a ser considerado un secreto industrial por varias empresas.
Es en ese contexto que Richard Stallman publica el 27 de septiembre de 1983, en el grupo de noticias net.unix-wizards, el primer llamado al desarrollo del proyecto GNU, decía entre otras cosas:

“ Iniciando este día de Acción de Gracias voy a escribir un sistema de software completo compatible con Unix llamado GNU (siglas de Gnu No es Unix), y lo distribuiré libre a quienes puedan usarlo. Considero que la regla de oro exige que si yo quiero un programa debo compartirlo con otras personas que también lo quieren. No puedo, conscientemente, firmar un acuerdo de confidencialidad o un acuerdo de licencia de software. Para que yo pueda continuar utilizando las computadoras sin violar mis principios, he decidido reunir suficiente software libre de manera de poder continuar sin necesidad de utilizar algún software que no sea libre.(…) estoy buscando personas para quienes el ayudar a la humanidad sea tan importante como el dinero.”

Y al parecer las encontró, veinte años después el movimiento GNU tiene una difusión universal.
Lo que Stallman deseaba era: “retornar al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras” , de ahí el título de este artículo.

El copyleft

A fin de que todo el código fuente producido por el movimiento GNU no fuera utilizado dentro del software propietario comercializado por empresas que ocultaban el código fuente, es que Stallman desarrolla la licencia GNU/GPL (General Public License), también denominada copyleft en contraposición al copyright. La licencia GNU lo que hace es permitir las libertades antes expuestas para el software libre, con la obligación de que todo software derivado de ese código fuente también deba ser distribuido libremente.
De esa manera se evitó que las empresas que distribuyen software propietario se beneficiaran del desarrollo de código fuente del movimiento GNU. Por otra parte eso también llevo a que el software bajo licencia GNU/GPL
aumentara rápidamente.

Según Stallman en su manifiesto GNU:

“GNU no es de dominio público. Todos tendrán permiso para modificar y redistribuir GNU, pero a ningún distribuidor se le permitirá restringir su redistribución posterior. Esto es decir, modificaciones propietarias no estarán permitidas. Quiero asegurarme de que todas las versiones de GNU permanezcan libres.”

En 1985 Stallman crea la Free Software Foundation, (FSF, Fundación del Software Libre) mediante la cual contrató programadores para desarrollar software libre, aunque la mayor parte del desarrollo de software libre sigue siendo producida por voluntarios. También se da el caso de que organismos internacionales financien proyectos de desarrollo de software, con la condición de que luego sea licenciado bajo licencia GNU/GPL a fin de beneficiar a toda la comunidad. Lo cual le brinda un doble placer a los programadores, por un lado cobrar por sus trabajo y por el otro saber que el mismo será difundido y utilizado sin trabas.

AT&T

A fines de los 80 el movimiento GNU estaba en pleno desarrollo, pero aún no contaba con un sistema operativo propio.
En buena medida el movimiento GNU nació en oposición a la decisión de muchas empresas de mantener confidencial el código fuente, AT&T propietaria del sistema operativo UNIX era una de ellas y hacia mucho dinero vendiendo la licencia para usar UNIX y manteniendo secreto el código fuente del sistema operativo. Pero una buena parte de ese código había sido producido por la Universidad de Berkeley, que había recibido apoyo económico para investigación de AT&T. A los programadores de Berkeley no les gustaba nada que su trabajo quedara en secreto mientras veían que Stallman compartía código fuente con todo el mundo.
Lo primero que hicieron estos desarrolladores de Berkeley fue unir las piezas dispersas de código fuente generado para UNIX y luego publicarlo, pero les faltaban seis archivos para tener un sistema operativo completo. Un grupo de programadores de Berkeley se puso a trabajar sobre ese código fuente y desarrollo los seis archivos faltantes, crearon una pequeña empresa y comercializaron el sistema, totalmente compatible con UNIX, entregando en cada paquete una copia del código fuente del mismo, por un monto de 1000 dólares, no olvidemos que en esos momentos UNIX era el sistema operativo usado por las grandes empresas, el mejor y más estable existente. Para ellos ese dinero alcanzaba, pero AT&T cobraba mucho más por la licencia y además no entregaba el código fuente. Ellos pensaron que al poco tiempo de conocerse el código fuente la gente comenzaría a compilar y generar sus propios ejecutables, pero descubrieron que la mayoría de sus clientes no se tomaba el trabajo de compilar el código fuente y les compraba las copias ya compiladas.
Para AT&T era un grave problema, se les venía abajo un gran negocio de venta de licencias y les inicio juicio. Ellos alegaron que el código fuente había sido publicado y liberado por Berkeley y que ellos habían desarrollado el código fuente de los seis archivos faltantes y ganaron el juicio.
AT&T decidió hacerle juicio a Berkeley.
El pleito fue largo, complejo y terminó en 1994 con un acuerdo que beneficio a Berkeley, la Universidad pudo difundir un sistema operativo completo basado en su trabajo previo para UNIX, bajo dominio público, o sea sin ninguna limitación, podía y puede ser usado por cualquier empresa, inclusive las desarrolladoras de software propietario. El sistema operativo denominado 4.4BSD-Lite que luego dió origen al FreeBSD, NetBSD y OpenBSD.
Pero para ese entonces ya existía LINUX que había llenado la necesidad de un sistema operativo para el movimiento GNU.

LINUX

Linus Torvalds, un estudiante de informática de la Universidad de Helsinki, en 1991 se encontró con que deseaba trabajar sobre un sistema operativo, él no tenía una de las grandes computadoras empresariales que trabajaban con UNIX, sino que tenía un PC 386, tampoco le entusiasmaba el DOS de Microsoft ni Windows 3.1, no brindaban ni por asomo las prestaciones de UNIX, él quería algo que pudiera usar en su PC y fuera mejor que lo disponible en ese momento. Mando un mensaje a la red, pidiendo las especificaciones que cumplía UNIX y se puso a trabajar en el corazón (mejor dicho, núcleo o kernel) del sistema operativo que hoy conocemos como LINUX.

Linus anuncio la versión 0.01 de LINUX en agosto de 1991, la primera versión oficial surgió el 5 de octubre de 1991, esta primera versión ya podía ejecutar el compilador de lenguaje C desarrollado por el movimiento GNU.
En octubre de 1991 Linus mandaba un mail a un foro en Internet, donde instaba a colaborar en el proyecto y decía entre otras cosas:

“¿Careces de proyectos interesantes y te mueres por desafiar a un sistema operativo que puedas modificar a tu antojo? (…) ¿Estás harto de trasnochar para poder conseguir que funcione un programa?.
Entonces, esta carta puede ser justamente para ti.”

A partir de ahí otros programadores empezaron a colaborar con Linus, que tuvo la brillante idea de incluir su desarrollo bajo la licencia GNU/GPL, el movimiento GNU apoyo entonces su trabajo destinado a crear un sistema operativo libre, configurando el sistema GNU/LINUX mal llamado LINUX a secas.
Desde entonces es mucho lo que se ha avanzado, hoy en día el sistema GNU/LINUX esta ampliamente difundido en todo el mundo, muchas universidades, programadores independientes y empresas que aceptan respetar la licencia GNU/GPL, trabajan en su mejora, el código fuente se comparte sin ningún tipo de exclusión y la calidad del sistema es mayor a medida que pasa el tiempo.
El autor Eric Raymond planteó que esta mejora constante del software libre, se debía a la que denominó “Ley de Linus” en honor a Linus Torvalds y la formuló de la siguiente manera “Dado el suficiente número de globos oculares, todos los errores se hacen evidentes” , haciendo referencia a que por estar disponible el código fuente de LINUX, para toda la comunidad académica, desarrolladores independientes, colaboradores voluntarios, etc, a nivel mundial, era difícil que un error no fuera fácilmente detectado y rápidamente solucionado. A diferencia de lo que ocurre con el código secreto de las empresas de software propietario.

Las empresas de hardware se dan cuenta

En el mundo de la informática, a partir del auge de los computadores personales, el mayor negocio fue el desarrollo de software, las empresas fabricantes de hardware -la parte física del equipo-, se vieron en determinado momento muy presionadas por las empresas de software, que tenían y todavía tienen, el poder para fijar algunas pautas.
Con el avance del software libre, algunas de éstas empresas comenzaron a incorporar el software libre en sus equipos y brindar su apoyo al desarrollo y mejora del sistema GNU/LINUX. ¿Por qué? Porque un día percibieron que importantes organizaciones había elegido, por seguridad y estabilidad, el software libre frente al software propietario y además el primero los liberaba de la dependencia generada por utilizar el sistema operativo propietario de una única empresa. Tan es así, que varios autores vaticinan a mediano plazo, un cambio en el mercado informático, el cual, según ellos, volverá a ser dominado, en términos económicos, por las empresas fabricantes de hardware.

Hoy en día el caudal de usuarios de GNU/LINUX es enorme, cubriendo un espectro que va desde la NASA pasando por varios gobiernos, hasta un gran número de empresas privadas. En España, un estudio de la empresa Indago, realizado en base a las 1500 empresas de mayor facturación en el 2003, dio como resultado
que el 25% ya utilizaba Software Libre, principalmente LINUX, y el porcentaje va en aumento, las razones invocadas fueron varias, ahorro de costos (69%), independencia del proveedor (47%), mayor flexibilidad y capacidad de personalización (18%), mayor seguridad y ausencia de virus (16%).
El software libre no es gratis, pero es más económico El software libre no necesariamente debe ser gratuito, si bien por sus características puede llegar a ser gratuito, también puede tener un costo, producto del servicio necesario para su distribución, instalación y/o mantenimiento.
Pero, aunque el costo fuera el mismo que el del software propietario, existe una diferencia muy importante y es que el dinero pagado por mantenimiento del sistema, instalación y/o actualización del mismo, es destinado generalmente a mano de obra local, el dinero queda en el país.

Una forma de acercarse

Una buena forma de acercarse al software libre, sin necesidad de cambiar de sistema operativo, puede ser bajando el navegador y manejador de correo Mozilla, tiene una cantidad de ventajas frente al software propietario de similares características, principalmente el control del spam o correo basura. Puede ser bajado en español desde el siguiente sitio web, que les recomiendo visitar:

http://www.mozilla-europe.org/es/

El software libre tiene una interfase amigable

Uno de los problemas de LINUX, era la interfase, pensada para ser utilizada por usuarios avanzados de un ordenador, se basaba principalmente en la introducción de comandos, pero hoy en día con el desarrollo de interfaces gráficas como KDE o GENOME ese tema esta solucionado, estas interfaces gráficas son muy intuitivas y fácilmente utilizables. Por otra parte, para los que no quieren asumir la complicación de bajar una versión gratuita a través de Internet, ya existen paquetes de LINUX, presentados en CD-ROM o DVD, con manuales en español, y todos los programas necesarios para trabajar en un entorno doméstico o de oficina. Estos paquetes o distribuciones son fácilmente instalables por cualquiera que sepa operar un PC y se comercializan a bajo precio.
En el numero de febrero de este año, PC World, una de las revistas más importantes entre los usuarios de PC, recomendaba la instalación SUSE LINUX 9.0 con las siguientes palabras “SUSE, como distribución Linux
y como empresa con servicios de soporte y mantenimiento para las empresas que lo necesiten es, sin duda alguna, el más claro ejemplo de que el mundo de la informática no se acaba en Microsoft”.
Por otra parte existen otras instalaciones como Red Hat o Debian, esta última la más apegada a los principios del movimiento GNU.

Software libre en Uruguay

En Uruguay el desarrollo del software libre y más específicamente el sistema operativo GNU/LINUX ha contado con el apoyo fundamental del Grupo de Usuario Linux del Uruguay (UYLUG), fundado en noviembre de 1997, ha contado hasta el momento con tres presidentes, que se han convertido en importantes referentes sobre el tema en nuestro medio, el primero fue Heber Godoy (ver nota de Brecha N.880 del 10/10/2002), el segundo Diego Roselli y el actual presidente es Rodolfo Pilas. Este grupo, que cuenta en la actualidad con más de 200 socios, tiene como principal objetivo difundir, promocionar, apoyar y fomentar la utilización del sistema operativo LINUX y el software libre en general. El grupo cuenta con un sitio web

http://www.linux.org.uy

y se reúne todos los sábados a partir de las 15 horas en el Colegio Seminario.

Y a partir de ahora…

Sin duda que el software libre se ha ganado un espacio y ese espacio se ira ampliando paulatinamente, en algunas áreas deberá convivir aún durante mucho tiempo con el software propietario, pero hay ámbitos en que, por mucho motivos, ya es anacrónico seguir utilizando software propietario. Con relación concretamente al Estado, tal vez deberíamos preguntarnos ¿No sería una obligación del Estado uruguayo utilizar software libre en lugar de software propietario, dada las características y ventajas del primero?.

Dejamos esta interrogante planteada a fin de desarrollarla en un próximo artículo.

——————————————-

Fernando da Rosa es:

Prof. Adj. A cargo de la cátedra de Lenguaje Audiovisual. Ciencias de la Comunicación. Universidad de la República.

Profesor a cargo de la asignatura Programación Internet I de la carrera Diseñador de Sitios Web. Facultad de Ingeniería. Universidad ORT.

Referencias:

Cortazar, Julio. Instrucciones para subir una escalera de “Historias de Cronopios y de Famas”, 1962. © 1996 Alfaguara.

Licencia GNU
es.gnu.org/Licencias/gples.html

Sitio web de Richard Stallman
http://www.stallman.org/

Anuncio del proyecto GNU
http://www.gnu.org/gnu/initial-announcement.es.html

Fundación vía libre
http://www.vialibre.org.ar/

Manifiesto GNU
http://www.gnu.org/gnu/manifesto.es.html

Wayner, Peter. Free for all
http://www.wayner.org/books/ffa/

Sitio de KDE
http://www.kde.org/

Mozilla
http://www.mozilla-europe.org/es/products/

English version

In the beginning there was the code and the code was free

By Fernando da Rosa

“To go up a stair, one starts by raising that body part located down at the right, wrapped almost always in leather or chamois, and which, almost always fits exactly in the step. Putted in the first step that part, which, to abbreviate, we will call foot, one picks the equivalent part at the left (also called foot, but let’s not confuse it with the previously quoted foot) and taking it to the foot’s same level, one makes it keep going until putting it at the second step…”
Julio Cortazar

Paraphrasing Linus Torvalds we could write:

Are you fed up of staying up all night to get a program working?
Are you fed up of fighting against frozen computers?
Would you like to control your machine’ software instead of having your software controlling you?
Then reading this article might be exactly for you.

A short introduction

There is nothing sillier than a computer processor. Going deeply into its essence the only thing it can do is working with two elements: a one, a zero and addition it. The one and the zero are the letters of the computer’s vocabulary. How many letters has the computer’s dictionary? Only 256. Why? Because computer works with 8 letters words and the possible combinations of 8 letters, using – for the example, as letters- only the one and the zero, it is 256.
Now then, we may ask ourselves, how is it possible that only having 256 words in its vocabulary a computer might be able to do so many things? How is it possible that only by addition it might be able to do so many calculations? The answer is that each word changes its sense according to the context and that besides it can handle those 256 words to an incredible speed. For example, in a specific context, a combination of 8 zeros and ones, represents the letter A and in another context a combination of 8 zeros and ones represents X colour, or the blue component of X colour, etc. Since it works to a very fast speed, to multiply, it only needs to addition the same number many times. But how does it do to divide and subtract? It is simple, it additions negative numbers. Those words composed by ones and ceros are what we commonly call bytes; a byte is a combination of 8 zeros and/or ones.

The source code

To make this marvellous thing possible, making so many things with a language of only 256 words, it is necessary to give instructions to the computer’s processor, to indicate step by step what to do with that zero and one, combined in that 8 letters word. A good example of how complicated this can be is Julio Cortazar’ story “Instructions to go up a stair”. To that level one has to indicate the processor each one of every necessary step to do what we want it to do. That is, the computer does strictly what the program indicates it to do, the last thing the programmer indicated. Here is where it is the added value.
Even binary code used in computers was not developed for it, but proposed by Leibniz in the XVII century. At the beginning, programmers, not without a lot of effort, introduced the machine code straight into the computer, which was very complex and a limit for programming. Then the assembler language came which has the disadvantage that it is different for each processor and is still difficult to read.
Subsequently high level languages were developed. It is the programming languages we commonly use today, which are easy to read and write since it uses a language more similar to human’s language. The code generated by the programmer in that language is called source code, which as the advantage of been analysable and changeable by any other programmer who handles that language.

The compiler

Now then, we may ask ourselves: how does the computer to understand that language similar to human’s language, if actually the processor needs ones and zeros? One of the options to translate that high level language to the machine’s language or binary’s computer code is using another program called compiler.
The compiler is a program result of the effort of a group of programmers, assigned to translate instructions written in a particular programming language to the machine’s code of a particular processor. This facilitates programming job for that processor. That’s the reason why that series of instructions called source code must be processed by the compiler, which transforms that source code into understandable instructions for the processor, which as we said before, works with zeros and ones. The result of the source code processing by the compiler is what we commonly call executable. It is very hard, almost impossible, to obtain the original source code from a compiled program. On the other hand, if you look in any licence of a software installed in your computer (if you are not using LINUX), it won’t be hard to find the next sentence:
“Reverse engineering techniques, uncompilation, unassembly of Software is forbidden (…)”

Free Software

We may now go the fundamental of this article: What is free software? What does it means?
Simplifying the definition we may say it is software which allows some freedoms:

1) Freedom to use software with any purpose.

2) Freedom to study and modify it to the user’s needs, which implicates access to the source code.

3) Freedom to distribute copies of the program by diffusing it.

4) Freedom to improve the program and distribute those improved copies to beneficiate the community, which also implicates to have access to the source code.

And it only demands one thing, that the resultant program must be distributed under the same conditions than the original program.
In the other hand we may say that owner software is the one which does not give any of the previous freedom.
How the Free Software movement does starts? The origin has a name: Richard Stallman, a MIT programmer. He had used to collaborate with other developers, exchanging source codes and getting good results.
This was a common practice in the early 70s when Stallman worked at the MIT, but things started to change mostly due to the fact that software started to be a great business. In the 80s source code became an industrial secret for many enterprises.
It is in that context that Richard Stallman publishes in September 27th 1983, at the news group net.unix-wizards, the first call to develop GNU project, which said among other things:

“Starting this Thanksgiving Day I will write a complete software system compatible to Unix, called GNU (acronym for is Not Unix), and I will freely distribute it to who may use it. I consider that the golden rule demands that if I want a program I have to share it with other persons who also want it. I can not consciously sign a confidentiality agreement or a software license agreement. To continue using computers without violating my principles I have decided to collect enough free software to be able to continue without needing any non-free software. (…) I am looking for persons to whom helping humanity is as important as money.”

And apparently he found them. Twenty years later GNU movement has a universal diffusion.
What Stallman wanted was to: “return to the cooperative spirit which prevailed in the beginning of the computers users’ community”, therefore this article’s name.

Copyleft

In order to not having GNU’s source code used in owner software commercialized by enterprises which hided source code, Stallman develops licence GNU/GPL (General Public License), also called copyleft in contraposition with copyright. GNU’s license allows the previously mentioned free software freedoms with the obligation that any software derived from that source code must also be freely distributed.
In this way they avoided that enterprises distributing owner software from having benefits of the GNU’s source code development. In the other hand this had licensed GNU/GPL software growing fast.
According to Stallman in his GNU’s manifesto/statement:
“GNU is not public. Everybody will have permission to modify and redistribute GNU, but no distributor will be allowed to restrict its posterior redistribution. This means, property modifications will not be allowed. I want to make sure that all GNU’s versions will remain free.”
In 1985 Stallman creates the Free Software Foundation (FSF) by means of which he hired programmers to develop free software, although most of the free software development is produced by volunteers. It also happens that international organisms finance development software projects under the condition that it has to be licensed under the GNU/GPL License, to beneficiate the whole community. This gives a double pleasure to programmers, in one hand they get paid to do their jobs and in the other hand they know that it will be distributed and used without any obstacle.

AT&T

Ta the end of the 80s GNU movement was in full development but still did not counted with their own operative system. GNU starts in opposition to many enterprises’ decisions of keeping source code’s confidentiality. AT&T owner of the UNIX operative system was one of them, and was making a lot of money selling the license to use UNIX and keeping the source code hidden. In many ways that code was produced by the University of Berkeley which had received economic support for investigation from AT&T. Berkeley’s programmers did not like at all that their work was kept in secret while Stallman was sharing source code with everybody. The first thing Berkeley’s developers did was collecting all the scattered source code’s pieces generated for UNIX, and then publish it. But to have a complete operative system 6 files were missing. A group of Berkeley programmers started to work in that source code and developed those six missing files, and created a small enterprise and commercialized the system compatible to UNIX, giving with each package a copy of the source code. They were selling those packages for a total of 1000 dollars; let’s not forget that UNIX was the operative system used by big enterprises, the better and most stable existing operative system. For them that money was enough but AT&T charged much more for the license and besides were not giving the source code. They thought that after knowing for a while the source code, people was going to start to compile and generate their own executables, but they discover that most of their clients was not taking the time of compiling the source code and preferred buying compiled copies. For AT&T it was a serious problem, a great business was falling down and they started a trial. They claimed that the source code had been published and released by Berkeley and that they had developed those six missing files, and they won the trial. AT&T decided to make a trial to Berkeley. It was a long trial, complex, and it finished in 1994 with an agreement beneficiating Berkeley. The University was able to diffuse a complete operative system based on its previous work for UNIX, under public knowledge, which means with any limitation. It could and can be used by any enterprise, even by those developing owner software. That operative system was called 4.4BSD-Lite, which gave rise to FreeBSD, NetBSD and OpenBSD. But for that moment there was already LINUX which had fulfilled the needs of an operative system for GNU movement.

LINUX

Linus Torvalds, a computer student from Helsinki’s University, in 1991 he found himself wanting to work in an operative system. He did not have one of those big business computers which worked with UNIX. He had a PC 386. He did not like Microsoft’s DOS or Windows 3.1. It was not even close to what UNIX could give. He wanted something he could use in his PC and was the best thing at the moment, so he decided to send a message to the net asking UNIX specifications and started to work in the operative system’s heart (or nucleus or kernel) that we know today as LINUX.
Linus announced LINUX 0.01 version in August 1991. The first official version comes in October 5th 1991; this first version could execute the language C GNU compiler. In October 1991 Linus was sending an e-mail to a Internet forum were he invited to collaborate in the project and said among other things:
“Do you lack of interesting projects and die to challenge an operative system which can be modified in your own way? (…) Are you tired of staying up all night to get a program working? Then this letter must be exactly for you.”
From then other programmers started to collaborate with Linus who had the brilliant idea of including his development under the GNU/GPL License. GNU movement supported then his work appointed to create a free operative system, configuring the called GNU/LINUX, wrongly called only LINUX. Since then a lot of progress has been made. Today GNU/LINUX system is largely expanded worldwide, many universities, independent programmers and enterprises which accept to respect GNU/GLP license, are working to improve it, source code is shared without any exclusion and system’s quality is better as time goes by.
The author Eric Raymond posed that this free software constant improvement was due to what he called the “Linus Law” in honour to Linus Torvalds. He formulated it in the following way: “Due to the enough number of eyeballs every mistake is evident”. Meaning by this that since LINUX source code is available for all the academic community, independent developers, collaborators, volunteers, etc, worldwide, it was difficult that a mistake was not easily detected y quickly repaired. Unlike what happens with the secret code of owner software enterprises.

Hardware enterprises realise it

Since personal computer’s peak the biggest business has been software development. Hardware manufacturers –the physical part of a computer- were under software enterprises’ pressure, which had and still have, the power to determinate some guidelines. With the advance of free software some of those enterprises started to incorporate free software to its computers, and to support development and improvement of GNU/LINUX system. Why? Because one day they realised that important organizations had chosen, for security and stability, free software instead of owner software. Besides, free software was releasing them from the dependence generated by using the operative system property of one only enterprise. It is so much like that, that many authors predict a medium term change in computer’s market in which market would be dominated again by hardware manufacturers.
Nowadays, GNU/LINUX users’ volume is huge, covering a spectrum from NASA to many governments, until a big number of private enterprises. In Spain, a study of Indago enterprise based in the 1500 enterprises of biggest invoicing in 2003, gave as a result that 25% already used Free Software, mostly LINUX, and that percentage is growing. Many reasons were given: cost savings (69%), independence from supplier (47%), biggest flexibility and personalizing capacity (18%), biggest security and absence of virus (16%). Free software is not free but it is cheaper. Free software is not supposed to be free, even if by its characteristics it might be free, it may also have a cost generated by the necessary services of distribution, installation, and/or maintenance. Even though that cost was the same as owner software, there is a big difference and it is that the money paid for the system’s maintenance, installation and/or actualization, it is destined generally to local workers and money stays in the country.

A way of approaching

A good way of approaching free software without having to change the operative system might be downloading the browser Mozilla which has many advantages than owner software with the same characteristics, mostly in control of spam or trash e-mail. It can be downloaded in Spanish from the following web site, which I recommend to visit:

http://www.mozilla-europe.org/es/

Free software has a friendly interface

One of LINUX problems was the interface which was created for advanced users, based mostly in the introduction of commands. Today with the graphics interface development like KDE or GENOME this problem is solved, these graphic interfaces are very intuitive and easily usable. In the other hand, for those who do not want to download a free version from Internet, there are already LINUX packages presented in CDs or DVDs with Spanish user’s guides and all the necessary programs to work in a home or work environment. Those packages are easily installable for anyone knowing how to use a PC and are low cost.
In February 2007 PC World’s issue, one of the most important PC magazines, they recommended the installation of SUSE LINUX 9.0 using the following words: “SUSE, as Linux distribution and as a support and maintenance enterprise, for enterprises needing it, is without a question the most clear example that computer’s world does not finishes in Microsoft”. In the other hand there are other installations like Red Hat or Debian, this last one closer to GNU movement’s principles.

Free Software in Uruguay

In Uruguay free software development and most specifically GNU/LINUX operative system has counted with the fundamental support of the Group of Linux Users of Uruguay (UYLUG), founded in November 1997. There have been until now three presidents which have turned into important referents in our environment. The first was Heber Godoy (refer to Brecha’s article Nº880 of October 10th 2002), the second was Diego Roselli and current president is Rodolfo Pilas. This group which counts presently with more of 200 members has a fundamental objective to diffuse, promote, support and encourage the use of operative system LINUX and of free software in general. This group counts with the following web site:

http://www.linux.org.uy

And have their meetings every Saturday at 3 pm in the school “Seminario”.
And from now…
Without a question free software has gained a space and that space will grow slowly, in some areas it will have to coexist with owner software, but there are fields in which, for many reasons it is anachronistic to keep on using owner software. In relationship to the State, we may wonder: Shouldn’t it be an obligation for Uruguayan State to use free software instead of owner software, due to its characteristics and advantages?
We leave this question posed to develop it in a future article.

2 Comentarios hasta el momento...

Mauricio Dice:

18 septiembre 2005 a las 21:07.

Concuerdo totalmente con que el estado uruguayo (más aún el gobierno actual) debería comenzar a utilizar software libre y salir de la esclavitud del soft. propietario.
Creo que la iniciativa la tendriamos que tomar los usuarios GNU, capaz que organizándonos de alguna manera.
Sé que ud. Fernando esta tratando de promover esto a nivel estatal, si de alguna forma puedo ser útil, quedo a las ordenes.
Genial el articulo.

Tux_Paranoid Dice:

8 mayo 2006 a las 1:42.

Muy buen artículo!
Solo quiero marcar dos detalles en cuanto a las libertades del software.

1) El acceso al código fuente no es una libertad en si mismo.

Esto es algo que llamó mi atención, si se lee con cuidado la definición de Software Libre de la Free Software Foundation, vemos que el acceso al código fuente es una consecuencia inevitable de la segunda libertad (modificar el Software para adaptarlo a mis necesidades)

2) Solo la GPL exige que el Software Libre siga siendo Libre.

Cuando dices “Y solo exige una cosa, que el programa resultante se distribuya bajo las mismas condiciones del programa original.” cabe aclarar que esto es lo que llaman la “virosidad” de la GPL. Esto no es una condición para que un soft sea libre, es una condición que exige la GPL. Existen otras licencias que a pesar de no imponer estas exigencias, siguen siendo libres: un claro ejemplo es la licencia BSD, la cual cumple las 4 condiciones pero permite que un soft pueda dejar de ser libre. Esto causa innumerables debates en toda la comunidad.

En fin, me pareció pertinente destacar esos dos detalles, que si bien no son de gran relevancia, generan confusión frecuentemente.
Saludos,

Tux_Paranoid

Dejar una respuesta

 

Fernando da Rosa Morena

Estado del tiempo en Montevideo

El Tiempo en Melilla

Hacer click en una palabra

Traducir

Guía de Software Libre

Archivos

Meta

Etiquetas