Software:Ruby License

From HandWiki
Short description: Free and Open Source license applied to the Ruby programming language
Ruby License
AuthorYukihiro Matsumoto
PublisherYukihiro Matsumoto, et al.
DFSG compatibleYes[1]
FSF approvedYes
OSI approvedNo
GPL compatibleYes[2]
CopyleftNo
Linking from code with a different licenseYes

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 contains an explicit dual licensing clause, stating that software subject to its terms may be distributed under either the terms included the Ruby License itself or under those of either the GNU General Public Licence v2, or the two-clause BSD License (depending on the version of the Ruby License used).

The license is typically considered to be a free software license due to the presence of the dual-licensing clause.

History

For versions up to 1.9.2, the Ruby programming language was 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.

Starting at version 1.9.3, the dual-licensing clause changed to offer the choice of the FreeBSD License.

Compatibility

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.

The Ruby License is approved by the Free Software Foundation and is considered compatible with the GNU General Public License, due to its explicit dual-licensing clause.[2]

The Open Source Initiative does not explicitly include the Ruby license as a certified an open source license; this is considered "unnecessary" due to the dual licensing clause.[3]

In discussion over the change of the dual licensing clause on the debian-legal mailing list, it was noted that while the Ruby license itself is arguably not compatible with the Debian Free Software Guidelines, this is unimportant due to the dual-licensing clause.[4]

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

Adoption

Software other than the Ruby programming language itself which uses the Ruby License includes:

  • JRuby, an implementation of Ruby atop the Java Virtual Machine
  • MacRuby, 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 [6] and the source code of the most MacRuby examples, unless specified, are covered by the Ruby license.[7]
  • RubyGems, a package manager for Ruby
  • IronRuby, an implementation of Ruby targeting the .NET Framework
  • The JSON implementation for Ruby[8]

References

  1. "Debian - License information". Debian Foundation. http://www.debian.org/legal/licenses/. 
  2. 2.0 2.1 "Various Licenses and Comments about Them" (in en). GNU Foundation. https://www.gnu.org/licenses/license-list.en.html#Ruby. 
  3. Johnson, David (2002-02-03). "Ruby license". license-discuss (Mailing list). Retrieved 2020-05-17.
  4. "Re: License check: Ruby 1.9.3". https://lists.debian.org/debian-legal/2011/05/msg00018.html. 
  5. "ASF Legal Previously Asked Questions" (in en). https://www.apache.org/legal/resolved.html#ruby-license. 
  6. "MacRuby/MacRuby" (in en). 14 February 2022. https://github.com/MacRuby/MacRuby/blob/master/COPYING. 
  7. "MacRuby/MacRubySamples" (in en). May 2021. https://github.com/MacRuby/MacRubySamples/blob/master/README.rdoc. 
  8. "JSON implementation for Ruby" (in en). https://flori.github.io/json/. 

External links

  • Text of the Ruby License