Licencia Ruby
# Licencia Ruby

La Licencia Ruby (en inglés, Ruby License) es la licencia de código abierto aplicada al lenguaje de programación Ruby y también en otros proyectos. Esta licencia es aprobada por Free Software Foundation aunque todavía no ha sido aprobada como licencia de código abierto por la Open Source Initiative.

## Autor

La licencia Ruby fue creada el 21 de diciembre de 1995 con el lenguaje de programación Ruby por Yukihiro Matsumoto. Matsumoto, también conocido como Matz, nacido el 14 de abril de 1965. Es un informático japonés y programador de software de la Prefectura Tottori, más conocido como el diseñador jefe del lenguaje de programación Ruby y su implementación de referencia, Matz Ruby Intérprete Ruby MRI.

Fue un programador autodidacta hasta el final de la escuela secundaria. Se graduó en informática en la Universidad de Tsukuba, donde se unió al departamento de investigación sobre lenguajes de programación y compiladores.

En 2006, Matsumoto fue el jefe del departamento de investigación y desarrollo en el Network Applied Communication Laboratory, una compañía de integración de sistemas de código abierto en la Prefectura de Shimane.

## Historia

Para las versiones hasta 1.9.2, el lenguaje rubí se ha distribuido bajo un esquema explícito de licencia dual que permite a los usuarios elegir entre una licencia dedicada de Ruby o la GNU General Public License v2 (GPLV2), que es una de las licencias de software libre más comunes.

En 2007, se lanzó GNU General Public License v3 (GPLv3). Esta añade reglas en las restricciones de hardware sobre la modificación del software y una cláusula que elimina cualquier valor legal en la tecnología Gestión de derechos digitales, o DRM, permitiendo a los usuarios finales evitar DRM sin caer en la Ley de Derechos de Autor de la Era Digital (Digital Millennium Copyright Act, o DMCA).

Esta restricción provoca que para las versiones del lenguaje Ruby desde la 1.9.2, empezando por la 1.9.3, la implementación de Ruby haya utilizado una versión de la Licencia Ruby que incluye una cláusula explícita de licencia dual que permite distribuir el software cubierto bajo los términos de licencia FreeBSD, que, por el contrario, ha sido confirmada como compatible con GPL por la Free Software Foundation y como una licencia oficial de código abierto aprobada por Open Source Initiative. Esta es mucho más permisiva: a diferencia de la GPL, no pretende imponer un requisito "copyleft" a los usuarios de la licencia.

El cambio da a los desarrolladores la elección de lo que se quiere hacer con el código fuente, dando la capacidad de cambiar el código fuente para crear un código propietario "mejor" y redistribuirlo en un formato binario.

La Free Software Foundation comenta: "Esta es una licencia de software libre, compatible con la GPL a través de una cláusula explícita de licencias dobles."

## Compatibilidad

La 'Licencia Ruby' es aprobada por la Fundación de Software Libre (FSF) y se considera compatible con la Licencia Pública General GNU.

Directrices de software libre de Debian es un conjunto de directrices que el Proyecto Debian utiliza para determinar si una licencia de software es una licencia de software libre y para saber si un componente de software puede incluirse en Debian. La licencia Ruby se considera una licencia de software libre por esta corporación debido a la integridad del código fuente del autor, la distribución gratuita y la no discriminación, entre otras cosas.

Sin embargo, la Open Source Initiative no incluye licencia Ruby como una licencia de código abierto. De todos modos, la cláusula explícita de licencia dual de la versión actual de la Licencia Ruby permite que el software cubierto se distribuya bajo los términos de la Licencia FreeBSD, que si es aceptada por la OSI.

## Copyleft

Copyleft es un método general para hacer un programa (u otro tipo de trabajo) libre, exigiendo que todas las versiones modificadas y extendidas de ella también son gratuitas.

La Licencia Ruby tiene requisitos inusuales copyleft, afirmando que las redistribuciones no deben estar necesariamente bajo los términos de la licencia Ruby, pero situadas "en el dominio público o de otro modo de acceso libre". Por ejemplo, una modificación de un programa bajo la licencia Ruby puede ser distribuido bajo una licencia BSD que es una licencia sin copyleft, por lo que es permisiva, y puede causar que el software pueda convertirse en software no libre.

## Proyectos bajo licencia Ruby

La 'Licencia Ruby' es una licencia aplicada al lenguaje de programación Ruby y también está disponible para ser usada en otros proyectos. Algunos de estos proyectos son proyectos basados en lenguaje de programación Ruby.

JRuby es una implementación del lenguaje de programación Ruby sobre la Máquina Virtual Java. Distribuye algunas librerías adicionales que no están cubiertas por la licencia de JRuby, como la mayoría de los archivos encontrados en src/lib/ruby/1.8, que se distribuyen bajo licencia Ruby.

RubyGems es un gestor de paquetes para el lenguaje de programación Ruby que proporciona un formato estándar para la distribución de programas y librerías Ruby (en un formato autónomo denominado "gem"), una herramienta diseñada para administrar fácilmente la instalación de gems y un servidor para distribuirlos.

IronRuby es una implementación del lenguaje de programación Ruby dirigido a Microsoft .NET framework. Se implementa en la capa superior de la DLR (Dynamic Language Runtime), una biblioteca que se ejecuta en la capa superior de la Common Language Infrastructure, la cual proporciona escritura dinámica y envío dinámico de métodos, entre otras cosas, para lenguajes dinámicos.

El software bajo la licencia de Ruby (incluida la versión anterior cuando GPLv2 era una licencia Ruby 1.9.2 de la lista) se puede incluir en forma binaria dentro de un producto Apache si la inclusión está debidamente etiquetada.

New Relic es un sistema de gestión del rendimiento, desarrollado por New Relic, Inc. New Relic proporciona información sobre el rendimiento de una aplicación web mientras se ejecuta. Incluye código derivado de 'system_timer' de David Vollbracht y Philippe Hanrigou, distribuidas bajo los términos de licencia de Ruby.

La implementación de JSON para Ruby está totalmente distribuida bajo Licencia Ruby.

