Historia
Entre los años 60 y 70 del Siglo XX, el software no era considerado un producto sino un añadido que los vendedores de los grandes computadores de la época (los mainframes) aportaban a sus clientes para que éstos pudieran usarlos. En dicha cultura, era común que los programadores y desarrolladores de software compartieran libremente sus programas unos con otros. Este comportamiento era particularmente habitual en algunos de los mayores grupos de usuarios de la época, como DECUS (grupo de usuarios de computadoras DEC). A finales de los 70, las compañías iniciaron el hábito de imponer restricciones a los usuarios, con el uso de acuerdos de licencia.
En 1984, Richard Stallman comenzó a trabajar en el proyecto GNU, y un año más tarde fundó la Free Software Foundation (FSF). Stallman introdujo una definición para free software y el concepto de "copyleft", el cual desarrolló para dar a los usuarios libertad y para restringir las posibilidades de apropiación del software
SOTFWARE LIBRE.
Software libre (en inglés free software) es el software que, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente en Internet, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente. Análogamente, el software gratis o gratuito (denominado usualmente Freeware) incluye en algunas ocasiones el código fuente; sin embargo, este tipo de software no es libre en el mismo sentido que el software libre, al menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.
No debemos confundir software libre con software de dominio público. Este último es aquel por el que no es necesario solicitar ninguna licencia y cuyos derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es dominio público. En resumen, el software de dominio público es la pura definición de la libertad de usufructo de una propiedad intelectual que tiene la humanidad porque así lo ha decidido su autor o la ley tras un plazo contado desde la muerte de éste, habitualmente 70 años.
El término inglés free es ambiguo, y puede refererirse tanto a la libertad (free speech, libertad de expresión) como a la gratuidad (free beer, cerveza gratis). En español no existe tal ambigüedad, distinguiéndose claramente el software libre (objeto del presente artículo) del software gratis o gratuito
Libertades del Software Libre
De acuerdo con tal definición, el software es "libre" si garantiza las siguientes libertades:
"libertad 0", ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, etc.)
"libertad 1", estudiar y modificar el programa (para lo cuál es necesario poder acceder al código fuente)
"libertad 2", copiar el programa de manera que se pueda ayudar al vecino o a cualquiera
"libertad 3", mejorar el programa, y hacer públicas las mejoras, de forma que se beneficie toda la comunidad.
Es importante señalar que las libertades 1 y 3 obligan a que se tenga acceso al código fuente. La "libertad 2" hace referencia a la libertad de modificar y redistribuir el software libremente licenciado bajo algún tipo de licencia de software libre que beneficie a la comunidad.
Ciertos teóricos usan este punto cuarto (libertad 3) para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre, sin embargo el sentido original es más libre, abierto y menos restrictivo que el que le otorga la propia GNU GPL.
La licencia GNU GPL posibilita la modificación, redistribución del software, pero únicamente bajo esa misma licencia. Y añade, que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada código "A" y "B" debe de estar bajo la licencia GNU GPL.
En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contempla ni admite la GNU GPL y que por lo tanto no puede ser enlazadas ni mezcladas con código gobernado por la licencia GNU GPL.
Esta situación de incompatibilidad, que podría ser resuelta en la próxima versión 3.0 de la licencia GNU GPL (en desarrollo), causa en estos momentos graves prejuicios a la comunidad de programadores de software libre, que muchas veces no pueden reutilizar o mezclar códigos de dos licencias distintas, pese a que las libertades teóricamente lo deberían permitir.
En el sitio web de la FSF hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.
En el sitio web de la OSI está la lista completa de las licencias de software libre actualmente aprobadas y tenidas como tales.
El término software no libre se emplea para referirse al software distribuido bajo una licencia de software más restrictiva que no garantiza estas cuatro libertades. Las leyes de la propiedad intelectual reservan la mayoría de los derechos de modificación, duplicación y redistribución para el dueño del copyright; el software dispuesto bajo una licencia de software libre rescinde específicamente la mayoría de estos derechos reservados.
La definición de software libre no contempla el asunto del precio; un eslogan frecuentemente usado es "libre como en libertad de expresión no como en cerveza gratis" (aludiendo a la ambigüedad del término inglés "free"), y es habitual ver a la venta CDs de software libre como distribuciones GNU/Linux. Sin embargo, en esta situación, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis pude incluir restricciones que no se adaptan a la definición de software libre —por ejemplo, puede no incluir el código fuente, puede prohibir explícitamente a los distribuidores recibir una compensación a cambio, etc—.
Para evitar la confusión, alguna gente utiliza los términos "libre" (Libre software) y "gratis" (Gratis software) para evitar la ambigüedad de la palabra inglesa "free". Sin embargo, estos términos alternativos son usados únicamente dentro del movimiento del software libre, aunque están extendiendose lentamente hacia el resto del mundo. Otros defienden el uso del término open source software (software de código abierto, también llamado de fuentes abiertas). La principal diferencia entre los términos "open source" y "free software" es que éste último tiene en cuenta los aspectos éticos y filosóficos de la libertad, mientras que el "open source" se basa únicamente en los aspectos técnicos.
AHORA ALGO MAS RESUMIDOS DE LOS DIFERENTES TIPOS DE SOTFWARE.
Software libre
El software libre es software que viene con autorización para que cualquiera pueda usarlo, copiarlo y distribuirlo, ya sea literal o con modificaciones, gratis o mediante una gratificación. En particular, esto significa que el código fuente debe estar disponible. ``Si no es fuente, no es software''. Ésta es una definición simplificada; ver también la definición completa.
Si un programa es libre, entonces puede ser potencialmente incluido en un sistema operativo libre tal como GNU, o sistemas GNU/Linux libres.
Hay muchas maneras diferentes de hacer un programa libre. Algunas de las posibles variaciones son descritas abajo.
El software libre es frecuentemente más fiable que el software no libre.
Software de Fuente Abierta
El término software de ``fuente abierta'' es usado por algunas personas para dar a entender más o menos lo mismo que software libre. Nosotros preferimos el término ``software libre'' ; siga el vínculo anterior para ver las razones.
Software de dominio público
El software de dominio público es software que no está protegido con copyright. Es un caso especial de software libre no protegido con copyleft, que significa que algunas copias o versiones modificadas no pueden ser libres completamente.
Algunas veces la gente utiliza el término ``dominio público'' de una manera imprecisa para decir ``libre'' o ``disponible gratis.'' Sin embargo, ``dominio público'' es un término legal y significa de manera precisa ``sin copyright''. Por claridad, recomendamos el uso de ``dominio público'' para ese significado solamente y el uso de otros términos para transmitir los otros significados.
Software protegido con copyleft
El software protegido con copyleft es software libre cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional cuando éstos redistribuyen o modifican el software. Esto significa que cada copia del software, aun si ha sido modificado, debe ser software libre.
En el Proyecto GNU, protegemos mediante copyleft casi todo el software que escribimos, porque nuestro objetivo es dar a cada usuario las libertades que el término ``software libre'' implica. Ver protegido con copyleft para una mayor explicación sobre cómo funciona el copyleft y por qué lo usamos.
Copyleft es un concepto general; para proteger actualmente un programa con copyleft, necesita usar un conjunto específico de términos de distribución. Hay muchas maneras posibles de escribir términos copyleft de distribución.
Software libre no protegido con copyleft
El software libre no protegido con copyleft viene desde el autor con autorización para redistribuir y modificar así como para añadirle restricciones adicionales.
Si un programa es libre pero no protegido con copyleft, entonces algunas copias o versiones modificadas pueden no ser libres completamente. Una compañía de software puede compilar el programa, con o sin modificaciones, y distribuir el archivo ejecutable como un producto privativo de software.
El Sistema X Window ilustra esto. El Consorcio X libera X11 con términos de distribución que lo hacen software libre no protegido con copyleft. Si usted lo desea, puede obtener una copia que tenga esos términos de distribución y es libre. Sin embargo, hay versiones no libres también, y hay estaciones de trabajo populares y tarjetas gráficas para PC para las cuales versiones no libres son las únicas que funcionan. Si usted está usando este hardware, X11 no es software libre para usted.
Software abarcado por GPL
La GPL (General Public License/Licencia Pública General) de GNU (20k caracteres) es un conjunto específico de términos de distribución para proteger con copyleft a un programa. El Proyecto GNU la utiliza como los términos de distribución para la mayoría del software GNU.
El sistema GNU
El sistema GNU es un sistema operativo libre completo estilo Unix.
Un sistema operativo libre estilo Unix consiste en muchos programas. Hemos estado acumulando componentes para este sistema desde 1984; la primera liberación de prueba de un ``sistema GNU completo'' fue en 1996. Esperamos que dentro de un año más o menos este sistema estará lo suficientemente maduro para recomendarlo para usuarios ordinarios.
El sistema GNU incluye todo el software GNU, así como muchos otros paquetes tales como el Sistema X Window y TeX que no son software GNU.
Debido a que el propósito de GNU es ser libre, cada componente individual en el sistema GNU tiene que ser software libre. No todos tienen que estar protegidos con copyleft, sin embargo; cualquier tipo de software libre es legalmente apto de incluirse si ayuda a alcanzar metas técnicas. Podemos hacer uso de software libre no protegido con copyleft como el Sistema X Window.
Software GNU
Software GNU es software que es liberado bajo el auspicio del Proyecto GNU. La mayoría del software GNU está protegido con copyleft, pero no todos; sin embargo, todo el software GNU debe ser software libre.
Algo de software GNU es escrito por el personal de la Fundación para el Software Libre (Free Software Foundation), pero la mayoría del software GNU es aportada por voluntarios. Parte del software aportado está protegido con copyright por la Fundación para el Software Libre; otra parte está protegido con copyright por los aportadores que los escribieron.
Software semilibre
El software semilibre es software que no es libre, pero viene con autorización para particulares de usar, copiar, distribuir y modificar (incluyendo la distribución de versiones modificadas) sin fines de lucro. PGP es un ejemplo de un programa semilibre.
El software semilibre es mucho mejor que el software privativo, pero aún plantea problemas y no podemos usarlo en un sistema operativo libre.
Las restricciones del copyleft están diseñadas para proteger las libertades esenciales de todos los usuarios. Para nosotros, la única justificación para cualquier restricción substantiva acerca del uso de un programa es prevenir la adición de restricciones por parte de otras personas. Los programas semilibres tienen restricciones adicionales, motivados por fines puramente egoístas.
Es imposible incluir software semilibre en un sistema operativo libre. Esto obedece a que los términos de distribución para el sistema operativo libre como un todo es la conjunción de los términos de distribución de todos los programas en él. Agregando un programa semilibre al sistema haría al sistema como un todo sólo semilibre. Existen dos razones por las que no queremos que esto suceda:
Creemos que el software libre debe ser para todos--incluyendo empresas, no solamente para escuelas o para quienes gusten de matar el tiempo. Queremos invitar a las empresas a usar el sistema GNU completo y por lo tanto no debemos incluir un programa semilibre en él.
La distribución comercial de sistemas operativos libres, incluyendo sistemas GNU basados en Linux, es muy importante y los usuarios aprecian poder comprar distribuciones comerciales en CD-ROM. Incluyendo un programa semilibre en un sistema operativo cortaría su distribución comercial en CD-ROM.
La misma Fundación para el Software Libre es no comercial y por lo tanto estaríamos habilitados legalmente para usar un programa semilibre ``internamente''. Pero no lo hacemos, porque esto minaría nuestros esfuerzos para obtener un programa que pudieramos incluir en GNU.
Si hay un trabajo que necesita hacerse con software, entonces mientras no tengamos un programa libre para hacer el trabajo, el sistema GNU tiene un hueco. Tenemos que decirle a los voluntarios, ``Aún no tenemos un programa para hacer este trabajo en GNU, así que esperamos que ustedes escriban uno''. Si nosotros mismos usamos un programa semilibre para hacer el trabajo, echaría abajo lo que decimos; alejaría el ímpetu (nuestro y de quienes pudieran escuchar nuestros puntos de vista) para escribir un reemplazo libre. Por lo tanto, no hacemos esto.
Software privativo
El software privativo es software que no es libre ni semilibre. Su uso, redistribución o modificación está prohibida, o requiere que usted solicite autorización o está tan restringida que no pueda hacerla libre de un modo efectivo.
La Fundación para el Software Libre sigue la regla de no instalar ningún programa privativo en nuestras computadoras excepto temporalmente para el propósito específico de escribir un reemplazo libre para ese programa. Con excepción de lo anterior, sentimos que no hay excusa posible para instalar un programa privativo.
Por ejemplo, nos sentimos justificados al instalar Unix en nuestras computadoras en los '80s, porque lo estábamos usando para escribir un reemplazo libre para Unix. Actualmente, puesto que están disponibles sistemas operativos libres, la excusa ya no es aplicable; hemos eliminado todos nuestros sistemas operativos no libres y cualquier computadora nueva que instalamos debe ejecutar un sistema operativo completamente libre.
Nosotros no les insistimos a los usuarios de GNU o a los aportadores de GNU a que tengan que vivir bajo esta regla. Ésta es una regla que hicimos para nosotros. Pero esperamos que decidan seguirla también.
Freeware
El término ``freeware'' no tiene una definición clara aceptada, pero es usada comúnmente para paquetes que permiten la redistribución pero no la modificación (y su código fuente no está disponible). Estos paquetes no son software libre, por lo tanto por favor no use ``freeware'' para referirse al software libre.
Shareware
El shareware es software que viene con autorización para la gente de redistribuir copias, pero dice que quien continúe haciendo uso de una copia deberá pagar un cargo por licencia.
El shareware no es software libre, ni siquiera semilibre. Existen dos razones por las que no lo es:
Para la mayoría del shareware, el código fuente no está disponible; de esta manera, usted no puede modificar el programa en absoluto.
El shareware no viene con autorización para hacer una copia e instalarlo sin pagar una cantidad por licencia, ni aún para particulares involucrados en actividades sin ánimo de lucro. (En la práctica, la gente a menudo hace caso omiso a los términos de distribución y lo hace de todas formas, pero los términos no lo permiten.)
Software Comercial
El software comercial es software que está siendo desarrollado por una entidad que tiene la intención de hacer dinero del uso del software. ``Comercial'' y ``privativo'' ¡no son la misma cosa! La mayoría del software comercial es privativo , pero hay software libre comercial y hay software no libre no comercial.
Por ejemplo, Ada de GNU siempre es distribuida bajo los términos de la GPL de GNU y cada copia es software libre; pero los desarrolladores venden contratos de soporte. Cuando sus vendedores les hablan a los clientes potenciales, algunas veces el cliente dice ``Nos sentiríamos más seguros con un compilador comercial.'' Los vendedores responden, ``Ada de GNU es un compilador comercial; sólo que es software libre.''
Para el proyecto GNU, el énfasis está en otro orden: lo importante es que Ada de GNU es software libre; si es comercial no es una pregunta importante. Sin embargo, el desarrollo adicional de Ada de GNU que resulta del negocio que soporta es definitivamente beneficioso.