El software Libre tiene como finalidad de que nadie, absolutamente nadie, se apropie de la propiedad intelectual de éste. Es decir, el software libre no pertenece a nadie, pertenece a todos los que lo desarrollan y a los que lo utilizan, y todos pueden contribuir para mejorarlo. Evelio Martínez.
Introducción
Últimamente en el mundo de la computación se ha escuchado con regularidad el término Software Libre. Más que un movimiento liberador del software, es una filosofía de compartir aquello que nos es útil, en este caso el código fuente o programas de cómputo. Estas aplicaciones o piezas de software nos facilitan una serie de actividades en nuestra computadora sin pagar algún costo por utilizarlas.
Hoy en día disponemos de una gran variedad de opciones en cuanto a software se refiere. Podemos emplear programas comerciales que nos facilitan el realizar tareas como escribir una carta, editar alguna fotografía o enviar un correo electrónico. Sin embargo ¿Qué ocurre cuando queremos compartir ese mismo software con algún amigo?, ¿Qué pasa si queremos modificarlo o pagar para que alguien más lo modifique por nosotros con el fin de adaptarlo a nuestras necesidades? Simplemente no es posible, por que no tenemos acceso al código fuente; y si distribuimos dicho software sin el permiso del autor (o autores) estamos incurriendo en un delito. Es aquí donde tiene cabida el movimiento del software libre, software cuya distribución, uso y modificación es perfectamente legal y no solo eso, si no que además nos incita a “compartir” como parte fundamental de su filosofía, siempre a favor de mejorar el software.
En esta primera parte de este artículo nos enfocaremos a conocer los orígenes del software libre, mencionando sus principales autores. En las siguientes ediciones nos enfocaremos a describir la filosofía de este movimiento. También hablaremos sobre su futuro, las licencias de software y el debate mundial de patentar el software y sus repercusiones en la industria de la informática. Mencionaremos también algunas de las aplicaciones que utilizan el concepto de bazar del software libre.
Orígenes del Software Libre
La primera generación de computadoras aparece a finales de la década de 1940. Eran de enormes dimensiones y muy costosas. El poder computacional era muy pobre comparado con las computadoras de la actualidad. La relación entre el hardware y el software era demasiado estrecha, los programas se escribían de una manera bastante especializada (lenguaje de máquina) y por lo tanto, el concepto de software como una parte “independiente” del hardware se veía todavía muy lejano. Debido precisamente a esta relación entre hardware-software, las personas que operaban las computadoras debían de poseer cierto nivel de conocimientos sobre el funcionamiento de las mismas, así como de los programas que necesitaban para hacerlas funcionar. En ese entonces no existían los usuarios convencionales, todos eran usuarios especializados, en su gran mayoría científicos o ingenieros.
Entre esos usuarios expertos, era muy común que se diera el intercambio de programas así como el compartir mejoras hechas a los mismos. A estas mejoras en el software se les conoce como hacks y a estos primeros expertos o gurus de la programación se les empezó a llamar hackers. Término que en la actualidad se ha ido desvirtuando, confundiéndolos con delincuentes informáticos. En general a los hackers les interesa conocer el funcionamiento detallado de los sistemas informáticos y de su seguridad, manteniendo una actitud ética. Algunos traspasan esta línea y se convierten en lo que la comunidad hacker ha denominado cracker.
En los inicios de la computación, 40s y 50s, no existían las licencias de software. El software era libre y los programas se intercambiaban como se hace con las recetas de cocina. Este espíritu perduró en la comunidad de programadores durante años como algo natural, hasta que con el tiempo las restricciones derivadas de licencias de uso, implementadas por desarrolladores de software y las grandes compañías, plantearon la necesidad de fijar una línea divisora entre el software libre y el software propietario.
Posteriormente, el software se empezó a ver más como una gran colección de pequeños fragmentos de código, susceptible de ser modificado y adaptado. Las computadoras de escritorio empezaban a volverse cada vez más populares y accesibles a un número mayor de personas. Había también una mayor cantidad de programadores probando cosas nuevas, escribiendo sus propias aplicaciones e iniciando una gran variedad de proyectos. Sin embargo, había una importante limitante, la gran mayoría del software que se utilizaban en ese momento era propietario y venía protegido por licencias que regulaban su uso y distribución.
Con el surgimiento del ARPANET (precursor del Internet) a finales de la década de los 60s –la cual permitía la interconexión entre redes de computadoras de las diversas universidades– empezó el surgimiento de la primera comunidad global que se alzaba sobre los valores y principios del software libre. Los grupos hasta entonces dispersos de hackers, pudieron a través de la red, sumar esfuerzos, intercambiar conocimientos y colaborar entre sí. Los proyectos involucraban cada vez más desarrolladores de software, quienes estaban dispersos geográficamente alrededor del mundo y utilizaban el correo electrónico como medio de comunicación para hacer llegar sus aportaciones.
La aportación de UNIX al software libre
Los origenes del sistema operativo UNIX se remontan a finales de los años 60s. UNIX en sus inicios fue un proyecto de investigación por parte de los laboratorios Bell de AT&T. El propósito era desarrollar un sistema operativo simple y elegante, además se quería evitar que estuviera completamente escrito en ensamblador, lo que motivó el nacimiento del lenguaje de programación C.
Con el transcurrir de los años el sistema operativo fue ganando adeptos y aumentando su popularidad entre los usuarios. A finales de los años 70s, AT&T creó un grupo con la misión de comercializar el sistema operativo: el UNIX Support Group (USG). El problema que surgió fue que las licencias, que un principio habían sido libres de cualquier costo, o a precios relativamente bajos, se fueron encareciendo. Éstas incluían cada vez más restricciones, limitando el uso y las posibles mejoras que se pudieran hacer al sistema operativo. Además, estas políticas provocaron que prácticamente cualquier empresa grande de software de aquel entonces, dispusiera de su propia versión de UNIX. Esto provocó que las mismas fueran hasta cierto punto incompatibles y se entorpeciera la posibilidad de aprovechar el conocimiento sobre UNIX de otro fabricante.
Algunas de las versiones de UNIX y sus empresas comercializadoras eran: AIX de IBM, HP-UX de Hewlett-Packard, Solaris y SunOS de Sun Microsystems, IRIX de Silicon Graphics, entre otras. El principal elemento en contra de los sistemas operativos UNIX (no libres) es el costo de propiedad intelectual que puede variar según el proveedor y según la plataforma de equipo de cómputo a instalar. Asimismo, el licenciamiento es generalmente por usuario, cayendo así en un esquema de incrementos de costos cada vez que la empresa crece en personal y en requerimientos.
Al mismo tiempo que UNIX se licenciara comercialmente a diversas empresas, empezaron a emerger sistemas operativos (basados en UNIX) gratuitos, pero con algunas restricciones. En esta categoría caen los BSD (Berkeley System Distribution). La rama BSD (NetBSD, FreeBSD y OpenBSD) se origina cuando At&T licenció el código original de UNIX a la Universidad de Berkeley en California. Ingenieros de Berkeley hicieron mejoras significativas a UNIX generando su propia versión. Se creó entonces una condición divergente entre la versión original de AT&T (denominada ya en ese momento «UNIX System V») y la versión de Berkeley: BSD.
El grupo que llevaba el desarrollo de BSD, por su parte, decidió eliminar todo el código de AT&T de su sistema, reemplazándolo por otro que no estuviera sujeto a pago de licencias, esto derivó en el 4.4BSD-Lite, un sistema libre de las restricciones impuestas por el USG. Posteriormente originó el desarrollo de FreeBSD: UNIX BSD, OpenBSD, NetBSD y Darwin (base del sistema operativo MacOS X). BSD tiene una licencia que permite realizar modificaciones y no redistribuir su código, lo cual genera ciertas restricciones para utilizarla en proyectos libres.
Richard Stallman y el proyecto GNU/Linux
«Necesitamos reforzar el espíritu de colaboración de la gente, respetando su libertad para cooperar y evitando imponer esquemas para dividirlos y dominarlos.» Richard Stallman.
Si sé está hablando de software libre es prácticamente imposible no mencionar a Richard Stallman, un personaje genial y controvertido, imprescindible para comprender la verdadera esencia del software libre. Físico de carrera, graduado en la Universidad de Harvard. Trabajó en el laboratorio de inteligencia artificial del Instituto Tecnológico de Massachussetts (MIT) desde 1971.
Una de las anécdotas que se cuentan entorno a Richard Stallman, narra que en cierto lugar donde él trabajaba, tenían una impresora que atoraba continuamente el papel. La única manera de verificar que se atoraba el papel, era trasladarse físicamente hasta el lugar donde estaba dicho dispositivo. Stallman tuvo la idea de modificar el código que controlaba la impresora, para que ésta mandara un aviso cuando se atascara el papel y evitarse estar revisándola a cada rato. Para ello se comunicó con las personas que distribuían el software de la impresora y les planteó lo que quería hacer. Lo único que obtuvo como respuesta, fue que era imposible que le dieran acceso al código fuente del programa que controlaba la impresora, y por lo tanto no podía modificarlo. Stallman se hizo la siguiente pregunta. ¿Cómo es posible que no pueda hacer una mejora a un software por el que pagué?
En 1984 movido por el deseo de lograr que el código fuente del software esté disponible para cualquiera, abandonó el MIT para iniciar el proyecto conocido como GNU. El proyecto GNU tenia la finalidad de crear un sistema operativo completamente libre. En 1985 publicó su manifiesto GNU, en el cual expone sus intenciones y motivaciones para crear una alternativa libre al Unix a la cual llamó GNU (GNU No es UNIX). Poco tiempo después se integró a la Free Software Foundation (FSF) para coordinar el esfuerzo del software libre. La influencia y liderazgo de Stallman para establecer un marco de referencia moral, político y legal del movimiento de software libre, como alternativa al software propietario.
Una contribución de Richard Stallman al movimiento del software libre es inventar el concepto de copyleft (contrario a copyright). Elemento clave en la propuesta de la Licencia Pública General de GNU, conocida por sus siglas en inglés, GPL/GNU.
En 1990 el sistema operativo GNU estaba casi completo, el único componente que faltaba era el núcleo (kernel), también llamado Hurd. Un año después, en 1991, Linus Torvalds, un estudiante finlandés frustrado por tener que usar MS-DOS y queriendo evitar las limitaciones de MINIX, envió un mensaje por Internet al grupo de noticias comp.os.minix en el cual mencionaba que estaba trabajando en un versión libre similar a MINIX. Éste era un sistema operativo bastante reducido creado por Andrew Tanenbaum con fines didácticos, el sistema era bastante simple y con pocas funcionalidades.
Torvalds ponía a disposición (en la red Internet) esta versión de Minix, para quien la quisiera usar y a su vez invitaba a realizar aportaciones que sirvieran para mejorarla. A partir de ese momento y empleando los componentes desarrollados por el proyecto GNU y la Internet como vehículo de comunicación, Linus consiguió convertirse en el líder de una comunidad de desarrolladores diseminada por todo el mundo. Al sistema operativo desarrollado por Linus con ayuda de la comunidad, se le designó el nombre de Linux, en honor al esfuerzo de Torvalds. Con el núcleo de Linux y con la mayor parte del sistema GNU completada, y respaldado por la licencia GPL (General Public License), la cual se sustenta sobre el concepto de «copyleft», la primera versión del sistema operativo GNU/Linux se libera en septiembre de 1991.
Lo interesante del sistema operativo Linux, no era ni su diseño ni tampoco su filosofía, sino su metodología de desarrollo de software. En ese entonces el software se escribía en grupos cerrados, mientras que Linus Torvalds proponía un modelo distribuido, abierto, y cualquier persona interesada en contribuir al software podría participar. A este modelo en el cual se desarrolla Linux y la mayoría del software libre se le conoce como bazar. Al modelo tradicional empleado por las compañías desarrolladoras de software propietario se le conoce como catedral. Este concepto lo explica más detalladamente Eric S. Raymond en un ensayo titulado La Catedral y El Bazar, el cual pueden encontrar en la red. Eric S. Raymond es también uno de los personajes importantes del movimiento software libre y Open Source. Con el transcurrir del tiempo surgieron pequeñas compañías que empezaron a empaquetar en un conjunto de disquettes (hoy CDs/DVDs) el núcleo de Linux provisto con una interfase gráfica, acompañado con programas de GNU y utilerías de software libre, con lo que se facilitaba su instalación. A estos conjuntos de CD/DVD se les denomina Distribuciones de GNU/Linux. Estas distribuciones de software libre bajo licencia GPL/GNU son desarrolladas por empresas de software como Red Hat y SuSE. Otras distribuciones son desarrolladas por organizaciones de programadores voluntarios, tales como Debian, Ubuntu, Gentoo, entre otras.
El Software libre a lo largo de estos años no ha dejado de crecer y multiplicarse. Existen en la red de Internet miles de desarrolladores de software dispuestos a contribuir para la causa de este movimiento.
En la segunda parte de este artículo nos enfocaremos a explicar la filosofía de este movimiento, las licencias de software y mencionaremos algunas de las principales aplicaciones de software libre que existen en la red.
Orlando Jorge Franco Murillo y Evelio Martínez Martínez son: estudiante y profesor-investigador respectivamente de la carrera de Licenciado en Ciencias Computacionales, perteneciente a la Facultad de Ciencias de la Universidad Autónoma de Baja California (UABC) en la ciudad de Ensenada.
Filosofía del Software Libre
Introducción
En la edición pasada hablamos sobre los orígenes del movimiento de software libre. También mencionamos los dos modelos de desarrollo de software: bazar y catedral, y comentábamos que el modelo bazar era el que se utilizaba para crear software libre, en donde participaban voluntariamente miles de desarrolladores diseminados en todo el mundo. Mientras que el modelo catedral es utilizado por grupos pequeños de desarrolladores, generalmente para crear software propiedad de una compañía.
En esta segunda parte hablaremos sobre los principios, filosofía y licencias en la que se basa el software libre. Abordaremos también las diferencias entre Software Libre y Open Source. Al final mencionaremos algunos de proyectos de software libre que les podrían ser de utilidad a personas que quieran enriquecer el contenido y administración de páginas web.
Principios y filosofía del Software Libre
Richard Stallman, pionero de este movimiento a nivel mundial, aclara que software libre (Free Software) es un asunto de libertad. La palabra «free» en inglés se malinterpreta como «gratis» o libre de costo. La palabra «free» se refiere a la libertad de los usuarios de poder ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.
Para entender un poco mejor este concepto, se establecieron estas 4 libertades para los usuarios de este tipo de software.
* La libertad de usar el programa, con cualquier propósito (libertad 0).
* La libertad de estudiar cómo funciona el programa y adaptarlo a tus necesidades (libertad 1).
* La libertad de distribuir copias, con lo que puedes ayudar a la comunidad (libertad 2).
* La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3).
Es software libre, entonces, aquel que cumple estas cuatro libertades. El acceso al código fuente es un requisito previo para que se den las libertades 1 y 3. El código fuente son las líneas de código escritas en un lenguaje de programación, las cuales nos sirven para ver como están construidas las instrucciones del programa y es posible hacer modificaciones (al código) de acuerdo a las propias necesidades, claro, respetando la licencia de software en cuestión. No hay necesidad de avisarle o pedirle permiso a alguien por haber hecho tales mejoras al código. Si consideras que estas modificaciones pueden ser importantes para el funcionamiento de la aplicación, tienes la libertad de publicarlos para que otras personas puedan beneficiarse de estas mejoras. Si tienes el código fuente puedes convertirlo a código ejecutable (binario) por medio de un compilador o interprete de ese lenguaje de programación. Este código ejecutable es el que instalas en la computadora y correrlo con el click del ratón.
El software propietario, shareware, freeware, entre otros, no te dan la libertad de acceder al código fuente, por lo tanto no puedes hacerle mejoras ya que sólo te entregan el código binario o ejecutable, el cual no puedes modificar, y si intentas modificarlo (lo cual es imposible) te puedes meter en problemas legales. El software propietario te restringe a un más, ya que ni siquiera puedes distribuirlo o copiarlo ya que las licencias, en la mayoría de los casos, están restringidas por usuario.
Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre. Si el software no cumple con las 4 libertades, mencionadas anteriormente, entonces no es software libre.
Las licencias de software
Las licencias de software es la autorización, permiso o contrato por escrito concedido por el titular de los derechos de autor o propiedad intelectual del programa informático, al usuario de dicho software. En la licencia se establecen restricciones de uso, modificación o redistribución del software. También se señalan los límites de la licencia como el plazo de duración, el territorio de aplicación y todas las demás cláusulas que el titular de los derechos de autor establezca.
En el software libre, aunque no existen muchas restricciones con respecto al uso, modificación y redistribución del software, también existen las licencias. Aunque existen muchas categorías de licencias de software libre, por su relevancia, la gran mayoría caen en 3 tipos:
– BSD (Berkeley Software Distribution)
– MPL (Mozilla Public License)
– GPL (General Public License)
De estas tres, la licencia GPL de la GNU es la más utilizada por los proyectos de software libre. La licencia GPL está basada por el concepto «copyleft» (contrario a copyright), el cual es una manera de distribuir el software, mientras no entren en conflicto con las libertades centrales. Copyleft es una regla o tipo de licencia que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las (4) libertades centrales. El proyecto GNU utiliza a «copyleft» como su bandera para proteger de modo legal estas libertades para todos. En otras palabras, si creaste o modificaste unas líneas de código de un software libre, no debes de poner restricciones adicionales si distribuyes tal software. Muchas compañías, por ejemplo, toman el código fuente (con licencia GPL), el cual está disponible gratuitamente en Internet. Después lo modifican de acuerdo a sus necesidades, y al momento que distribuyen el programa, no proporcionan el código fuente, además ponen otras restricciones. Esto viola la licencia GPL basada en el concepto copyleft.
Free Software vs. Open Source
En 1998, aparece un nuevo movimiento en el mundo del software, el cual se dice llamar Open Source o Código Abierto y es impulsado por la Open Source Initiative (www.opensource.org). Aunque el Software Libre y el Open Source parecen similares, tienen distintas filosofías creando mucha confusión entre los usuarios y desarrolladores. La Free Software Foundation deja claro que «el movimiento del software libre y el movimiento Open Source son como dos partidos políticos en nuestra comunidad». Open Source describe una categoría de licencias de software casi, pero no completamente, igual que software libre. Muchas personas creen que si algún software te ofrece el código fuente, es Open Source. Sin embargo, mucho de este software catalogado como Open Source, aunque te da la libertad de modificar el código fuente, no da la libertad de distribuir sus modificaciones. En algunas ocasiones puedes hacerlo, siempre y cuando, notifiques por escrito al titular del software. En muchas de las ocasiones restringen el uso comercial de éste.
En resumen, Open Source y Free Software son dos movimientos distintos con diferentes filosofías. Por un lado el Software Libre hace énfasis en que todos los programadores y desarrolladores tienen la obligación ética de respetar las 4 libertades, y por el otro lado, la corriente Open Source intenta convencer a las empresas de que pueden obtener beneficios respetando la libertad de sus usuarios al intercambiar y compartir sus programas. Aunque son movimientos distintos, ambos luchan contra su principal enemigo, el software propietario.
Proyectos de software libre
Existen en la red de Internet una infinidad de proyectos de software libre y open source que pueden ser utilizados para distintos propósitos. Nada más en el sitio SourceForge.net existen más de 157 mil proyectos registrados. Cuando uno hace uso de estas aplicaciones, como usuario, se da cuenta de las bondades del modelo de bazar, en donde muchos desarrolladores alrededor del mundo aportan sus conocimientos para seguir mejorando continuamente estos programas. Muchas de estos proyectos están desarrollados en lenguajes tales como C, C++, Java, PHP, Javascript, etc, y utilizan la licencia GNU/GPL la cual ofrece más libertades para los usuarios y desarrolladores.
A continuación listo una serie de proyectos los cuales pueden ser descargados gratuitamente en las ligas de Internet que se mencionan, los cuales pueden ser utilizados por personas o webmasters que quieran enriquecer sus páginas web.
Sistemas Administradores de Contenido:
– Joomla (www.joomla.org)
– Mambo (www.mambo-foundation.org)
– PHP Nuke (www.phpnuke.org)
– PHP WCMS (www.phpwcms.de)
– PostNuke (www.postnuke.com)
Foros de discusión:
– phpBB (www.phpbb.com)
Blogs:
– B2evolution (www.b2evolution.net)
– Nucleus CMS (nucleuscms.org)
– WordPress (www.wordpress.com)
Listas de Correo:
– PHP List (www.phplist.com)
Administradores de proyectos:
– dotProject (www.dotproject.net)
– PHProjekt (www.phprojekt.com)
Wikis
– TikiWiki (www.tikiwiki.org)
– PhpWiki (phpwiki.sourceforge.net)
Comercio electrónico
– OS Commerce (www.oscommerce.com)
– Zen Cart (www.zen-cart.com)
Quiza los proyectos de software libre/open source más utilizados alrededor del mundo son:
– Apache (www.apache.org): según NetCraft más del 50% de los servidores web en el mundo son Apache.
– Sendmail (www.sendmail.org): el cual es utilizado para agente de transporte de correo electrónico vía SMTP (Simple Mail Trasport Protocol).
– MySQL (www.mysql.org): es una poderosa base de datos muy utilizada por aplicaciones desarrolladas en PHP, Perl, Python y otros lenguajes.
– PHP (www.php.net): obviamente es el lenguaje orientado al Web más utilizado por los desarrolladores.
– Linux (www.linux.org): No podría faltar en esta lista el núcleo de Linux.
Tipos de Software Software libre: Es aquel software que te permite la libertad de usarlo, copiarlo, distribuirlo, y como se te proporciona el código fuente, puedes estudiarlo, mejorarlo y adaptarlo a tus necesidades libremente, sin pagar o permisos a nadie. El hecho de que sea libre no significa que no puedas cobrar por la distribución o modificaciones al software, siempre y cuando no pongas restricciones adicionales, respetando las 4 libertades y el concepto de copyleft.Software propietario: Es el tipo de software en el cual su uso, redistribución o modificación está prohibida, o se requiere que se solicite autorización al titular de los derechos de la propiedad intelectual. La gran mayoría de este software tiene un costo económico por adquirirlo, convirtiéndose en software propietario comercial. No se proporciona el código fuente, por lo que no puedes hacerle modificaciones al mismo.Freeware: es una forma de comercialización. No debe confundirse freeware con free software, son términos muy distintos. Freeware es todo aquel programa que se distribuye gratuitamente, sin ningún costo adicional. La diferencia más importante entre ambos es que el freeware no se te proporciona el código fuente en la mayoría de los casos, sólo el ejecutable. Por lo tanto, no puedes modificarlo. Shareware: es una modalidad de comercialización más extendida. Este software si tiene costo y desde luego no se te proporciona el código fuente. El programa viene en varias modalidades: como una versión de demostración con funciones o características limitadas o con un uso restringido en tiempo, por ejemplo 30 días. Esta modalidad le brinda al usuario probar el software antes de comprarlo, y posteriormente, si es del agrado, comprar la versión completa del programa. Adware: Es software gratuito que contiene anuncios, si deseas comprar la versión completa sin anuncios, tienes que pagar una cantidad de dinero por adquirirla. Al igual que el freeware, shareware y el software propietario, el adware no te proporcionan el código fuente. Las formas de distribución del software que utilizan el freeware, shareware y adware, sólo afectan la forma en que los programas son comercializados, y son independientes de la licencia de software a la que pertenezcan. |
En la tercera parte de este artículo hablaremos sobre el futuro del software libre y abordaremos también el controversial tema de las patentes de software y su impacto en la industria del desarrollo de programas de cómputo.
Evelio Martínez Martínez y Orlando Jorge Franco Murillo y son: profesor-investigador y estudiante respectivamente de la carrera de Licenciado en Ciencias Computacionales, perteneciente a la Facultad de Ciencias de la Universidad Autónoma de Baja California (UABC) en la ciudad de Ensenada. Se les puede contactar en evelio(at)uabc.mx y duende.estudio(at)gmail.com
Futuro del Sowtware Libre
ntroducción
Hace solamente unos cinco años, el software libre (llámese open source, free software, etc.) era todavía una curiosidad, algo que algunas empresas arriesgadas estaban probando y que muchas otras consideraban cosa de comunistas y de locos que regalaban su trabajo. Hoy en día, el software libre se ha establecido como una verdadera alternativa para empresas de diferentes tallas, desde las micro hasta las más grandes empresas de la talla de IBM.
Solamente los pocos informados, o los que ven sus intereses afectados, siguen desdeñando al software libre y poniéndolo en un plano inferior al software comercial. Sin embargo, la inserción del software libre en un ambiente de fuertes intereses comerciales no ha carecido de situaciones ríspidas y de tropiezos. Con estas experiencias cabe preguntarse si estos problemas seguirán presentes o incluso se amplificarán, o bien si hay soluciones que resulten convenientes para todas las partes involucradas.
En esta tercera parte del artículo de software libre hablaremos sobre el tema controversial de las patentes de software y su impacto en la industria del desarrollo de programas, también abordaremos el futuro del software libre y las virtudes de la nueva licencia GPL versión 3.
¿Qué es una patente?
Una patente es un derecho exclusivo concedido a una invención, es decir, un producto o procedimiento que aporta, en general, una nueva manera de hacer algo o una nueva solución técnica a un problema. La patente proporciona protección para la invención al titular de la misma. La protección de una patente se concede durante un período limitado que suele ser de 20 años.
El término patente deriva del latin patens, -entis, que originalmente tenía el significado de estar abierto, o descubierto (a inspección pública) y de la expresión letras patentes, que eran decretos reales que garantizaban derechos exclusivos a determinados individuos en los negocios. Siguiendo la definición original de la palabra, una de las finalidades de la legislación sobre las patentes es la de inducir al inventor a revelar sus conocimientos para el avance de la sociedad a cambio de la exclusividad durante un periodo limitado de tiempo. Luego una patente garantiza un monopolio de explotación de la idea o de una maquinaria durante un cierto tiempo.
¿Las patentes de software?
La ley de la propiedad industrial en México, promulgada por el Instituto Mexicano de Propiedad Industrial (IMPI), en su artículo 15 dice textualmente «Se considera invención toda creación humana que permita transformar la materia o la energía que existe en la naturaleza, para su aprovechamiento por el hombre y satisfacer sus necesidades concretas». En el artículo 19 fracción IV de esta misma ley dice lo siguiente: «No se considerán invenciones para los efectos de esta Ley, los programas de computación». Lo que queda bien claro, es que la legislación mexicana permite que se patenten inventos, más no el software.
Afortunadamente en México los programas de computación son considerados como si fueran obras del intelecto, protegidos por la Ley Federal del Derecho de Autor en su artículo 13. Pero en otros países, notablemente en los Estados Unidos (EUA), los programas y herramientas de software se patentan como si fueran inventos, y esto trae una infinidad de problemas para la industria del software en general, tal como veremos más adelante.
Una patente puede verse como un monopolio sobre una tecnología. Los monopolios a lo largo de la historia han traído estragos económicos y sociales que no son bien vistos en la sociedad. Las patentes de software van en contra de la filosofía del movimiento de software libre. Es por eso que la legislación sobre patentes debe de ser estudiada con cuidado, de manera que no afecte intereses de los usuarios y desarrolladores de software.
Las patentes de software inhiben el desarrollo de programas de cómputo y prácticamente destruyen a los pequeños grupos de desarrollo, los cuales no pueden luchar contra los grandes monopolios del software. Las patentes están convirtiendo la publicación del software en el privilegio de algunos pocos. Solamente las grandes corporaciones de la industria del software podrían sobrevivir al embate por las demandas jurídicas y otros costos adicionales, que los grupos pequeños de desarrolladores no podrían afrontar. El problema, como siempre con las patentes, es que si te demandaran, descansa sobre tí la necesidad de demostrar que la patente en cuestión es inválida.
Un ejemplo típico de una patente de software es la No. 6,727,830 conocida como «double click» otorgada a la compañía Microsoft por la Oficina de Patentes de Estados Unidos en 2004. Esta patente es utilizada por todos nosotros cuando damos un click con nuestro ratón a un anuncio en una página Web, por ejemplo. Esto significa ¿Que todos los que hacemos esta acción estaríamos infringiendo esta patente?
Otro caso muy sonado en los medios electrónicos fue el de las compañías NTP vs RIM (Blackberry). La empresa canadiense Research in Motion (RIM), fabricante de los dispositivos móviles Blackberry, tuvo que pagar $612.5 millones de dólares a NTP, una pequeña compañía de Arlington (Virginia), para poner fin a un largo litigio. La disputa comenzó cuatro años atrás, cuando NTP acusó a RIM de violar cinco de sus patentes con su tecnología, que permite consultar el correo electrónico desde cualquier lugar, así como realizar llamadas de teléfono con la agenda electrónica. El pago de esa cantidad acaba con la demanda por uso de tecnologías patentadas y permitirá que la popular Blackberry pueda seguir usándose en EUA y otros países. Todos los teléfonos inteligentes (smartphones) utilizan la agenda electrónica para establecer llamadas, es algo obvio, ¿no creen? Bueno a NTP se le ocurrió patentar esta idea o funcionalidad. Y lo curioso es que la compañía NTP ni siquiera está innovando en esta área.
Por otra parte Microsoft afirma que el kernel de Linux viola 42 de sus patentes, las interfaces gráficas de usuario 65, OpenOffice 45, los programas de correo electrónico 15 y otras utilidades libres violarían nada menos que 88 patentes. ¿Que tan cierto será esto? ¿Acaso todos los usuarios del software libre tenemos que pagarle regalías a Microsoft? A este respecto, la organización OIN (Open Invention Network) ha retado a Microsoft para que muestre evidencias de las patentes que dicen tener y que están siendo violadas, pues argumentan que se trata solamente de un ardid mercadotécnico por parte de Microsoft. Por cierto, OIN opera de una manera interesante, pues compra patentes y permite su uso libre a las empresas que se comprometan a no usar sus propias patentes para atacar proyectos de código abierto; actualmente la organización cuenta con un cúmulo de patentes que vale millones de dólares.
Un hecho histórico ocurrió recientemente en la Corte de Distrito de Manhattan, The Software Freedom Law Center demandó a la empresa californiana Monsoon Multimedia por infringir la licencia GLP versión 2. Este es el primer juicio en los Estados Unidos que busca aplicar la ley a favor de los derechos de protección de las licencias que rigen muchos proyectos de software libre. Monsoon es acusado de utilizar código fuente de BusyBox (www.busybox.net) -una utilería de código abierto frecuentemente incluida con Linux- en su tecnología de video digital, los cuales son incorporados en productos de grandes compañías como Intel, Microsoft y Panasonic. Moonson violó la licencia GPLv2 al no proporcionar los cambios hechos al código fuente, así como el código fuente donde aparecen estos cambios a otros desarrolladores de software libre. Este es sólo un ejemplo que se suma a muchos otros casos donde compañías de software toman el código fuente de proyectos de software libre, el cual está disponible abiertamente en internet y con licencia GPL, para utilizarlo en sus desarrollos de software sin respetar lo estipulado en la misma licencia. Otro caso muy sonado en años recientes, que utilizaron esta misma práctica, es el dispositivo grabador de video digital TiVo.
Hay que recordar que si alguien libera el fruto de su trabajo con la licencia GPL básicamente está diciendo «aquí va el código fuente, puedes usarlo a tu conveniencia, pero igualmente debes compartirlo si lo modificas o distribuyes en cualquier forma». Y ahí es precisamente donde han roto el acuerdo varias compañías, pues han usado trabajo con licencia GPL, lo han modificado, pero no han querido compartir el código fuente resultante. La mas reciente versión de la licencia GPL, la versión 3, ha sido diseñada para que no sucedan casos como el de Tivo, donde el dispositivo automáticamente se apaga si detecta que su software ha sido modificado; en otras palabras, donde los fabricantes del equipo decidieron que ellos si podían hacer uso de las libertades provistas por el software, pero que tu no.
El futuro del Software Libre
El software libre tiene un gran futuro por delante. Hay cada vez más adeptos que apoyan este movimiento liberador del software. Hay infinidad de razones por las que el software libre tiene muchas ventajas sobre el software propietario.
Beneficios tecnológicos: El software libre ha demostrado a lo largo de los años ser seguro, estable y poderoso para aplicaciones con múltiples usuarios y registros. La curva del aprendizaje cada vez más se está aminorando, las nuevas aplicaciones y distribuciones con interfaz gráfica permiten a los usuarios novatos introducirse al mundo del software libre.
Beneficios económicos: El software libre es más barato y en la mayoría de los casos, no tienes que pagar ningún centavo. Las empresas, instituciones o usuarios no tienen que pagar grandes cantidades de dinero por las licencias.
Beneficios culturales: El software libre promueve la mezcla de culturas. El modelo de bazar que utiliza el software libre permite que desarrolladores de muchos países con diversas religiones, culturas y costumbres, puedan compartir sus conocimientos para un sólo fin.
Muchas empresas de software propietario han criticado la manera de como se desarrolla el software libre. Dicen, entre otras cosas, que cómo es posible que se confie en un software que no tiene ninguna garantía por parte del creador. Cuando en los contratos (licencias) de software propietario tampoco se hacen responsables por daños económicos, y de otros tipos por el uso de sus programas.
Mark Driver, vicepresidente de la consultora tecnológica Gartner, durante la conferencia Open Source Summit 2007 de Las Vegas, pronosticó que «dentro de poco más de 3 años el 80% del software comercial contendrá cantidades significativas de Código Abierto, seamos o no conscientes de ello». “El software libre va a entrar en tu red quieras o no; es prácticamente imposible evitarlo”, dijo Driver. En su conferencia, Driver también explicó que el software abierto no es tan malo como quieren hacer creer sus detractores ni tan bueno como afirman sus defensores. Lo realmente importante es trazar un plan para determinar en qué campos puede ser útil su aplicación: es mejor evitar por completo su uso que hacerse el sueco y no supervisar su adopción. Esto significa que las empresas desarrolladoras de software propietario, aman el software libre, pero no quieren aceptarlo.
La Licencia GPL v3 sale al rescate
Después de meses de debate y deliberaciones, la tan esperada versión 3 de la licencia GPL fue presentada. GPL (General Public Licence) es una de las licencias más importantes que protegen al software libre y varios proyectos de Open Source. La versión 3 de esta licencia sigue garantizando las mismas libertades al usuario de usar, copiar, distribuir, etc. Lo más trascendente de GLP v3 es que intenta solucionar los problemas que la comunidad de software libre ha tenido que enfrentar, con respecto al tema de las patentes de software. Ahora los proyectos de software con GPL v3 estarán más protegidos en este aspecto; por ejemplo, si se da el caso que de una empresa utilice software y piezas de código con esta licencia, ésta ofrecerá permiso gratuito para utilizar las patentes que lo cubren al resto de los usuarios. También la licencia contempla el caso cuando el código se encuentre en un dispositivo de hardware de manera embebido.
Ahora lo único que falta es que las licencias de software de las distintas empresas, protegidas con versiones anteriores de la licencia GPL, se actualicen a la versión 3 y así se protejan contra las empresas de software depredadoras.
Cabe decir que la licencia GPL no es la única que protege al código abierto, pero ciertamente es una de las más utilizadas. En cuanto a la versión 3, aún es temprano para decir qué futuro tendrá, pues de momento está recibiendo una acogida muy tibia por parte de los desarrolladores y no han faltado críticos que digan que muchos van a migrar de ella hacia otra licencia mas «amigable» o menos prohibitiva, como la de BSD.
Conclusiones
Existe un intenso debate sobre el alcance que deben tener las patentes de software, o incluso sobre si deben existir. En nuestro país no hemos seguido (aún) a los Estados Unidos, en donde si se puede patentar el software y donde se han dado casos muy ridículos al patentar mecanismos triviales y ampliamente usados. Algunos puntos candentes en el debate incluyen el determinar si el software es patentable y si las patentes de software alientan o desalientan la innovación. Es necesario apuntar que el software libre y el comercial pueden encontrar modelos de coexistencia muy benéficos, tal como han demostrado empresas como IBM, Oracle, Sun Microsystems y otras. El punto en esta discusión no es si el software debe o no ser comercial, sino el hecho de que patentar algoritmos y otras obras intelectuales puede limitar severamente la capacidad de los desarrolladores a realizar sistemas de relativa complejidad, pues seguramente usarán algún algoritmo que alguien ya patentó; así pues, las PyMES y desarrolladores independientes, quienes usualmente no tienen los recursos económicos para hacerse de un buen acervo de patentes, estarían en desventaja ante las grandes empresas que si lo tienen.
REFERENCIAS
Ley de la Propiedad Industrial
http://www.cddhcu.gob.mx/LeyesBiblio/pdf/50.pdf
Instituto Mexicano de la Propiedad Industral
http://www.impi.gob.mx
Ley Federal del Derecho de Autor
http://www.diputados.gob.mx/LeyesBiblio/pdf/122.pdf
No a las patentes de Software
http://www.nosoftwarepatents.com/es/
GPL versión 3 http://www.gnu.org/licenses/gpl-3.0.html (inglés)
http://www.viti.es/gnu/licenses/gpl.html (español)
Los autores Evelio Martínez y José Antonio García son investigadores de la Universidad Autónoma de Baja California (UABC) y del Centro de Investigación Científica y Educación Superior de Ensenada (CICESE), respectivamente.