Software Libre
Concepto
Historia
A principios de los años 80, Richard Stallman, un programador que trabajaba en MIT se dio cuenta que todo el software producido era propiedad de las empresas que mantenían su código en secreto. Él no aceptó el hecho de no tener acceso al código fuente del software que se estaba produciendo, por lo que insatisfecho con esta situación, creó en 1983 el proyecto GNU.
La idea era crear un sistema operativo libre, basado en UNIX con la ayuda de quien quisiera unirse y participar. Resulta que muchas personas se unieron y, juntos, esta comunidad creó probablemente el mayor trabajo cooperativo que se ha visto hasta la fecha. No sólo produjeron el software, sino que también establecieron una visión filosófica de la programación, el Movimiento de Software Libre, para defender la libertad de los usuarios de computadoras.
La única pieza esencial de software que no fueron capaces de producir de forma eficaz fue el núcleo (kernel)
<http://drilix.com/es/blog/breve-introduccion-historia-programas-informaticos>
Filosofía
Usar el programa con cualquier propósito (libertad 0).
Aprender cómo funciona y adaptarlo a nuestras necesidades (libertad 1).
La capacidad de compartir copias, con las que puedas ayudar a otras personas (libertad 2)
Mejorar el programa y que las mejoras sean vistas por otros usuarios, de modo que se beneficien tanto ellos como la comunidad (libertad 3).
Al decir “Software Libre” se quiere decir que, al tener estas libertades se pueda, entregar copias, con o sin modificaciones, gratis o con un monto determinado. El ser libre significa que no se tiene que pedir o pagar permisos. Se debería tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin tener la necesidad de anunciar que dichas modificaciones existen. Si se publican nuestros cambios, no es necesario avisar a nadie, tampoco de manera particular.
Para que las libertades de hacer modificaciones y publicar versiones mejoradas tengan sentido, se debe tener acceso al código fuente del programa en cuestión. Quiero decir que, la posibilidad de acceder al código fuente es una condición necesaria para el software libre, por otro lado si el desarrollador tiene el poder de revocar la licencia aunque no le hayas dado motivo, no se considera software libre.
Se utiliza “copyleft” (Regla que dice que no se pueden agregar restricciones para denegar a otras personas las libertades centrales, al momento de su distribución) en el proyecto GNU, para proteger de modo legal estas libertades para todos. Pero el software libre sin “copyleft” también existe.
Pueden existir restricciones al momento de distribuir las copias de tus modificaciones a nivel internacional por el lado del gobierno y las sanciones mercantiles. Los desarrolladores no pueden sobrepasar estas restricciones, pero lo que pueden y deben hacer es rehusar el imponerlas como condiciones de uso del programa. De esta manera, las restricciones no afectarán a actividades y gente fuera de las jurisdicciones de estos gobiernos.
Licencias
Licencias GPL: la licencia GNU, también denominada GPL, es considerada la primer licencia “copyleft”, determinando así que cualquier código fuente licenciado bajo GPL, debe estar disponible y accesible, para copias ilimitadas y a cualquier persona que lo solicite. Esta licencia permite conservar los derechos de autor y a la vez su modificación y uso.
Licencia AGPL: permite modificar el derecho de autor que protegen las GPL. Además obliga a que se distribuya el software de manera libre, también siendo el caso en que se use para desarrollar uno nuevo, este quedaría obligado a su libre distribución.
Licencia BSD: es la licencia más permisiva que casi no tiene condiciones. No exige incluir el código fuente y el software puede ser vendido. Si el software tuviera otras versiones, estas pueden tener otro tipo de licencias, tanto libres como propietarias, como por ejemplo, el caso del sistema operativo Mac OS X. Bsd permite también el cobro por la distribución de objetos binarios.
Licencia Apache: esta licencia permite al usuario modificar el software, distribuirlo y distribuir versiones modificadas, con la condición de que se debe aclarar el copyright y el disclaimer original.
Licencia Creative Commons: este tipo de licencia, se compone por cuatro condiciones:
1. Atribución: el usuario puede modificar, copiar, exhibir y representar la obra siempre y cuando se cite de la forma especificada por el autor.
2. No comercial: la obra no debe tener fines comerciales.
3. No derivadas: no se tiene el derecho de modificar la obra, pero sí de distribuirla.
4. Compartir igual: si el usuario modifica la obra, puede distribuirla, siempre utilizando la misma licencia que la original.
Ventajas
· Las licencias de software libre existentes permiten la instalación del software tantas veces y en tantas máquinas como el usuario desee.
· El acceso al código fuente permite el desarrollo de nuevos productos sin la necesidad de desarrollar todo el proceso partiendo de cero. El secretismo tecnológico es uno de los grandes frenos y desequilibrios existentes para el desarrollo en el modelo de propiedad intelectual.
· Es económico. El bajo o nulo coste de los productos libres permiten proporcionar a las PYMES servicios y ampliar sus infraestructuras sin que se vean mermados sus intentos de crecimiento por no poder hacer frente al pago de grandes cantidades en licencias.
· Varias aplicaciones de software libre permiten el copy and run, osea copiar y ejecutar, sin necesidad de ser instaladas en el sistema operativo.
· Existen versiones de las aplicaciones para sistemas operativo propietarios y sistemas operativos libres de casi todas las aplicaciones.
· Requisitos mínimos de hardware para poder correr aplicaciones libres.
· Permiten realizar cualquier tarea de oficina y estudios, también tienen mejores ambientes para el desarrollo de aplicaciones.
<http://www.abadiadigital.com/diez-ventajas-del-software-libre-y-propietario/>
Desventajas
· Desconocimiento. El usuario común está muy familiarizado con los soportes de Microsoft, lo que hace elevar el costo de aprendizaje.
· Ausencia de garantía. El software libre no se hace responsable por las pérdidas de datos y daños colaterales.
· Dificultad en el manejo de algunas aplicaciones en los países que no tienen como idioma principal al inglés, al menos como segundo idioma, ya que la mayor parte de las comunidades de soft libre hablan y escriben en inglés.
· Problemas para jugar a los juegos más importantes del mercado, la mayoría no se pueden correr o corren con errores.
<http://andreitamedina.blogspot.com.ar/2012/04/ventajas-y-desventajas-del-software.html>
Aplicaciones
· Transferencia de conocimiento a los alumnos: si se usa un software en la clase y un alumno se lo quiere llevar a su domicilio, esto es posible y legal con un software libre.
· Independencia de fabricantes; cuando se utiliza software de propiedad nos vemos atados a usar software de este tipo, quienes nos ofrecen actualizaciones casi al punto de obligarnos a realizarlas, modificando sus programas haciéndolos más pesados y con el paso del tiempo obligarnos a comprar un nuevo hardware. Con el software libre esto no pasa, uno actualiza su software cuando lo desea y las versiones antiguas siguen estando disponibles por si las queremos usar.
· Sencillez de administración: simplemente porque GNU/Linux no sufre de virus, por lo tanto nos vemos menos comprometidos a formatear nuestra PC.
· Estabilidad: el sistema operativo GNU/Linux no requiere de reiniciarse, en las clases resulta más eficiente y no hace perder tiempo.
· Economía: es un factor importantísimo para una institución, quien debe tener legalizado todo el software que posea. Y si es software privado debería pagar exorbitantes sumas de dinero para realizarlo.
<http://pedroreina.net/docencia/slutiens.html>
Ejemplos
· Sistema Operativo LINUX y todas sus distribuciones como Ubuntu, Linux Mint, Fedora
· Navegadores como Firefox, Chromius, Camino, Bobcat, Amaya, Iceweasel, etc
· Gimp, versión del “Corel Draw”
· VLC, reproductor multimedia
· Libre Office, suit similar a Microsoft Office para realizar documentos de diferentes tipos
· Jdownloader, gestor de descargas
· VirtualBox, permite la creación de máquinas virtuales
· Atom, editor de código
· Java
<http://hipertextual.com/archivo/2014/12/aplicaciones-para-linux-2014/ - recopilación de distintas fuentes, conocimiento propio>