Licencia Ruby

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 20:00 10 may 2020 por Sabonsa (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
Licencia Ruby
Información
Autor Yukihiro Matsumoto
Compatible con DFSG Sí 
Aprobado por la FSF Sí 
Software libre Sí 
Aprobado por la OSI Sí 
Copyleft No

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."[1]

Términos de licencia (traducción al castellano)

Ruby es un software libre con derechos de autor creado por Yukihiro Matsumoto<email>.
Puede ser redistribuido y o modificado bajo los términos de la clausula BSD
(vea el archivo BSDL), o las siguientes condiciones:
  
  1. Usted puede hacer y distribuir copias vebatin del código fuente sin restricción
     siempre que se dupliquen todos los aviso de derechos de autor originales y 
     renuncias de responsabilidad asociadas.

  2. Usted puede modificar su copia del software de cualquier forma, siempre que
     usted cumpla al menos una de las siguientes condiciones:

       a. Colocar sus modificaciones bajo dominio público o hacerlos
          de libre disposición, como por ejemplo, subiendo las modificaciones
          a una red de usuarios, o permitiendo que el autor pueda incluir
          sus modificaciones en el software.
       b. Utilice el software modificado sólo dentro de su empresa u organización.

       c. Dar nombres no estándar a binarios no estándar, con 
          instrucciones sobre dónde obtener la distribución del software original.

       d. Hacer otros arreglos de distribución con el autor.

 3. Puede distribuir el software en código objeto o de forma binaria,
     siempre que cumpla al menos una de las siguientes condiciones:

       a. Distribuir los archivos binarios y librerías del software,
          junto con instrucciones (en la página de manual o equivalente)
          sobre dónde obtener la distribución original.

       b. Acompañar la distribución con código máquina legible del software.

       c. Dar nombres no estándar a binarios no estándar, con
          instrucciones sobre dónde obtener la distribución de software original.

       d. Hacer otros arreglos de distribución con el autor.

  4. Usted puede modificar e incluir la parte del software en cualquier otro
     Software (posiblemente comercial). Pero si algunos archivos en la distribución
     no están escritos por el autor, estos no estarán bajo estos términos.
     Para ver la lista de esos archivos y sus condiciones de copia, vea
     el archivo LEGAL.

  5. Los scripts y archivos de biblioteca suministrados como entrada o
     salida del software no caen automáticamente bajo el derecho de autor
     del software, pero pertenecen a quien los generó,
     Pueden ser vendidos comercialmente y agregarse con este
     software.

  6. ESTE SOFTWARE SE PROPORCIONA "TAL CUAL" Y SIN NINGUNA
     GARANTÍA IMPLÍCITA, INCLUYENDO, SIN LIMITACIÓN, LAS GARANTÍAS 
     IMPLÍCITAS DE COMERCIABILIDAD Y ADECUACIÓN PARA UN
     PROPÓSITO.

Compatibilidad

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

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.[4]

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.[5]

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 las licencias licencia FreeBSD, que es una licencia sin copyleft, por lo que es permisiva, y puede causar que el software pueda convertirse en propietario.

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[6]​ 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[7]​ 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.[8]

New Relic es un sistema de gestión del rendimiento, desarrollado por New Relic, Inc.[9]​ 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.[10]

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

Referencias

  1. https://www.Gnu.org/philosophy/license-list.html#Ruby.  Falta el |título= (ayuda)
  2. «Front Page — Free Software Foundation — working together for free software». www.fsf.org (en inglés). Archivado desde el original el 15 de enero de 2010. Consultado el 17 de marzo de 2017. 
  3. «gnu.org». www.gnu.org (en inglés). 
  4. «Debian Policy Manual - The Debian Archive». www.chiark.greenend.org.uk. 
  5. Licenses approved by the OSI
  6. «Home — JRuby.org». jruby.org (en inglés). Archivado desde el original el 8 de febrero de 2011. Consultado el 17 de marzo de 2017. 
  7. «IronRuby.net /». ironruby.net. 
  8. «ASF Legal Previously Asked Questions». www.apache.org (en inglés). 
  9. «New Relic: Application Performance Management and Monitoring». New Relic (en inglés). 
  10. «File: LICENSE — Documentation for newrelic/rpm (master)». www.rubydoc.info. 
  11. «JSON implementation for Ruby». flori.github.io (en inglés). 

Enlaces externos