ATRAS
SIGUIENTE
INDICE

5. Iniciativa Código Fuente Abierto

Introducción

La etiqueta “Open Source”surgió de una reunión estratégica mantenida el día 3 de febrero de 1998 en Palo Alto, California. Entre los presentes estaban:

 

  • Eric Raymond (ver sección 6).

  • Bruce Perens (líder del grupo Debian).

  • John “Maddog”Hall. (de la organización Linux International).

  • Sam Ockman (grupo de usuarios de Linux de Sillicon Valley).

 

Logo de la Iniciativa

Esta reunión tenía como intención reaccionar frente al plan de Netscape de liberar el código fuente de su navegador 'Netscape Navigator'.

Se dieron cuenta que era la oportunidad de dejar de lado la actitud confrontativa que se había asociado con el software libre en el pasado y trataron de vender su idea desde un punto de vista más pragmático y orientado al mundo de los negocios.

La definición de lo que era Open Source o Código Fuente Abierto procedía del proyecto Debian. Uno de los líderes de ese grupo, Bruce Perens, redactó lo que se conoce como “Debian Free Software Guidelines28. La definición de lo que era aceptable como no, era suficientemente amplia como para incluir la GPL, las licencias estilo BSD, y algunas otras como la del MIT-Consorcio X y la licencia Artística29. Estos lineamientos fueron refinados con el aporte de los voluntarios del grupo Debian. Cuando se decidió utilizarla como Definición de Código Fuente Abierto, lo único que hubo que hacer fue quitar las referencias específicas a Debian.

La idea básica detrás de Código Fuente Abierto es simple: cuando un programador puede leer, redistribuir y modificar el código fuente de un programa, el mismo evoluciona. La gente (voluntarios) lo mejora, lo adapta y corrige los errores. Esto puede suceder a una velocidad mucho mayor a la del desarrollo del software comercial convencional. Este proceso evolutivo produce mejor software que el modelo tradicional.

En realidad, todas estas ideas que conforman las ventajas del modelo Open Source provienen de un escrito publicado por Eric Raymond en el año 1997. El mismo, intitulado “La catedral y el Bazar”, será analizado más adelante. Pero desde ya es importante recalcar la influencia de éste sobre el nacimiento del modelo Open Source.

Definición de Código Fuente Abierto -- versión 1.9

A continuación se detalla el contenido de la Definición de Código Fuente Abierto. Es necesario para poder luego efectuar una comparación frente al movimiento liderado por Richard Stallman.

Introducción.

Código Fuente Abierto no significa el mero acceso al código fuente. Los términos para la distribución del software de Código Fuente Abierto tienen que cumplir con el siguiente criterio:

  1. Redistribución Libre:

    La licencia no deberá impedir la venta o el ofrecimiento del software como un componente de una distribución de software que contenga programas de muchas fuentes distintas a ninguna parte. La licencia no deberá requerir el pago de los derechos de autor u otra tasa por dicha venta.

Esta cláusula apunta a que la licencia debe permitir que el software se incluya en distribuciones (por ejemplo, una distribución de GNU/Linux, o los compilados que aparecen en las revistas). A su vez tampoco se debe exigir por parte del autor un pago por incluir el paquete en una distribución.

  1. Código Fuente:

    El programa tiene que incluir el código fuente y tiene que permitir la distribución tanto en código fuente, como en forma compilada. Si alguna forma del producto no es distribuida con el código fuente, tiene que haber un medio bien publicado de obtener el código fuente por no más que un costo razonable de reproducción preferentemente, una descarga a través de Inernet sin cargo. El código fuente tiene que ser la forma preferida en la cual un programador modificaría el programa. El código fuente deliberadamente ofuscado no está permitido. Las formas intermedias tales como la salida de un prepocesador o un intérprete no están permitidas.

Como idea es muy interesante, pero en la práctica es difícil de llevar a cabo. Es muy subjetivo el término código fuente ofuscado. Lo que sí queda claro es que las salidas intermedias no son aceptadas, por ejemplo un bytecode de Java. Tendrían que entregarse los archivos *.java y no los *.class.

  1. Trabajos Derivados:

    La licencia tiene que permitir modificaciones y trabajos derivados, y tiene que permitir que ellos sean distribuidos bajo los términos de la licencia de software original.

Esta fue la forma que encontraron para unificar las posturas que antes eran opuestas entre la licencia GPL y la estilo BSD. Esto permite una aceptación de muchas más licencias por sobre el criterio GNU que practicamente acepta la GPL y nada más.

  1. Integridad del Código Fuente del autor:

    La licencia puede impedir que el código fuente sea distribuido en forma modificada solamente si la licencia permite la distribución de archivos parches con el código fuente con el objetivo de modificar el programa en tiempo de construcción. La licencia tiene que permitir explícitamente la distribución del software construido a partir del código fuente modificado. La licencia puede requerir que los trabajos derivados tengan un nombre distinto o un número de versión distinto del software original.

Apunta a que los usuarios sepan quién es el responsable del software que usan, no por una cuestión de garantía ya que ninguno de estos programas la traen, sino porque la reputación del autor original puede verse afectada por acciones de otros individuos.

  1. No a la discriminación de personas o grupos:

    La licencia no tiene que discriminar a ninguna persona o grupos de personas.

  2. No a la discriminación de campos laborales:

    La licencia no tiene que restringir a nadie que haga uso del programa en un campo laboral específico. Por ejemplo, no puede impedir que el programa sea usado en un negocio, o que sea usado para una investigación científica.

La principal idea detrás de esta cláusula es permitir que la gente de todos los ámbitos utilice software de Código Fuente Abierto. Con esta idea se establece una clara diferencia con el software llamado shareware, que en general prohibe el uso del mismo para fines comerciales.

  1. Distribución de la licencia:

    Los derechos adjuntos al programa tienen que aplicarse a todos aquellos que reciben el programa sin la necesidad de ejecutar una licencia adicional para estas partes.

Apunta a que no se intente cortar la distribución del software al agregar otra licencia como podría ser un acuerdo de no divulgación.

  1. La licencia no tiene que ser específica de un producto.:

    Los derechos adjuntos al programa no tienen que depender de que el mismo forme parte de una distribución particular de software. Si el programa es extraído de esa distribución y es usado o distribuido de acuerdo a los términos de la licencia del programa, todas las partes a las que el programa sea redistribuido deben tener los mismos derechos que son garantizados en conjunto con la distribución original del software.

Esta cláusula intenta evitar posibles trampas que se pueden incluir en otras licencias para anular la licencia original.

  1. La licencia no tiene que restringir a otro software:

    La licencia no tiene que colocar restricciones en otro programa que es distribuido con el software licenciado. Por ejemplo, la licencia no tiene que insistir en que todos los otros programas distribuidos en el mismo medio tengan que ser software de Código Fuente Abierto.

Se complementa con la cláusula 1, ya que en aquella se busca que la licencia permita que el programa pueda ofrecerse en distribuciones de software y esta apunta a que la licencia no debe imponer restricciones sobre los demás paquetes de la distribución.

El primer gran objetivo por el cual nació la Iniciativa Código Fuente Abierto se cumplió con la publicación de esta Definición. El segundo paso tenía como intención registrar como marca el término “Open Source”. Pero como el mismo es descriptivo, no fue aceptado como marca registrada. Entonces para poder indicar el software que cumple con la Definición de Codigo Fuente Abierto, se registró la etiqueta “OSI Certified”(Certificado por la OSI). Esta certificación se aplica al software que se distribuye bajo una licencia que cumple con la Definición de Código Fuente Abierto.

En el sitio web de la Iniciativa Codigo Fuente Abierto se mantiene una lista con las licencias que han sido aprobadas por el comité de la OSI y la comunidad en general. En la actualidad (junio 2002) esta lista enumera 32 licencias. Entre ellas están las más conocidas como la GNU GPL, la BSD, MPL y otras no tan utilizadas.

La intención detrás de esto, es que cualquiera que distribuye su software bajo algunas de estas licencias, puede decir que su programa es “Software de Código Fuente Abierto certificado por la OSI”.

Diferencias entre Código Fuente Abierto & Software Libre

No se puede decir que sean dos movimientos opuestos entre sí. Lo que queda claro, es que ambos persiguen objetivos diferentes(pero no contrapuestos). Por un lado está la Free Software Foundation y su defensa de la libertad a cualquier precio. Por el otro, tenemos a la incipiente Iniciativa Código Fuente Abierto que ha ganado muchos adeptos en sus cortos cuatro años de vida.

Desde la OSI, expresan que ellos se desprendieron del software libre porque consideraban que esa postura tan radical (pseudo comunista) asustaba a los hombres de negocios. Su intención no es solo que los programadores lancen proyectos certificados por la OSI, sino que grandes compañías se sumen a la iniciativa. En realidad, siempre han tratado de enfriar un poco el enfrentamiento con el software libre. De hecho, siempre aclaran que muchos de sus principios son heredados de los preceptos de Stallman. También suelen referirse a su movimiento como más orientado al marketing y a generar una imagen en la gente sobre las características técnicas de los productos de Código Fuente Abierto; más que recalcar los principios filosóficos que persiguen.

A lo largo de estos ultimos cuatro años, Stallman desde su posición de “Sumo Pontífice”del moviento de Software Libre; ha ido cambiando su veredicto acerca de la Iniciativa Código Fuente Abierto. En un principio criticó duramente al Open Source y lo descalificó en reiteradas ocaciones. Con el correr de los años y dado que el movimiento Open Source comenzó a ganar fama y reconocimiento destronando al software libre, Stallman tomó otra postura frente al mismo.

Sin dudas que nunca fue de su agrado por el hecho que hasta ese momento su Fundación para el Software Libre era la organización más importante y sus ideales eran los únicos que valían como contrapartida al modelo de software propietario. Al aparecer este movimiento que se enfrentaba al software propietario de una manera distinta a la propuesta por él, no le gustó para nada y comenzó a criticarlo. La forma de hacerlo era indicando las debilidades del mismo en cuanto a los principios y valores perseguidos.

'La enseñanza acerca de la libertad a los nuevos usuarios se hizo más difícil en 1998, cuando parte de la comunidad decidió dejar de usar el término software libre y usar “Open Source Software” en su lugar. Algunos de los que favorecieron este término tenían como objetivo evitar la confusión de free con gratis; una meta válida. Otros, sin embargo, apuntaban a apartar el espíritu de principios que ha motivado el movimiento por el software libre y el proyecto GNU, para resultar así más atractivos a los ejecutivos y usuarios comerciales, muchos de los cuales sostienen una ideología que pone las ganancias por encima de la libertad, de la comunidad y los principios'.

Esto fue expresado por Richard Stallman en el libro Open Sources en el año 1999. Es una de las primeras declaraciones públicas opinando sobre el otro movimiento. Aquí puede entenderse claramente su intención de diferenciar los movimientos por cuestiones principalmente filosóficas. Casi simultáneamente, hizo una declaración al sitio de información “Linux Today”(17/8/99) donde remarcaba otro aspecto que los diferencia:

'La distinción es que la filosofía de Código Fuente Abierto se basa en hacer software confiable y poderoso. Enfatizan los valores prácticos. No están equivocados, pero eso no es todo. Yo creo que la libertad es más importante que los atributos de confiabilidad de un software. Si tengo que elegir entre un programa muy poderoso y mi libertad, me quedo con mi libertad'.

Como es posible deducir, Stallman basa todos sus conceptos en la libertad y por eso traza una separación con el otro movimiento; ya que no prioriza la libertad. Con el correr de los años, la postura de Stallman fue perdiendo adeptos y el movimiento de Código Fuente Abierto quedó como la opción más fuerte y reconocida frente al software propietario. Esto fue advertido por Stallman y hasta llegó a declarar que lo estaban “borrando de la historia”. Lo cierto es que el tono de sus críticas bajó un poco y declaró lo siguiente:

'Nuestra relación con el Open Source es la siguiente: estamos en desacuerdo en los principios básicos, pero coincidimos bastante en las recomendaciones prácticas. Entonces podemos hacer trabajos en conjunto en muchos proyectos. No los vemos como un enemigo, ya que nuestro enemigo es el software propietario. Reconocemos que han contribuido a nuestra comunidad'.

Licencias Aceptadas

Para continuar con la comparación entre Código Fuente Abierto y Software Libre, se pueden establecer las diferencias entre ambos a la hora de aceptar licencias.

En la fundación para el Software Libre se califica a una licencia según los siguientes criterios:

De esta calificación surgen tres tipos de licencias:

En la Iniciativa Código Fuente Abierto se utiliza la Certificación OSI para denotar que el software es Open Source. Para acceder a esta certificación la licencia bajo la que se distribuye el mismo debe cumplir con la Definición de Código Fuente Abierto.

Licencias Aceptadas por Ambos

* Estas licencias son aceptadas por la Free Software Foundation como de software libre pero no son compatibles con la GNU GPL, por lo que no pueden unirse a un programa protegido por la GNU GPL para obtener un trabajo derivado. Si se hace eso, el trabajo debe lanzarse bajo la GNU GPL.

Licencias aceptadas particularmente


Open Source Iniciative

Free Software Foundation

MITRE Collaborative Virtual Workspace License.

Licencia Guile.

RICOH Source Code Public License.

Cryptix General License.

VOVIDA Software License.

Licencia de bases de datos de Berkley.

INTEL Open Source License.

Licencia de Netscape Javascript.

JABBER Open Source License.


NOKIA Open Source License.


Sleepycat License.


NETHACK General Public License.


Common Public License.


XNET License.


Eiffel Forum License.


MotoSoto License.


Open Group Test Suite License.


NCSA Open Source License.


Artistic License. *


Apple Public License. *


Sun Public License. *


* Estas licencias son consideradas por la Free Software Foundation como Licencias No Libres de software.

Consideraciones Finales

Sin dudas es muy importante la aparición del movimiento de Código Fuente Abierto. Aportó nuevas ideas y un enfoque distinto al dilema entre el software libre y el software propietario. Permitió acercar estos dos extremos hacia un modelo híbrido en el cual ambos participantes dan lo mejor de cada uno.

Por el lado del software libre, tenemos la robustez que logran los programas al poder ser inspeccionados y probados por los usuarios. Además la posibilidad de contar con el código fuente permite efectuar modificaciones u optimizar las soluciones actuales. Del lado del software propietario, las empresas pueden aportar su capital para financiar los proyectos, más el 'know how' obtenido a lo largo de años.

Todo esto unido da forma a la idea de Open Source. Esta concepción es muy interesante y quizá termine prevaleciendo en el futuro.

En cuanto al software libre, tiene muchos aspectos importantísimos, sin los cuales el Open Source no existiría. Como idea es mucho más pura. El problema que trae aparejado esto es que el movimiento de Software Libre se aisla del resto, solo porque no comparten sus ideales de libertad.

Aunque a Stallman no le guste, el modelo Open Source es una evolución del Software Libre y debería reconocerlo como tal. Lo que nunca hay que olvidar es que el movimiento Open Source tiene la fuerza que tiene en gran parte gracias a todo lo desarrollado por la Free Software Foundation con anterioridad.



28Lineamientos de Debian sobre Software Libre.

29Licencia del lenguaje de programación PERL


ATRAS
SIGUIENTE
INDICE