Tipos de licencias de software: GNU “El liberador”

proyecto-gnu

Genio excéntrico, matemático y hacker, profesor del MIT y alumno avanzado de Harvard, Richard Stallman, hace ya 37 años (se dice pronto), inició el Proyecto GNU, en septiembre de 1983. Un sistema operativo de software libre con el que intentaba acabar por todos los medios con el acaparamiento del software en la creciente industria informática. Pretendía dar esquinazo a otros grandes de la incipiente “gallina de los huevos de oro” que, desde los laboratorios de Inteligencia Artificial del MIT, querían crear un sistema software privativo para sustituir el software libre que entonces gestionaba el laboratorio de la Universidad.

El legado de Richard Stallman no solo es un sistema operativo de software libre alternativo. Para muchos, es una cuestión de valores directamente vinculados con la libertad en la gestión para el usuario: capacidad de decisión.

Un mes de marzo de hace casi 40 años, Richard Stallman publicó el Manifiesto GNU, una declaración de intenciones respecto a la deriva proteccionista que llevaba la industria. Vamos a explicarte en qué consiste el Proyecto GNU y los tipos de licencias de software.

Free Software Fundation y Proyecto GNU

Richard M. Stallman fue un visionario del movimiento Free. Quería crear un sistema operativo completo de software libre y lo consiguió. Su intención era dar libertad al usuario para usar, compartir, estudiar y mejorar el software para cualquier finalidad. La idea era dotar de derechos propios de autor a cualquier usuario.

Así, redacto el Manifiesto GNU e inició su revolucionario sistema operativo de software libre materializado en el Proyecto GNU, cuya denominación es el acrónimo de GNU’s Not Unix (traducido, GNU No es Unix). Unix era un sistema operativo muy popular en los años 80, así que Stallman diseñó GNU para ser muy compatible con Unix, para que la migración a GNU fuese cómoda. El nombre reconoce que GNU aprendió del diseño técnico de Unix, pero también indica claramente que no están relacionados. A diferencia de Unix, GNU es software libre.

Stallman puso en marcha la Free Software Fundation (Fundación para el Software Libre) en octubre de 1985 para ocuparse de los aspectos administrativos, organizativos y legales del Proyecto GNU. Desde ella, ha difundido el uso y el conocimiento del Software Libre, participando en charlas y congresos por todo el mundo.

Richard Stallman: el visionario del movimiento FREE

Richard Matthew Stallman o también conocido como RMS tiene un currículum impresionante que muestra una capacidad intelectual acorde con su empeño en conseguir su objetivo. Hasta el año pasado estaba a cargo de la dirección de la Free Software Fundation y daba clases e investigaba en el MIT.

A sus grandes logros como programador hay que añadir la invención del concepto (aunque no el término) de Copyleft. Satallman está convencido de que es imprescindible migrar hacia sistemas operativos libres como medio para mantener y fortalecer la democracia. 

¿Qué es el Proyecto GNU?

GNU es un sistema operativo de tipo Unix, esto quiere decir que se comporta de manera similar a un sistema Unix, pero no es necesario que sea certificado en ninguna versión de la Single Unix Specification. Suele utilizarse el término Unix-like, que se se puede traducir en como Unix o tipo Unix.

Se caracteriza por tener un diseño modular, es decir, que se le pueden añadir partes hechas por terceros, como pasa con Linux. En la actualidad podríamos decir que el sistema operativo completo o la combinación la componen GNU/Linux, a pesar de que los usuarios a nivel doméstico se refieran a este sistema simplemente como Linux. Juntos conforman un sistema operativo completo de Software libre.

Llegado a este punto, aclararemos qué es Unix.

Unix es un sistema operativo portable, multitarea y multiusuario. Fue creado dos décadas antes que GNU y estableció la base de comportamiento para un sistema operativo. Por eso, GNU se basó en la línea que seguía Unix pero haciendo su aportación: hizo del GNU un sistema operativo libre.

Sin embargo, a diferencia de GNU, hay sistemas operativos que no son como Unix, o no son Unix-like. Estos, proveen una capa de compatibilidad con varios grados de funcionalidad Unix-like, lo que le permite funcionar en el entorno mayoritario.

La capa de compatibilidad son una serie de componentes creados para permitir a un sistema operativo utilizar programas o bibliotecas que fueron creadas para otro sistema operativo incompatible, en este caso con Unix. Algunas capas de compatibilidad son más completas que otras, permitiendo más integración entre la aplicación extranjera y el sistema que contiene la misma.

Tipos de licencias de software

Existen varios tipos de licencias de software, que es contrato que se establece ente el usuario y el propietario del software donde se fijan las cláusulas que los usuarios deben aceptar y cumplir para poder usarlo. Según los derechos de propiedad intelectual puedes encontrar estos tipos de licencias de software:

1. Software Libre o Free Software

El Software libre permite su libre modificación, adaptación o incluso lectura por parte de terceros. Para ello, el acceso a su código fuente está disponible para los usuarios. Como ejemplo la licencia GNU:

Modelos de Licencia GNU:

  • Licencia Pública General de GNU (GPL, General Public License)
  • Licencia Pública General Reducida de GNU (LGPL, GNU Lesser General Public License).

2.Software Propietario o Licencia de Software de Código Cerrado

En ellas los propietarios establecen los derechos de uso, distribución, redistribución, copia, modificación, cesión y en general cualquier otra consideración que se estime necesaria. El Software Propietarioes aquel que no permite acceder de forma libre a su código fuente. Por ejemplo: el Acuerdo de Licencia de Usuario Final (ALUF).

3.Software de dominio público

Se permite uso, copia, modificación o redistribución con o sin fines de lucro.

4.Software Semi-libre

El Software semi-libre no es libre pero permite que otros individuos lo usen, lo copien, lo distribuyan y hasta lo modifiquen.

Ejemplos de software semi-libre son las primeras versiones de Internet Explorer de Microsoft, o algunas versiones de browsers de Netscape, y StarOffice.

5.Software Comercial (puede ser libre o privativo)

Es el Software desarrollado por una empresa con el objetivo de lucrarse con su utilización. La mayor parte del Software Comercial es Propietario, pero existe Software Libre que es comercial, y existe software no-libre que no es comercial.

Software gratuito y software libre: ¿es lo mismo?

No. Son dos cosas independientes. Debes tener en cuenta que exiten software gratuitos y libres, pero la condición de libre no hace referencia a si se paga por él. Es un asunto de independencia, de agencialidad del usuario.

Puedes encontrar Software Libre que es de pago y Software Gratuitos que no pueden ser alterados por el usuario.

Distribuciones de Linux de Software Libre

Una distribución GNU/Linux es una distribución de software basada en el núcleo Linux y paquetes de software específicos para un grupo de usuarios concreto según las necesidades que tengan, por ejemplo: procesadores de texto, hoja de cálculo, reproductores multimedia, herramientas administrativas…

Por lo general están compuestas, total o mayoritariamente, de Software Libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Puedes acceder al sistema en GNU Linux Descargar.

Algunas distribuciones de Linux de Software Libre:

  • Dragora GNU/Linux
  • Hyperbola GNU/Linux-libre
  • Parabola GNU/Linux
  • Trisquel GNU/Linux
  • UTUTO XS GNU/Linux…

Principales distribuciones de Linux:

  • Debian
  • Ubuntu: se orienta a usos generales y se caracteriza por su compatibilidad de software y facilidad de uso equiparable a Mac OS X o Windows.
  • Manjaro: enfocada en la facilidad de uso.
  • Fedora: se orienta al desarrollo de software y servidores.
  • Open SUSE: para administración de sistemas y servicios.

La UE se suma al Movimiento Free

La Comisión Europea hizo un plan para adaptar su estrategia hacia la potenciación e implementación interna del uso de software de código abierto. Está utilizando el código abierto para muchos de sus servicios clave de TIC y soluciones de software.

Para ello, desarrolló un plan, cuyos principales objetivos son:

  • Igualdad de trato en la contratación: Esto significa que las soluciones de código abierto y las soluciones patentadas se evaluarán en igualdad de condiciones, y ambas se evaluarán en función del costo total de propiedad, incluidos los costos de salida.
  • Contribución a las comunidades.
  • Aclaración de aspectos legales.
  • Software de código abierto e interoperable desarrollado por la Comisión: será de código abierto y se publicará en la plataforma Joinup y utilizará la Licencia Pública de la Unión Europea (EUPL). El software producido debe tener como objetivo ser interoperable y utilizar especificaciones técnicas abiertas
  • Transparencia y mejor comunicación: un uso creciente del código abierto en el dominio de la seguridad de las TIC.

¿Qué es el marco de desarrollo Scrum?

Scrum es una forma mejorada de realizar trabajos

Scrum es un marco dentro del cual las personas pueden abordar problemas adaptativos complejos, al tiempo que ofrecen productiva y creativamente productos del más alto valor posible.
Scrum en sí mismo es un marco simple para una efectiva colaboración de equipo en productos complejos. Los co-creadores de Scrum, Ken Schwaber y Jeff Sutherland han escrito The Scrum Guide para explicar el funcionamiento de esta metodología de trabajo de forma clara y sucinta. Te modo vamos a abordar los roles, eventos y las reglas de Scrum que los unen entre si.

Scrum es:

Ligero
Simple de entender
Difícil de dominar, aunque una vez dominado redunda en grandes beneficios.

Glosario de Scrum

El Glosario de Scrum está destinado a representar una descripción general de los términos relacionados con el despliegue de esta modalidad de trabajo. Algunos de los términos mencionados no son obligatorios en Scrum, pero se han agregado porque se usan comúnmente.
Para obtener más información sobre el marco de Scrum, para identificar cuáles de estos términos son elementos necesarios de Scrum y para comprender cómo se conectan los elementos mencionados, le recomendamos utilizar The Scrum Guide . Para obtener más información sobre los términos específicos de los equipos de desarrollo de software que utilizan Scrum y las técnicas ágiles de desarrollo de software, se puede consultar una de las guías más completas, Professional Scrum Developer.

El marco de Scrum

Scrum es simple. Es lo opuesto a una gran colección de componentes obligatorios entretejidos. Scrum no es una metodología . Scrum implementa el método científico basado en el empirismo. Scrum reemplaza un enfoque algorítmico programado por uno heurístico, con respeto por las personas y la autoorganización para enfrentar la imprevisibilidad y resolver problemas complejos. El siguiente gráfico representa a Scrum en acción, tal como lo describen Ken Schwaber y Jeff Sutherland en su libro Software in 30 Days que nos lleva desde la planificación hasta la entrega del software.

Esquema de trabajo Scrum

Los valores de Scrum

Aunque siempre se consideró parte de Scrum y, a menudo, se escribió sobre él, en julio de 2016, los valores de Scrum se agregaron a The Scrum Guide. Estos valores incluyen Coraje, Enfoque, Compromiso, Respeto y Apertura. Estos valores ayudan a la priorización y desarrollo del trabajo.

Los roles del equipo de Scrum

El Scrum Team consta de un Product Owner , el Development Team y un Scrum Master . Los Scrum Teams se auto organizan y tienen funciones cruzadas. Los equipos autoorganizados eligen la mejor manera de llevar a cabo su trabajo, en lugar de ser dirigidos por otros fuera del equipo. Los equipos multifuncionales tienen todas las competencias necesarias para realizar el trabajo sin depender de otros que no formen parte del equipo. El modelo de equipo en Scrum está diseñado para optimizar la flexibilidad, la creatividad y la productividad.

Los eventos de Scrum

Los eventos prescritos se usan en Scrum para crear regularidad y minimizar la necesidad de reuniones no definidas en Scrum. Todos los eventos están enmarcados en el tiempo. Una vez que comienza un Sprint, su duración es fija y no se puede acortar o alargar. Los eventos restantes pueden finalizar siempre que se logre el objetivo del evento, asegurando que se dedique una cantidad adecuada de tiempo sin permitir el desperdicio en el proceso. Los eventos de Scrum son:

  • Sprint
  • Sprint Planning
  • Daily Scrum
  • Revisión de Sprint
  • Sprint Retrospective

Es importante destacar que en este artículo se han respetado las indicaciones en inglés puesto que, por regla general, son las comunes en las empresas españolas que utilizan este sistema. Pese a que existan algunas organizaciones donde se tiende a castellanizar los términos, en lineas generales cualquiera que trabaje o haya trabajado con el sistema Scrum estará familiarizado con estos términos.