Jump to content

Ruby License

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by MrTheMuffinMan (talk | contribs) at 11:12, 17 December 2019 (Projects under Ruby License: Fixed grammar). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Ruby License
AuthorYukihiro Matsumoto
PublisherYukihiro Matsumoto, et al.
SPDX identifierRuby
Debian FSG compatibleYes[1]
FSF approvedYes[2]
OSI approvedNo [3]
GPL compatibleYes[2]
CopyleftNo
Linking from code with a different licenceYes

The Ruby License is a Free and Open Source license applied to the Ruby programming language and also available to be used in other projects. It is approved by the Free Software Foundation although it has not been approved Open Source by the Open Source Initiative.

Author

The Ruby license was created on 21 December 1995 with Ruby programming language by Yukihiro Matsumoto. Matsumoto, also known as Matz, born on 14 April 1965. He is a Japanese computer scientist and software programmer from Tottori Prefecture, best known as the chief designer of the Ruby programming language and its reference implementation, Matz's Ruby Interpreter (Ruby MRI).

He was a self-taught programmer until the end of high school. He graduated in computer science at University of Tsukuba, where he joined the research department on programming languages and compilers.

In 2006, Matsumoto was the head of the research and development department at the Network Applied Communication Laboratory, an open source systems integration company in Shimane Prefecture.

History

For versions up to 1.9.2, the ruby language has been made available under an explicit dual-licence scheme which allowed users to choose between a dedicated Ruby licence or the GNU General Public Licence v2 (GPLV2), which is one of the most common free software licences.

In 2007, GNU General Public Licence v3 (GPLv3) was released. It adds rules on hardware restrictions on software modification and a clause that removes any legal value in Digital rights management, or DRM, technology, allowing end-users to bypass or remove DRM without falling foul of laws like the Digital Millennium Copyright Act, or DMCA.

This restrictions causes that for the language versions since 1.9.2, starting at 1.9.3, the reference implementation of Ruby has used a version of the Ruby License that includes an explicit dual-licensing clause that allows covered software to be distributed under the terms of the FreeBSD License, which, by contrast, has been confirmed as both GPL-compliant by the Free Software Foundation and as an official open source licence by the Open Source Initiative, but is far more permissive: unlike the GPL, it does not seek to enforce a 'sharealike' requirement on its licensees.

The change gives developers a bit choice in what they are permitted to do with the source code, allowing those with the requisite knowledge the ability to change the underlying source to make a “better” proprietary language, and redistribute it in a binary format.

The Free Software Foundation comments: "This is a free software licence, compatible with the GPL via an explicit dual-licensing clause."[2]

Compatibility

The Ruby License is approved by the Free Software Foundation [4] and is considered compatible with the GNU General Public License.[5]

Debian Free Software Guidelines is a set of guidelines that the Debian Project uses to determine whether a software license is a free software license and to determine whether a piece of software can be included in Debian. Ruby license is considered a free software license by this corporation because of the integrity of the author source code, free distribution and the no discrimination, among other things.[6]

Nevertheless, the Open Source Initiative does not explicitly include Ruby license like an open source license. Anyway, the explicit dual-licensing clause of the actual version of Ruby License allows covered software to be distributed under the terms of the FreeBSD License, that the OSI accepts.[7]

Copyleft

Copyleft is a general method to make a program (or other type of work) free, demanding that all modified and extended versions of it are also free.

The Ruby License has unusual copyleft requirements, stating that redistributions should not necessarily be under the terms of the Ruby license, but placed "in the Public Domain or otherwise Freely Available". For example, a modified form of a program licensed under the Ruby license may be placed under the FreeBSD License, which is a non copyleft license, so it is permissive, and it can cause the software to become private.

Projects under Ruby License

The Ruby License is a license applied to the Ruby programming language and also available to be used in other projects. Some of these projects are projects based on Ruby programming Language.

JRuby [8] is an implementation of the Ruby programming language atop the Java Virtual Machine. It distributes some additional libraries that are not covered by JRuby's license, like most files found in src/lib/ruby/1.8, which are distributed under Ruby license.

MacRuby [9] is an implementation of Ruby 1.9 directly on top of Mac OS X core technologies such as the Objective-C runtime and garbage collector, the LLVM compiler infrastructure and the Foundation and ICU frameworks. MacRuby contains code from the Ruby project [10] and the source code of the most MacRuby examples, unless specified, are covered by the Ruby license.[11]

RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them.

IronRuby [12] is an implementation of the Ruby programming language targeting Microsoft .NET framework. It is implemented on top of the Dynamic Language Runtime (DLR), a library running on top of the Common Language Infrastructure that provides dynamic typing and dynamic method dispatch, among other things, for dynamic languages.

Software under Ruby license (including the older version when GPLv2 was a listed alternative Ruby 1.9.2 license) may be included in binary form within an Apache product if the inclusion is appropriately labeled.[13]

New Relic is a performance management system, developed by New Relic, Inc.[14] New Relic provides you with deep information about the performance of your web application as it runs in production. It includes source derived from 'system_timer' by David Vollbracht & Philippe Hanrigou, distributed under Ruby's license terms.[15]

JSON implementation for Ruby is totally distributed under Ruby License.[16]

References

  1. ^ "Debian - License information". Debian Foundation. Archived from the original on 2013-04-01. Retrieved 2013-11-09.
  2. ^ a b c https://www.gnu.org/philosophy/license-list.html#Ruby
  3. ^ OSI. "OSI Board Meeting Minutes, Wednesday, June 2, 2010 | Open Source Initiative". opensource.org.
  4. ^ "Front Page — Free Software Foundation — working together for free software". www.fsf.org.
  5. ^ "gnu.org". www.gnu.org.
  6. ^ "Debian Policy Manual - The Debian Archive". www.chiark.greenend.org.uk.
  7. ^ Licenses approved by the OSI
  8. ^ "Home — JRuby.org". jruby.org.
  9. ^ "MacRuby". macruby.org.
  10. ^ "MacRuby/MacRuby". GitHub.
  11. ^ "MacRuby/MacRubySamples". GitHub.
  12. ^ "IronRuby.net /". ironruby.net.
  13. ^ "ASF Legal Previously Asked Questions". www.apache.org.
  14. ^ "New Relic: Application Performance Management and Monitoring". New Relic.
  15. ^ "File: LICENSE — Documentation for newrelic/rpm (master)". www.rubydoc.info.
  16. ^ "JSON implementation for Ruby". flori.github.io.