Ruby License: Difference between revisions
→Projects under Ruby License: Fixed grammar Tags: canned edit summary Mobile edit Mobile app edit Android app edit |
Lithelimbs (talk | contribs) m small grammatical error |
||
(16 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Free and Open Source license applied to the Ruby programming language}} |
|||
{{Primary sources|date=August 2021}} |
|||
{{Infobox software license |
{{Infobox software license |
||
| name = Ruby License |
| name = Ruby License |
||
Line 7: | Line 9: | ||
| publisher = Yukihiro Matsumoto, et al. |
| publisher = Yukihiro Matsumoto, et al. |
||
| date = |
| date = |
||
| OSI approved = No |
|||
| OSI approved = No <ref>{{cite web|title= OSI Board Meeting Minutes, Wednesday, June 2, 2010 {{!}} Open Source Initiative|url=https://opensource.org/licenses/alphabetical| author = OSI|website=opensource.org|language=en}}</ref> |
|||
| FSF approved = Yes |
|||
| Debian approved = Yes<ref>{{cite web | url = http://www.debian.org/legal/licenses/ | title = Debian - License information | |
| Debian approved = Yes<ref>{{cite web | url = http://www.debian.org/legal/licenses/ | title = Debian - License information | access-date = 2013-11-09 | publisher = [[Debian|Debian Foundation]] }}</ref> |
||
| Free Software = Yes<ref name=fsf/> |
|||
| GPL compatible = Yes<ref name=fsf/> |
| GPL compatible = Yes<ref name=fsf/> |
||
| copyleft = No |
| copyleft = No |
||
| linking = Yes |
| linking = Yes |
||
}} |
}} |
||
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]]. |
|||
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 in the Ruby License itself or under those of either the [[GNU General Public Licence]] v2, or the [[BSD licenses#2-clause|two-clause BSD License]] (depending on the version of the Ruby License used). |
|||
⚫ | |||
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]]). |
|||
The license is typically considered to be a [[free software license]] due to the presence of the dual-licensing clause. |
|||
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 == |
== History == |
||
⚫ | |||
⚫ | |||
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. |
|||
Starting at version 1.9.3, the dual-licensing clause changed to offer the choice of the [[BSD licenses#2-clause|FreeBSD License]]. |
|||
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 [[BSD_licenses#2-clause|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, [[License compatibility|compatible]] with the GPL via an explicit [[dual-licensing]] clause."<ref name=fsf>https://www.gnu.org/philosophy/license-list.html#Ruby</ref> |
|||
== Compatibility == |
== Compatibility == |
||
⚫ | The |
||
⚫ | 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 [[free software|Freely Available]]". For example, a modified form of a program licensed under the Ruby license may be placed under the [[BSD licenses#2-clause|FreeBSD License]], which is a non copyleft license. |
||
[[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.<ref>{{cite web|title=Debian Policy Manual - The Debian Archive|url=http://www.chiark.greenend.org.uk/doc/debian-policy/policy.html/ch-archive.html|website=www.chiark.greenend.org.uk}}</ref> |
|||
⚫ | 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.<ref name="fsf">{{cite web|title=Various Licenses and Comments about Them|url=https://www.gnu.org/licenses/license-list.en.html#Ruby|publisher=GNU Foundation|language=en}}</ref> |
||
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.<ref>[https://opensource.org/licenses/alphabetical Licenses approved by the OSI]</ref> |
|||
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.<ref>{{cite mailing list |url=http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/2002-February/004828.html |title=Ruby license |date=2002-02-03 |access-date=2020-05-17 |mailing-list=license-discuss |first=David |last=Johnson}}</ref> |
|||
== 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. |
|||
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.<ref>{{Cite web|url=https://lists.debian.org/debian-legal/2011/05/msg00018.html|title = Re: License check: Ruby 1.9.3}}</ref> |
|||
⚫ | 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 [[free software|Freely Available]]". For example, a modified form of a program licensed under the Ruby license may be placed under the [[BSD licenses |
||
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.<ref>{{cite web|title=ASF Legal Previously Asked Questions|url=https://www.apache.org/legal/resolved.html#ruby-license|website=www.apache.org|language=en}}</ref> |
|||
== 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]] <ref>{{cite web|title=Home — JRuby.org|url=http://jruby.org/|website=jruby.org|language=en}}</ref> 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. |
|||
Software other than the [[Ruby programming language]] itself which uses the Ruby License includes: |
|||
⚫ | [[MacRuby]] |
||
* [[JRuby]], an implementation of Ruby atop the Java Virtual Machine |
|||
[[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. |
|||
⚫ | * [[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 <ref>{{cite web|title=MacRuby/MacRuby|url=https://github.com/MacRuby/MacRuby/blob/master/COPYING|website=GitHub|date=14 February 2022|language=en}}</ref> and the source code of the most MacRuby examples, unless specified, are covered by the Ruby license.<ref>{{cite web|title=MacRuby/MacRubySamples|url=https://github.com/MacRuby/MacRubySamples/blob/master/README.rdoc|website=GitHub|date=May 2021|language=en}}</ref> |
||
* [[RubyGems]], a package manager for Ruby |
|||
[[IronRuby]] <ref>{{cite web|title=IronRuby.net /|url=http://ironruby.net|website=ironruby.net}}</ref> 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. |
|||
* [[IronRuby]], an implementation of Ruby targeting the [[.NET Framework]] |
|||
* The JSON implementation for Ruby<ref>{{cite web|title=JSON implementation for Ruby|url=https://flori.github.io/json/|website=flori.github.io|language=en}}</ref> |
|||
⚫ | |||
New Relic is a performance management system, developed by New Relic, Inc.<ref>{{cite web|title=New Relic: Application Performance Management and Monitoring|url=http://www.newrelic.com|website=New Relic|language=en}}</ref> 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.<ref>{{cite web|title=File: LICENSE — Documentation for newrelic/rpm (master)|url=http://www.rubydoc.info/github/newrelic/rpm/file/LICENSE|website=www.rubydoc.info}}</ref> |
|||
{{refs}} |
|||
JSON implementation for Ruby is totally distributed under Ruby License.<ref>{{cite web|title=JSON implementation for Ruby|url=https://flori.github.io/json/|website=flori.github.io|language=en}}</ref> |
|||
⚫ | |||
⚫ | |||
{{reflist|30em}} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
*[https://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses GPL Compatible Licenses] |
|||
[[Category:Ruby (programming language)]] |
[[Category:Ruby (programming language)]] |
Latest revision as of 14:48, 27 February 2024
Author | Yukihiro Matsumoto |
---|---|
Publisher | Yukihiro Matsumoto, et al. |
SPDX identifier | Ruby |
Debian FSG compatible | Yes[1] |
FSF approved | Yes |
OSI approved | No |
GPL compatible | Yes[2] |
Copyleft | No |
Linking from code with a different licence | Yes |
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 in 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
[edit]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
[edit]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
[edit]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
[edit]- ^ "Debian - License information". Debian Foundation. Retrieved 2013-11-09.
- ^ a b "Various Licenses and Comments about Them". GNU Foundation.
- ^ Johnson, David (2002-02-03). "Ruby license". license-discuss (Mailing list). Retrieved 2020-05-17.
- ^ "Re: License check: Ruby 1.9.3".
- ^ "ASF Legal Previously Asked Questions". www.apache.org.
- ^ "MacRuby/MacRuby". GitHub. 14 February 2022.
- ^ "MacRuby/MacRubySamples". GitHub. May 2021.
- ^ "JSON implementation for Ruby". flori.github.io.
External links
[edit]- Text of the Ruby License