Guía del software libre
De Copyleft - Manual de uso
Jesús M. González Barahona
Este artículo y otros del mismo autor está disponible en http://sinetgy.org/jgb . Este artículo está basado en parte en algunos contenidos elaborados para el libro Introducción al software libre, escrito por el autor junto con Joaquín Seoane y Gregorio Robles, financiado parcialmente por la Universidad Oberta de Catalunya, y disponible en formato electrónico en http://curso-sobre.berlios.de/introsobre
Tabla de contenidos |
[editar] Introducción
Durante los últimos años los modelos «libres» o «abiertos» de producción y distribución de obras intelectuales se están empezando a probar en muchos ámbitos (música, producción literaria, enciclopedias, incluso obra cinematográfica o publicación científica). En gran medida, todos ellos están aprovechando las ideas y la experiencia del primer campo donde se probaron estos modelos: el software. Repasemos, por lo tanto, de dónde venimos y quizás sea más fácil entender hacia dónde vamos.
El origen del software libre puede trazarse hasta los orígenes del software como tal. Sin embargo, sólo empezó a formularse como concepto a principios de la década de 1980, precisamente cuando la industria del software estaba definiéndose mayoritariamente por el control estricto de la obra producida. Desde entonces, la comunidad del software libre no ha dejado de crecer, de probar nuevos caminos y de consolidarse. Hoy pueden usarse decenas de miles de programas libres y el volumen de software libre disponible se duplica (aproximadamente) cada dos años. Programas como Linux, OpenOffice o FireFox empiezan a ser conocidos por el usuario medio y entornos como KDE o GNOME han permitido que cualquiera pueda tener una experiencia satisfactoria con programas libres.
A pesar de esto, el software libre, en tanto concepto, sigue siendo en gran medida un gran desconocido. Son comunes (incluso entre usuarios habituales de programas libres) concepciones erróneas y existe todavía un enorme desconocimiento que dificulta la comprensión de las ventajas que aporta. En este capítulo trataré de aclarar y comentar los aspectos fundamentales, de forma que el lector pueda entender mejor el mundo del software libre, y por lo tanto mejore su capacidad de razonar sobre él y de aplicarlo a sus necesidades e intereses.
[editar] El concepto de libertad en el software
El software libre es fundamentalmente un concepto jurídico. Como veremos más adelante, lo que le caracteriza no son conceptos tecnológicos o económicos, sino el conjunto de libertades que quien publica un programa garantiza a quien tenga acceso a él. Estas libertades están codificadas en la licencia del programa. Por eso es difícil hablar de software libre sin empezar hablando de licencias.
En gran medida, la idea de software libre surge como reacción a la evolución de la industria de producción de programas, que si bien desde una perspectiva histórica parece casi inevitable, ha llevado a conclusiones y resultados que ponen en cuestión algunas intuiciones básicas. Desde hace más de 30 años nos hemos ido acostumbrado a que quien produce un programa pueda imponer (y de hecho imponga) las condiciones bajo las que puedo usarse, distribuirse y modificarse. Puede, por ejemplo, prohibir que el programa pueda prestarse (incluso temporalmente). O declarar ilegal la modificación del mismo para evitar un problema de seguridad (incluso si es para uso propio). O impedir que se pueda adaptar a unas necesidades concretas. Y de hecho, la legislación sobre propiedad intelectual y derechos de autor declara, en prácticamente todo el mundo, que todo esto (y otras muchas cosas) no se puede hacer salvo permiso explícito del productor del programa. En definitiva estamos acostumbrados a que ese permiso no exista.
Sin embargo, el software es básicamente información, y como tal presenta una flexibilidad y unas posibilidades asombrosas cuando lo comparamos con cualquier objeto del mundo físico. Por ejemplo, tenemos tecnologías (Internet) que permiten distribuir un número indeterminado de copias de un programa a casi cualquier punto del planeta, y esto de forma casi instantánea y con coste prácticamente cero. Podemos (siempre que tengamos los conocimientos técnicos adecuados) modificar un programa, y para ello necesitamos (relativamente) pocos recursos, además de obtener un efecto multiplicador enorme. Por ejemplo, considérese lo que cuesta traducir un programa a un nuevo idioma y distribuir cientos de miles de copias entre sus hablantes frente a, por ejemplo, cambiar el color de miles de automóviles.
El software es el elemento tecnológico más flexible y adaptable de que disponemos, el que más fácilmente se puede replicar y transportar. Y sin embargo hemos admitido una legislación que permite prohibir la explotación de estas características, y unos usos comerciales que de hecho la prohíben, haciendo de los programas de ordenador uno de los elementos más rígidos de nuestro entorno. Si quiero quitar una puerta de mi casa puedo hacerlo, si me apetece prestar mi martillo a un amigo puedo hacerlo, si quiero repartir los caramelos que compré ayer a los niños de mi barrio nadie pone pegas. Pero si quiero cambiar la pantalla de comienzo del procesador de textos que compré, o quiero dejárselo unos días a mi amigo para que le eche un vistazo, o quiero arreglarlo para que no se cuelgue con ese documento tan raro, no puedo. Y todo ello, después de haber pagado una buena cantidad de euros. Incluso si tengo todos los conocimientos técnicos para hacerlo. Incluso si hacerlo es básico para mi trabajo o para mejorar mi entorno social. ¿No es, cuando menos, un poco curioso?
Afortunadamente, hace tiempo que existen personas que se han hecho estas mismas preguntas y han trabajado para que sea posible otra realidad. Curiosamente, esta otra realidad desdice en gran medida el razonamiento habitual para justificar la situación descrita: sin esas prohibiciones, nadie haría programas, y por lo tanto nos perderíamos todo lo que podemos hacer con ellos. Desde hace más de 30 años existen desarrolladores de programas que están demostrando, con los hechos, que es posible aprovecharnos sin restricciones de las mejores características del software y a la vez producir programas que satisfagan plenamente las necesidades de los usuarios. La comunidad del software libre ha demostrado, por la vía de los hechos, que es posible otra realidad, en la que las prohibiciones del software privativo[1] se sustituyen por las libertades que garantiza el software libre.[2]
[editar] Definición de software libre
Antes de continuar hablando de software libre conviene detallar qué entendemos como tal. Richard Stallman lo definió por primera vez, con cierta profundidad,[3] en función de las cuatro libertades que puede ejercer quien lo recibe:
- Libertad 0: poder usar el programa sin restricciones.
- Libertad 1: poder estudiarlo y adaptarlo a necesidades particulares.
- Libertad 2: poder redistribuirlo.
- Libertad 3: poder mejorarlo y publicar las mejoras.
Para poder ejercer las libertades 1 y 3 es preciso que el programa esté no sólo disponible como ejecutable, sino también que se pueda tener acceso a su código fuente (que viene a ser, en cierto sentido, como tener acceso a los planos del programa, lo que permite entenderlo y hacer modificaciones sobre el mismo).
El mecanismo que se utiliza para garantizar estas libertades, como ya se ha mencionado, es la distribución mediante una cierta licencia. En ella, el productor del programa otorga su permiso para que quien lo reciba pueda ejercerlas y especifica (si es el caso) las restricciones que desea aplicar (como dar crédito a los autores originales en caso de redistribución). Para que la licencia sea considerada libre, estas restricciones no pueden restringir las libertades mencionadas.
Hay varios textos que definen con precisión qué condiciones tiene que cumplir una licencia para ser considerada como software libre. Además del ya mencionado de Richard Stallman, puede destacarse el de Debian[4] y el de la Open Source Initiative[5] (muy parecido al anterior, ya que está basado en él), que define en realidad el término «open source». De hecho, comparando estos dos últimos textos y el primero, el que hemos mencionado, puede concluirse que aunque tengan orígenes, connotaciones y apoyos diferentes, el tipo de programas a los que se refieren como «software libre» (free software en inglés) y «open source software» (software de código abierto en español) es prácticamente el mismo y por lo tanto ambos términos son, en gran medida, sinónimos. Por otro lado, como en español «libre» no tiene la ambigüedad de la palabra «free» en inglés (que puede interpretarse tanto como «libre» que como «gratis»), que dio origen a que se propusiera el término «open source software», parece razonable usar simplemente «software libre», ya que captura perfectamente el sentido de lo que se está definiendo.
[editar] Software libre y software gratuito
Así pues, las definiciones de software libre no hacen ninguna referencia al precio que puede costar. Aunque habitualmente cueste poco (en términos económicos) conseguir software libre, es posible desde luego cobrar una cierta cantidad por él. De hecho, es habitual, por ejemplo, que una distribución de GNU/Linux compuesta completamente por software libre cueste entre 50 y 100 euros en unos grandes almacenes. Por lo tanto, ni el software libre ha de ser gratuito, ni cualquier programa gratuito es software libre. La prueba de que un programa es software libre es que se ajuste a la definición anterior, no el precio que se pague por el mismo. Dicho esto, conviene también darse cuenta de que como el software libre puede redistribuirse, el precio que alguien estará dispuesto a pagar por recibirlo será bajo, cercano al coste de reproducción. Cualquiera que lo haya obtenido puede a su vez redistribuirlo más barato, o incluso gratis.
[editar] ¿Qué es el copyleft?
Un término muy relacionado con el «software libre» es «copyleft», tanto que a veces ambos se confunden. Sin embargo, copyleft, resultado de un inteligente juego de palabras en inglés,[6] se refiere a un tipo de licencias de software libre (y por lo tanto, a un tipo de software libre): aquellas que permiten la redistribución del software sólo si se garantiza a quien lo recibe libertades iguales a las que otorgó el productor del programa. Más adelante, al hablar de licencias, se detallará más este concepto. En este texto, llamaremos «robustas» a las licencias que incluyen el concepto de «copyleft».
[editar] Aspectos Legales
[editar] Licencias, licencias, licencias.
Legalmente hablando, la situación de los programas libres no es muy diferente de los privativos: ambos tipos se distribuyen bajo licencia. Lo que les diferencia es precisamente, tal y como se ha visto, qué permite esa licencia.
Las leyes sobre propiedad intelectual (en el caso español, la Ley de Propiedad Intelectual, y las directivas de la Unión Europea aplicables) estipulan que si no hay permiso explícito no se puede hacer casi nada con un programa de ordenador, incluso si se ha obtenido mediante compra. Sólo el propietario del programa (normalmente su productor) puede otorgar ese permiso, habitualmente mediante una licencia. Además, hay que tener en cuenta que la propiedad del programa no cambia porque se otorguen licencias sobre ella: éstas no suponen transferencia de propiedad, sólo otorgan algunos derechos específicos. En el caso del software privativo, estos derechos son normal y únicamente de uso (y típicamente con restricciones). En el software libre se conceden, además de éste, también los derechos de distribución y modificación.
De hecho, la principal diferencia de las licencias de software libre con las de programas privativos reside en que en lugar de restringir lo que se puede hacer, otorgan ciertos permisos explícitos. Aún así, conviene recordar que las licencias libres también pueden poner condiciones, y de hecho, es habitual que las pongan. Normalmente estas condiciones están orientadas a defender algunos derechos del productor (como la mención de autoría) o a procurar mantener la libertad del software según va pasando de mano en mano (como es el caso de las licencias robustas, que se expondrán más adelante).
[editar] Tipos de licencias
La variedad de licencias libres es grande, aunque hay unas pocas que son usadas por la inmensa mayoría de los proyectos. Por un lado muchos proyectos no quieren o no pueden dedicar recursos a diseñar una licencia propia. Por otra, tiene muchas ventajas poder referirse a una licencia ampliamente conocida y sobre la que puede encontrarse información con facilidad.
Para estudiar todas estas licencias, podemos empezar por dividirlas en dos grandes familias: las que no imponen condiciones especiales en la segunda redistribución (que llamaremos licencias permisivas) y las que sí lo hacen (que llamaremos licencias robustas o copyleft). Ambas están reconocidas como libres, pero tienen consecuencias bien diferentes. Las primeras sólo especifican que el software se puede usar, redistribuir y modificar, pero no imponen condiciones especiales en caso de redistribución. Eso permite, por ejemplo, que el programa se pueda redistribuir como software privativo. La segundas incluyen las que, al estilo de la GNU GPL, imponen condiciones en caso de redistribución, forzando a que se sigan cumpliendo las condiciones de la licencia en la cadena de redistribuciones.
Mientras que las licencias permisivas hacen énfasis en la libertad de quien recibe el programa, ya que le permite hacer casi lo que quiera con él (en términos de condiciones de futuras redistribuciones), las robustas promueven la libertad de cualquiera que potencialmente pueda recibir algún día un trabajo derivado del programa (ya que obliga a que las sucesivas modificaciones y redistribuciones respeten los términos de la licencia original).
[editar] Licencias permisivas
Las licencias permisivas, también llamadas liberales o minimalistas, permiten, prácticamente sin condiciones, el uso, la redistribución y la modificación. Desde un cierto punto de vista esto puede entenderse como una máxima garantía de libertad, pero desde otro también puede suponer una despreocupación por las libertades que puedan ejercer terceros, que no reciban el programa (o el programa modificado) de su autor original. Una de las consecuencias más importantes de este tipo de licencias es que el programa puede redistribuirse, quizás sin haber sido mejorado, usando licencias privativas.
La primera gran licencia de esta familia es la BSD (hasta el punto que a veces se llama a todas ellas «licencias tipo BSD»). Esta licencia (Berkeley Software Distribution) fue usada durante la década de 1980 para publicar las modificaciones de Unix que realizó la Universidad de California en Berkeley (EEUU). La BSD obliga a reconocer la autoría original y darle crédito, sin que se obligue a la redistribución de fuentes o binarios. Naturalmente, otorga también permiso para realizar modificaciones e integraciones con otros programas casi sin restricciones.
Esta permisividad de las licencia BSD ha sido considerada tradicionalmente como muy adecuada para difundir estándares, ya que permite tanto implementaciones libres como privativas, usando el mismo sustrato de código. De hecho, ésta es sin duda una de las razones de la extraordinaria y rápida difusión de varios protocolos de Internet y de las interfaces usadas para interactuar con ellos, ya que toda la industria ha incluido en sus productos código derivado del original que se distribuía bajo la licencia BSD.
La BSD no es desde luego la única licencia permisiva. Otras muy populares son la MIT/X Window, la de Tcl/Tk y la de Apache. Sistemas muy populares, como los sistemas operativos FreeBSD, NetBSD y OpenBSD, los servidores web del proyecto Apache o el sistema de ventanas X Window están protegidos por estas licencias.
[editar] Licencias robustas
Las licencias robustas imponen ciertas condiciones en caso de redistribución, aseguran que el software pase de mano en mano conservando sus libertades originales. Como ya se ha comentado, esto puede considerarse como una limitación a la libertad de quien recibe el programa o por el contrario una preocupación porque el programa siga siendo libre según se redistribuye.
La GNU GPL (Licencia Pública General del proyecto GNU, conocida habitualmente simplemente como GPL) es la más conocida entre las licencias robustas. Es también, con diferencia, la licencia más usada por los proyectos libres. Está promovida por la Free Software Foundation, y originalmente se diseñó para el software que distribuía esta fundación. Con el tiempo, su uso ha ido mucho más allá y hoy son miles los programas que la utilizan, desde el kernel Linux hasta entornos de escritorio como GNOME y KDE, sin olvidar aplicaciones ofimáticas como OpenOffice o navegadores web como FireFox.
La GPL es muy interesante desde el punto de vista legal, ya que hace un uso muy creativo de la legislación de copyright. En lugar de restringir los derechos de los usuarios, se basa en las prerrogativas que se conceden al autor para obligar a que el software sólo se pueda redistribuir como software libre. De ahí el término «copyleft», originariamente usado para esta licencia, y con el tiempo extendido a todas las licencias que aquí llamamos robustas.
La GPL permite la redistribución en forma binaria, pero obliga también a que el código fuente se ponga a disposición de quien reciba los binarios. Puede realizarse cualquier tipo de modificaciones, pero si se redistribuye el programa modificado, el código fuente completo de la nueva versión también ha de quedar disponible para quien reciba la versión binaria, que podrá a su vez modificarlo si lo desea.
La GPL define también la obra derivada de forma que se considera como tal cualquier conjunto de software que la incluya. Esto impide que se puedan redistribuir programas que incluyan una combinación de código protegido por la GPL y de código privativo. Hay quien llama a esto el «efecto viral» de la GPL, mientras que otros prefieren ver en ello una especie de «efecto herencia». En cualquier caso, la GPL fue diseñada específicamente con esta característica, precisamente para asegurarse de que no pudiera ser combinada fácilmente con licencias privativas.
En la práctica, esta combinación no es sólo imposible con licencias privativas, sino también con otras libres que son incompatibles con la GPL. Incompatible en este contexto quiere decir que la otra licencia, siendo libre, restringe alguno de los derechos que la GPL garantiza, ya sea contradiciendo alguna cláusula o imponiendo alguna condición nueva. Esto no implica que no se puedan usar simultáneamente programas con ambas licencias, o incluso integrarlos. Sólo supone que esos programas integrados no se pueden redistribuir, pues es imposible cumplir simultáneamente las condiciones de redistribución de ambas licencias.
Otra licencia robusta, también promovida por la Free Software Foundation, es la LGPL (Lesser GPL o GPL menor). Originalmente estaba pensada para proteger bibliotecas de programación que pudieran usarse tanto por sistemas libres como privativos, en el momento en el que la FSF consideraba esto como de importancia estratégica. Es muy parecida a la GPL, con la diferencia principal de que el software protegido por ella puede combinarse con software que tenga otras licencias, incluso privativas y de que pueda redistribuirse el resultado. En otras palabras, las condiciones de la LGPL no son heredadas por todo el sistema combinado, sólo de la parte que deriva directamente del original protegido por ella.
Hay más licencias robustas pero estas dos son, con diferencia, las más populares.
[editar] Distribución bajo varias licencias
Hasta este momento se ha considerado que un programa se redistribuye bajo una sola licencia. Sin embargo, quien lo ha producido puede otorgar una licencia distinta cada vez que lo distribuye, si eso le interesa. Esto da paso a interesantes modelos de licenciamiento bajo dos o más licencias, según los casos. Por ejemplo hay programas libres, producidos íntegramente por una empresa (MySQL es uno de los casos más conocidos), que se distribuyen habitualmente con GPL, pero que también pueden licenciarse de forma privativa si un cliente lo demanda (y está dispuesto a pagar por ello), por ejemplo porque no quiere o no puede cumplir las condiciones de la GPL.
[editar] ¿Por qué se produce software libre?
Sin duda las motivaciones que tiene cualquier desarrollador para producir software libre son una combinación personal e intransferible. Pero para desbrozar un poco los árboles que no nos dejan ver el bosque, podemos hablar de dos grandes líneas de motivación:
- La ética, que podría estar simbolizada por la Free Software Foundation, heredera y seguidora de la cultura hacker[7]. Esta línea argumenta que el software es conocimiento y debe poder difundirse sin trabas. Su ocultación es considerada una actitud antisocial y la posibilidad de modificar programas, una forma de libertad de expresión.
- La pragmática, que podría estar simbolizada por la Open Source Initiative. Esta línea argumenta fundamentalmente ventajas técnicas y económicas y pone el énfasis en las características prácticas del software libre (tanto para los que producen software como para otros actores y e incluso para la sociedad en general).
Estas líneas están presentes por todas partes en el mundo del software libre, empezando por los dos nombres (free software, open source software) con que se conocen en inglés. De hecho, estos dos nombres son utilizados también para caracterizar la free software community y la open source community, cada una de ellas identificada o bien con los motivos éticos o o bien con los prácticos. De todas formas, y con un poco más de perspectiva, podríamos considerar las razones éticas y las prácticas como dos extremos de un espectro en el que cada persona interesada en el software libre se podría situar según la combinación de motivaciones que la muevan.
Además de estas dos grandes motivaciones, hay muchas otras razones para trabajar en el desarrollo de software libre. Por ejemplo,Linus Torvalds menciona siempre la diversión como una de sus principales motivaciones para trabajar en Linux y sin duda hay muchos que simplemente trabajan en software libre porque les pagan por ello (algo posible debido a que existen modelos de negocios viables, como se comentará más adelante).
[editar] Coopetición
Dicho todo esto, es importante observar que con independencia de las motivaciones de cada cual, e incluso de la comunidad a la que considera que pertenece, el software que producen todos ellos es el mismo. Pueden darse (y de hecho se dan habitualmente) situaciones donde una empresa produce un programa libre (por motivos estrictamente prácticos, con el fin de apoyar un modelo de negocio) que es luego mejorado por un voluntario que trabaja por motivos éticos y que es finalmente adaptado a un nuevo entorno por otro que lo hace sólo para pasar un buen rato.
De esta manera, el mundo del software libre es altamente cooperativo. Las características propias de las licencias y la cultura de la mayoría de las comunidades facilitan enormemente la colaboración entre actores que en muchos casos ni siquiera se conocen, y que trabajan con motivaciones muy diferentes. La gran fracción de desarrolladores que tiene una motivación con un gran componente ético asegura, además, que haya agentes específicamente interesados en cooperar para conseguir sus fines. Y también los que están por motivos prácticos encuentran en la cooperación, de forma muy habitual, una estrategia ventajosa.
Pero el mundo del software libre es además fuertemente competitivo. Cualquiera puede mejorar un programa. Todos los desarrolladores trabajan «en abierto» y las mejores versiones son rápidamente adoptadas por los usuarios y por otros desarrolladores. Hay pocos costes derivados de cambiarse a una versión que es casi igual pero tiene alguna ventaja. Las empresas que producen software en el mismo dominio compiten fuertemente entre sí (piénsese por ejemplo en todas las que producen distribuciones de GNU/Linux que son, en el fondo, muy parecidas). Pero también los proyectos con un alto componente voluntario acaban compitiendo por tener la mejor solución (es bien conocida la competencia entre GNOME y KDE por tener el mejor entorno de escritorio).
Para designar esta situación donde los actores están a la vez compitiendo y cooperando, se usa el término «competición», muy adecuado para describir la situación. Son muchos los que opinan que el éxito y el gran crecimiento del software libre tiene mucho que ver con la gran potencia de estos dos mecanismos que trabajan juntos, retroalimentándose, potenciándose el uno al otro.
[editar] Modelos de negocio
Sin ánimo de ofrecer en tan poco espacio una panorámica completa de los modelos de negocio usados para producir software libre, sí conviene mostrar unas pocas pinceladas sobre este tema, respondiendo, siquiera brevemente, a la pregunta «¿cómo se puede vivir de producir software libre?». Lo que está en cuestión, en el fondo, es la sostenibilidad del modelo, al menos en cierta medida. Sólo si el mundo del software libre consigue suficientes recursos (habitualmente en la forma de esfuerzo de desarrolladores) podrá producir la cantidad y calidad de programas que necesitamos. Y muchos de estos recursos están ligados a que haya suficientes contraprestaciones (desde los programadores que necesitan vivir, comer y esas cosas, hasta las empresas que esperan tener beneficios).
Repasemos por lo tanto qué modelos de negocio están siendo objeto de exploración en relación con la producción de software libre. En general, casi todos están basados en la prestación de servicios a terceros. Estos servicios rentabilizan de una o de otra forma el software que se ha producido y producen un beneficio por el que el tercero está dispuesto a pagar. Por ejemplo, puede haber quien esté interesado en tener un programa con ciertas adaptaciones por las que está dispuesto a pagar. En general, quien esté mejor colocado para ofrecer esas mejoras con buena calidad y a buen precio, será el productor original del programa, que de esa manera obtiene unos ingresos.
Este simple ejemplo ilustra muy bien uno de los principales fundamentos de estos modelos de negocio. El software no es visto como un producto con el que comerciar: ya hemos visto que el software libre se puede redistribuir sin trabas y así es difícil encontrar a quien esté dispuesto a pagar simplemente por recibirlo. Por lo tanto, hay que entender el software de otra forma: como un servicio. En el ejemplo anterior, el servicio es la adaptación del programa, por la que el tercero está dispuesto a pagar. De este modo, la realización de mejoras, adaptaciones, integraciones, etc., se convierte en uno de los casos más habituales de negocio basado en la producción de software.
Hay otros muchos modelos, muchos de ellos no centrados en la producción. De hecho, en muchos casos el software libre es en realidad un subproducto de otra actividad principal, que es la que proporciona los ingresos. Por ejemplo, el software libre puede ser un valor añadido para vender aparatos electrónicos o servicios de mantenimiento de sistemas informáticos.
Sin entrar en más detalles, hoy en día, la pregunta no es tanto si es posible encontrar modelos de negocio basados en software libre (o de otra manera, ¿si es posible vivir del software libre?). Casos innumerables han demostrado ya que no es sólo posible, sino hasta cierto punto, habitual. La pregunta interesante es cuál es el mejor modelo de negocio en unas determinadas circunstancias. De responderla adecuadamente (y con la suficiente creatividad) depende probablemente la sostenibilidad a largo plazo del mundo del software libre.
[editar] Consecuencias principales
El software libre conlleva numerosas ventajas y pocos problemas. Veamos, a modo de ejemplo, algunos de ellos.
[editar] Problemas
Entre los problemas, probablemente el fundamental sea la imposibilidad de ciertos modelos de negocio (especialmente los basados en la venta de licencias de uso), que hace necesario, como ya se ha explicado, explorar otros modelos. Desde un punto de vista práctico, todavía es común otro problema: la falta de soporte y de empresas que proporcionen soluciones de calidad y con un servicio asociado suficiente (especialmente para usuarios no informáticos). Afortunadamente, este problema está desapareciendo, poco a poco pero de forma clara.
Un problema indirecto, pero muy importante, es la propia originalidad del modelo de software libre. Es tan diferente, en tantos aspectos, del modelo privativo tradicional, al que tantos están tan acostumbrados, que es difícil de entender sin una mínima formación. Desgraciadamente, esta falta de formación provoca que muchos usuarios y productores de software libre no se beneficien del modelo todo lo que podrían y que no utilicen los mecanismos y posibilidades a su disposición.
Un ejemplo de estas diferencias es el modelo de costes. Es fácil y rápido entender que en el caso del software libre no suele haber costes de adquisición de licencias. Sin embargo, hay que tener en cuenta otros muchos costes (algo que también ocurre en el caso del software privativo) que influyen de diversas formas en cada circunstancia particular. Los costes de transición, formación, instalación, mantenimiento, etc., están presentes, si bien los modelos de cálculo usados por el software privativo no son de aplicación habitual para el software libre. Otro ejemplo interesante son los mecanismos para alcanzar calidad, que en el caso del software libre se suelen derivar de la colaboración voluntaria de gente que contribuye al desarrollo o que descubre e informa sobre errores en entornos y situaciones inimaginables por el desarrollador original. También son diferentes los mecanismos de competencia ya descritos.
[editar] Ventajas y nuevas posibilidades
El usuario de programas libres, ya sea un individuo o una empresa, puede encontrar una verdadera competencia en un mercado (el del software) que tiene una indudable tendencia al monopolio. Ya no depende necesariamente del soporte del productor de software: puede haber muchas empresas que, disponiendo del programa y de conocimientos suficientes, puedan hacer negocio con el mantenimiento, la adaptación y la mejora, compitiendo unas con otras, aun cuando se basan en el mismo programa. Por ello, el usuario podrá elegir con quien contrata sin tener que cambiar de programa.
Por otro lado, el usuario de software libre puede evaluar con mucho detalle (o dejar que otros lo hagan) la calidad de los programas. La disponibilidad del código fuente y la existencia de comunidades que escrutan con todo detalle cada modificación del programa permiten nuevas posibilidades en este campo. Ya no hay cajas negras en la que es preciso confiar porque sí, ni se depende de la estrategia de un productor, que en un momento dado puede decidir dejar de comercializar un producto, con el trastorno que eso supone para sus usuarios.
La evaluación de los productos antes de adoptarlos es también mucho más sencilla, ya que basta instalar los productos alternativos en nuestro entorno real y probar, mientras que con el software propietario hay que fiarse de informes externos o negociar pruebas con los proveedores, lo cual no es siempre posible.
Dada la libertad de modificar el programa para uso propio, el usuario puede personalizarlo o adaptarlo a sus necesidades, corrigiendo errores si los tuviera. Si tiene los conocimientos y los recursos necesarios lo podrá hacer él mismo y si no podrá contratar el servicio, como ya se ha comentado. El control pasa, en gran medida, del productor al usuario.
[editar] Repercusiones sociales
Hace tiempo que el papel del software es fundamental en muchos aspectos de la vida diaria, y también para el funcionamiento de la sociedad. Por lo tanto, cómo se produce, se modifica y se redistribuye el software tiene un gran impacto en la sociedad en su conjunto.
Desde este punto de vista, el software libre nos está mostrando una nueva forma de tratar con los programas. Dejan de ser algo ajeno, que sólo podemos usar en determinadas circunstancias y sobre los que no tenemos ningún control. Por el contrario, podemos relacionarnos como queramos, sin limitaciones impuestas por el productor, pudiendo adaptarlo, mejorarlo, hacerlo más útil.
Esto no es sólo importante para los técnicos de software, que pueden crearlo y modificarlo. De la misma manera que la ausencia de trabas a la reparación de coches por parte de los mecánicos beneficia a todo el mundo, incluso a los que no saben de mecánica, la posibilidad de que un programa pueda ser mejorado beneficia a toda la sociedad.
Además, existen otras ventajas obvias en lo que se refiere a la difusión de nuevas tecnologías en la sociedad. Si un programa libre es de interés para amplias capas sociales, difundirlo a todos sus miembros es a la vez muy barato y (potencialmente) muy rápido. Naturalmente, Internet ayuda mucho en este proceso.
Pero el principal impacto social que está teniendo el software libre no es tecnológico, sino de otra naturaleza. Está abriendo un nuevo camino en todos los dominios de la producción de obras intelectuales. Por primera vez en mucho tiempo, y con éxito en la práctica, asistimos a un modelo de producción intelectual basado en la copia sin restricciones, que permite que cualquiera mejore las obras, fundado en la producción mediante la colaboración de personas con diferentes objetivos. El modelo ha funcionado en un dominio tan complejo y tan difícil como el software. ¿Por qué no podría funcionar en otros? En los últimos años muchas iniciativas están explorando, precisamente, como se puede trasladar este modelo a ámbitos como la música, las obras literarias, la producción multimedia. Con el tiempo, éste podría ser, con diferencia, el mayor impacto del software libre en la sociedad.
[editar] Unas breves conclusiones
El mundo del software libre está en clara ebullición. Desarrolladores voluntarios movidos por motivos éticos se mezclan con empresas ávidas de mejorar sus resultados. Cooperando y compitiendo a la vez. En todo este proceso aparecen nuevos modelos de negocio, se observan nuevas consecuencias sociales, y nuevas posibilidades para los usuarios. En cierto sentido, el software libre es un frente de ola que está experimentando, desde muchos puntos de vista, con nuevos modelos de producción de obras intelectuales. Modelos donde no se coarta la libertad del usuario para proteger la de los autores. Modelos donde cualquiera puede mejorar el trabajo de otros. Modelos donde, al fin y al cabo, estamos redescubriendo cómo cooperar. Los próximos años dirán hasta qué punto todas estas nuevas posibilidades nos llevan hacia situaciones sostenibles a largo plazo y también hasta qué punto este modelo es trasladable a otros campos de la producción intelectual.
Quizás, con el paso del tiempo, recordemos que fueron los pioneros del software libre quienes cambiaron las reglas de algo tan profundamente imbricado en las sociedades humanas como la producción de conocimiento.
[editar] Notas
[editar] 1
En este texto utilizaremos el término «software privativo» para referirnos a cualquier programa que no puede considerarse software libre de acuerdo con la definición que se ofrece más adelante.
[editar] 2
En este texto se utilizará el término «software libre» para referirnos a lo que en inglés se denomina free software o open source software, términos que aunque tienen connotaciones (y comunidades) bien diferentes, definen prácticamente la misma categoría de programas. Hay quien prefiere utilizar términos como «software de código abierto» para referirse, en esencia, a lo mismo.
[editar] 3
«La definición de software libre», http://www.gnu.org/philosophy/free-sw.es.html
[editar] 4
«Directrices de software libre de Debian», (DFSG, en inglés) http://www.debian.org/social_contract.es.html#guidelines
[editar] 5
«Open Source Definition», http://opensource.org/docs/definition.php
[editar] 6
«Copyleft» es un juego de palabras a partir de copyright (derechos de copia, derechos de autor) y left, que significa «izquierda», en contraposición a right, derecha, pero también «dejar». A veces «copyleft» se traduce como «izquierdo de copia».
[editar] 7
Aquí usamos hacker en el sentido del Jargon File, que entre otras incluye la entrada: «Persona que disfruta explorando los detalles de los sistemas programables y cómo aprovechar sus capacidades, por oposición a la mayoría de los usuarios, que prefieren aprender sólo lo mínimo necesario». El término es difícil de traducir, pero podríamos decir que se refiere a alguien que es muy bueno en «lo suyo», siendo en este caso «lo suyo» el desarrollo de software. Quien esté interesado, puede leer el breve pero interesante «Why Software Should Not Have Owners» [En castellano: «Por qué el software libre no debe tener propietarios»: http://www.gnu.org/philosophy/why-free.es.html] de Richard Stallman, que resume algunos aspectos de esta ética.

