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.

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

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

Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
You can redistribute it and/or modify it under either the terms of the
2-clause BSDL (see the file BSDL), or the conditions below:

  1. You may make and give away verbatim copies of the source form of the
     software without restriction, provided that you duplicate all of the
     original copyright notices and associated disclaimers.

  2. You may modify your copy of the software in any way, provided that
     you do at least ONE of the following:

       a) place your modifications in the Public Domain or otherwise
          make them Freely Available, such as by posting said
	  modifications to Usenet or an equivalent medium, or by allowing
	  the author to include your modifications in the software.

       b) use the modified software only within your corporation or
          organization.

       c) give non-standard binaries non-standard names, with
          instructions on where to get the original software distribution.

       d) make other distribution arrangements with the author.

  3. You may distribute the software in object code or binary form,
     provided that you do at least ONE of the following:

       a) distribute the binaries and library files of the software,
	  together with instructions (in the manual page or equivalent)
	  on where to get the original distribution.

       b) accompany the distribution with the machine-readable source of
	  the software.

       c) give non-standard binaries non-standard names, with
          instructions on where to get the original software distribution.

       d) make other distribution arrangements with the author.

  4. You may modify and include the part of the software into any other
     software (possibly commercial).  But some files in the distribution
     are not written by the author, so that they are not under these terms.

     For the list of those files and their copying conditions, see the
     file LEGAL.

  5. The scripts and library files supplied as input to or produced as
     output from the software do not automatically fall under the
     copyright of the software, but belong to whomever generated them,
     and may be sold commercially, and may be aggregated with this
     software.

  6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE.

Traducción al español

Ruby es un software libre con derechos de autor creado por Yukihiro Matsumoto <matz@netlab.jp>>.
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 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[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. «Lista de licencias con comentarios».
  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

Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.