Misplaced Pages

License compatibility: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 15:55, 31 August 2023 editUltimate Fact Checker (talk | contribs)20 edits Added a small subsection on RAILs and their incompatibility with the GPL.Tag: Visual edit← Previous edit Revision as of 09:08, 4 September 2023 edit undoCitation bot (talk | contribs)Bots5,403,638 edits Alter: template type. Add: isbn, pages, date, title, chapter, doi, chapter-url, authors 1-8. Removed or converted URL. | Use this bot. Report bugs. | #UCB_CommandLineNext edit →
Line 58: Line 58:


==== RAILs and GPL ==== ==== RAILs and GPL ====
Responsible AI Licenses (or RAILs) are generally not compatible with the GPL.<ref>{{cite web|url=https://dl.acm.org/doi/fullHtml/10.1145/3531146.3533143}}</ref> This is because RAILs include "use restrictions" that limit the ways users can make use of the materials licensed under RAILs, whereas the GPL prohibits such restrictions. Responsible AI Licenses (or RAILs) are generally not compatible with the GPL.<ref>{{cite book|chapter-url=https://dl.acm.org/doi/fullHtml/10.1145/3531146.3533143 |doi=10.1145/3531146.3533143 |chapter=Behavioral Use Licensing for Responsible AI |title=2022 ACM Conference on Fairness, Accountability, and Transparency |date=2022 |last1=Contractor |first1=Danish |last2=McDuff |first2=Daniel |last3=Haines |first3=Julia Katherine |last4=Lee |first4=Jenny |last5=Hines |first5=Christopher |last6=Hecht |first6=Brent |last7=Vincent |first7=Nicholas |last8=Li |first8=Hanlin |pages=778–788 |isbn=9781450393522 }}</ref> This is because RAILs include "use restrictions" that limit the ways users can make use of the materials licensed under RAILs, whereas the GPL prohibits such restrictions.
==== CDDL and GPL ==== ==== CDDL and GPL ====
Another case where GPL compatibility is problematic is the ] licensed ] file system with the GPLv2 licensed ].<ref>{{cite web|url=http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue |title=2.2 What is the licensing concern? |website=zfsonlinux.com |url-status=dead |archive-url=https://web.archive.org/web/20100926104451/http://zfsonlinux.org/faq.html |archive-date=2010-09-26 }}</ref> Despite that both are free software under a copyleft license, ZFS is not distributed with most ]s like ]<ref>{{cite web|format=email message|url=http://list.zfsonlinux.org/pipermail/zfs-discuss/2014-August/018505.html |quote=Upstream ZoL project holds the view that in this case the combination of the two in the same binary would create a derived work, so this is not acceptable for redistribution. We accept the interpretation that this last case is not acceptable for redistribution. Therefore our package does not (and never will) ship or facilitate building a custom kernel where the ZoL ZFS driver is built-in in a monolithic binary, instead of built as an independent dynamic LKM. |title= Summary of ZFS on Linux for Debian (was: zfs-linux_0.6.2-1_amd64.changes REJECTED)|first=Aron |last=Xu |website=ZFS on Linux |date=2014-08-28 |access-date=2016-01-14}}</ref><ref>{{cite web|url=http://comments.gmane.org/gmane.linux.file-systems.zfs.user/18380 |title=Pkg-zfsonlinux-devel -zfs-linux_0.6.2-1_amd64.changes REJECTED |first=Paul Richards |last=Tagliamonte |quote=Our consensus was that this package appears to violate the spirit of the GPL at the minimum, and may cause legal problems. Judges often interpret documents as they're intended to read, hacks to comply with the letter but not the intent are not looked upon fondly. This may be a hard thing for technical folks to accept, but in legal cases, one usually isn't dealing with technical people. As such, this package has been rejected. |date=2014-08-26 |url-status=dead |archive-url=https://web.archive.org/web/20160222202909/http://comments.gmane.org/gmane.linux.file-systems.zfs.user/18380 |archive-date=2016-02-22 }}</ref> (but is distributed with ]) as the CDDL is considered incompatible with the GPL'ed Linux kernel, by the Free Software Foundation and some parties with relations with the FSF.<ref name="gpl-incompat" /><ref name="ZFS">{{cite web|url=https://lwn.net/Articles/611657/|title=Yao: The State of ZFS on Linux|date=2014-09-11|author=jake|website=LWN.net|publisher=Eklektix}}</ref> The legal interpretation—of if and when this combination constitutes a combined work or derivative work of the GPLed kernel—is ] and controversial.<ref>{{cite book |url=http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf |quote=In der Praxis ist stark unwritten, ob in Kernel module as 'derivative work' retracted warden muss. Die Auseinandersetzungen um Binär-Treiber für Linux warden it Heftiest geführt. Man word world night für sämtliche Kernel module in einheitliche Antwort find können: Wann in Kernel module von Linux »abgeleitet« ist, hängt stark von der Technische Umsetzung ab und Richter sick each den on dark leg ten Kriterien. Es exist even alluding much Kernelmodule, die älter and as Linux, two das Dateisystem AFS. Dort light es Auf der Hand, dass sie as functional eigenständig Anzu then send, da sie gear night »für Linux« GE Chr Eben sein können. |pages=70 |work=Ziffer 2 GPL |first=Till |last=Jaeger |title=Die GPL commenters und erklärt |publisher=Institut für Rechtsfragen der Freien und Open Source Software |date=2005-03-01 |access-date=2016-01-12 |isbn=3-89721-389-3 |language=de |archive-date=28 July 2011 |archive-url=https://web.archive.org/web/20110728092518/http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf |url-status=dead }}</ref> In 2015, the CDDL to GPL compatibility question reemerged when the ] ] announced that it would include ] by default.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-ZFS-Standard-Plans|title=Ubuntu Is Planning To Make The ZFS File-System A 'Standard' Offering|website=]|author-link=Michael Larabel|first=Michael|last=Larabel|date=2015-08-06}}</ref> In 2016, Ubuntu announced that a legal review resulted in the conclusion that it is legally safe to use ZFS as a binary ] in Linux.<ref>{{cite web|url=https://insights.ubuntu.com/2016/02/18/zfs-licensing-and-linux/|title=ZFS Licensing and Linux|website=Ubuntu Insights|publisher=Canonical|first=Dustin|last=Kirkland|date=2016-02-10}}</ref> Others accepted Ubuntu's conclusion; for instance lawyer James E.J. Bottomley argued "a convincing theory of harm" cannot be developed, making it impossible to bring the case to court.<ref>{{cite web|url=http://blog.hansenpartnership.com/are-gplv2-and-cddl-incompatible/|title=Are GPLv2 and CDDL incompatible?|website=James Bottomley's random Pages|first=James E.J.|last=Bottomley|quote=What the above analysis shows is that even though we presumed combination of GPLv2 and CDDL works to be a technical violation, there’s no way actually to prosecute such a violation because we can’t develop a convincing theory of harm resulting. Because this makes it impossible to take the case to court, effectively it must be concluded that the combination of GPLv2 and CDDL, provided you’re following a GPLv2 compliance regime for all the code, is allowable.|date=2016-02-23}}</ref>{{sps|certain=y|date=July 2016}} ], co-author of the ] and founder of the ], argued that while the letters of the GPL might be violated the spirit of both licenses is adhered to, which would be the relevant issue in court.<ref>{{cite web|url=https://softwarefreedom.org/resources/2016/linux-kernel-cddl.html|title=The Linux Kernel, CDDL and Related Issues|website=Software Freedom Law Center|first1=Eben|last1=Moglen|first2=Mishi|last2=Choudhary|date=2016-02-26}}</ref> On the other hand, ] and ], from the ], argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the Linux kernel, and announced their intent to achieve clarity in this question, even by going to court.<ref>{{cite web|url=https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/|title=GPL Violations Related to Combining ZFS and Linux|website=Software Freedom Conservancy|first1=Bradley M.|last1=Kuhn|first2=Karen M. |last2=Sandler |quote=Ultimately, various Courts in the world will have to rule on the more general question of Linux combinations. The conservancy is committed to working towards achieving clarity on these questions in the long term. That work began in earnest last year with the VMware lawsuit, and our work in this area will continue indefinitely, as resources permit. We must do so, because, too often, companies are complacent about compliance. While we and other community-driven organisations have historically avoided lawsuits at any cost in the past, the absence of litigation on these questions caused many companies to treat the GPL as a weaker copyleft than it actually is. Conservancy (as a Linux copyright holder ourselves),{{citation needed|date=March 2016}} along with the members of our coalition in the GPL Compliance Project for Linux Developers, all agree that Canonical and others infringe Linux copyrights when they distribute zfs.ko.|date=2016-02-25}}</ref> Another case where GPL compatibility is problematic is the ] licensed ] file system with the GPLv2 licensed ].<ref>{{cite web|url=http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue |title=2.2 What is the licensing concern? |website=zfsonlinux.com |url-status=dead |archive-url=https://web.archive.org/web/20100926104451/http://zfsonlinux.org/faq.html |archive-date=2010-09-26 }}</ref> Despite that both are free software under a copyleft license, ZFS is not distributed with most ]s like ]<ref>{{cite web|format=email message|url=http://list.zfsonlinux.org/pipermail/zfs-discuss/2014-August/018505.html |quote=Upstream ZoL project holds the view that in this case the combination of the two in the same binary would create a derived work, so this is not acceptable for redistribution. We accept the interpretation that this last case is not acceptable for redistribution. Therefore our package does not (and never will) ship or facilitate building a custom kernel where the ZoL ZFS driver is built-in in a monolithic binary, instead of built as an independent dynamic LKM. |title= Summary of ZFS on Linux for Debian (was: zfs-linux_0.6.2-1_amd64.changes REJECTED)|first=Aron |last=Xu |website=ZFS on Linux |date=2014-08-28 |access-date=2016-01-14}}</ref><ref>{{cite web|url=http://comments.gmane.org/gmane.linux.file-systems.zfs.user/18380 |title=Pkg-zfsonlinux-devel -zfs-linux_0.6.2-1_amd64.changes REJECTED |first=Paul Richards |last=Tagliamonte |quote=Our consensus was that this package appears to violate the spirit of the GPL at the minimum, and may cause legal problems. Judges often interpret documents as they're intended to read, hacks to comply with the letter but not the intent are not looked upon fondly. This may be a hard thing for technical folks to accept, but in legal cases, one usually isn't dealing with technical people. As such, this package has been rejected. |date=2014-08-26 |url-status=dead |archive-url=https://web.archive.org/web/20160222202909/http://comments.gmane.org/gmane.linux.file-systems.zfs.user/18380 |archive-date=2016-02-22 }}</ref> (but is distributed with ]) as the CDDL is considered incompatible with the GPL'ed Linux kernel, by the Free Software Foundation and some parties with relations with the FSF.<ref name="gpl-incompat" /><ref name="ZFS">{{cite web|url=https://lwn.net/Articles/611657/|title=Yao: The State of ZFS on Linux|date=2014-09-11|author=jake|website=LWN.net|publisher=Eklektix}}</ref> The legal interpretation—of if and when this combination constitutes a combined work or derivative work of the GPLed kernel—is ] and controversial.<ref>{{cite book |url=http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf |quote=In der Praxis ist stark unwritten, ob in Kernel module as 'derivative work' retracted warden muss. Die Auseinandersetzungen um Binär-Treiber für Linux warden it Heftiest geführt. Man word world night für sämtliche Kernel module in einheitliche Antwort find können: Wann in Kernel module von Linux »abgeleitet« ist, hängt stark von der Technische Umsetzung ab und Richter sick each den on dark leg ten Kriterien. Es exist even alluding much Kernelmodule, die älter and as Linux, two das Dateisystem AFS. Dort light es Auf der Hand, dass sie as functional eigenständig Anzu then send, da sie gear night »für Linux« GE Chr Eben sein können. |pages=70 |work=Ziffer 2 GPL |first=Till |last=Jaeger |title=Die GPL commenters und erklärt |publisher=Institut für Rechtsfragen der Freien und Open Source Software |date=2005-03-01 |access-date=2016-01-12 |isbn=3-89721-389-3 |language=de |archive-date=28 July 2011 |archive-url=https://web.archive.org/web/20110728092518/http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf |url-status=dead }}</ref> In 2015, the CDDL to GPL compatibility question reemerged when the ] ] announced that it would include ] by default.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-ZFS-Standard-Plans|title=Ubuntu Is Planning To Make The ZFS File-System A 'Standard' Offering|website=]|author-link=Michael Larabel|first=Michael|last=Larabel|date=2015-08-06}}</ref> In 2016, Ubuntu announced that a legal review resulted in the conclusion that it is legally safe to use ZFS as a binary ] in Linux.<ref>{{cite web|url=https://insights.ubuntu.com/2016/02/18/zfs-licensing-and-linux/|title=ZFS Licensing and Linux|website=Ubuntu Insights|publisher=Canonical|first=Dustin|last=Kirkland|date=2016-02-10}}</ref> Others accepted Ubuntu's conclusion; for instance lawyer James E.J. Bottomley argued "a convincing theory of harm" cannot be developed, making it impossible to bring the case to court.<ref>{{cite web|url=http://blog.hansenpartnership.com/are-gplv2-and-cddl-incompatible/|title=Are GPLv2 and CDDL incompatible?|website=James Bottomley's random Pages|first=James E.J.|last=Bottomley|quote=What the above analysis shows is that even though we presumed combination of GPLv2 and CDDL works to be a technical violation, there’s no way actually to prosecute such a violation because we can’t develop a convincing theory of harm resulting. Because this makes it impossible to take the case to court, effectively it must be concluded that the combination of GPLv2 and CDDL, provided you’re following a GPLv2 compliance regime for all the code, is allowable.|date=2016-02-23}}</ref>{{sps|certain=y|date=July 2016}} ], co-author of the ] and founder of the ], argued that while the letters of the GPL might be violated the spirit of both licenses is adhered to, which would be the relevant issue in court.<ref>{{cite web|url=https://softwarefreedom.org/resources/2016/linux-kernel-cddl.html|title=The Linux Kernel, CDDL and Related Issues|website=Software Freedom Law Center|first1=Eben|last1=Moglen|first2=Mishi|last2=Choudhary|date=2016-02-26}}</ref> On the other hand, ] and ], from the ], argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the Linux kernel, and announced their intent to achieve clarity in this question, even by going to court.<ref>{{cite web|url=https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/|title=GPL Violations Related to Combining ZFS and Linux|website=Software Freedom Conservancy|first1=Bradley M.|last1=Kuhn|first2=Karen M. |last2=Sandler |quote=Ultimately, various Courts in the world will have to rule on the more general question of Linux combinations. The conservancy is committed to working towards achieving clarity on these questions in the long term. That work began in earnest last year with the VMware lawsuit, and our work in this area will continue indefinitely, as resources permit. We must do so, because, too often, companies are complacent about compliance. While we and other community-driven organisations have historically avoided lawsuits at any cost in the past, the absence of litigation on these questions caused many companies to treat the GPL as a weaker copyleft than it actually is. Conservancy (as a Linux copyright holder ourselves),{{citation needed|date=March 2016}} along with the members of our coalition in the GPL Compliance Project for Linux Developers, all agree that Canonical and others infringe Linux copyrights when they distribute zfs.ko.|date=2016-02-25}}</ref>

Revision as of 09:08, 4 September 2023

Software issue

This article may contain citations that do not verify the text. Please check for citation inaccuracies. (October 2019) (Learn how and when to remove this message)

License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine source code from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into proprietary software. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are (with minor exceptions) compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.

Definitions

License compatibility can be defined around the concepts of "collective/combined/aggregated work" and "derivative work". The first "collective work" license compatibility definition allows the usage of variously-licensed works in a combined context:

the characteristic of two (or more) licenses according to which the codes distributed under these licenses may be put together in order to create a bigger distributable software.

— Philippe Laurent, The GPLv3 and Compatibility Issues, EOLE 2008

A stronger definition includes the capability to change the license. The most prominent example is the copyleft license's demand that the "derived work" combined from code under various licenses as whole is applied to the copyleft license.

License compatibility: The characteristic of a license according to which the code distributed under this license may be integrated into a bigger software that will be distributed under another license.

— Philippe Laurent, The GPLv3 and Compatibility Issues, EOLE 2008

Kinds of combined works

This section has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This section may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (August 2016) (Learn how and when to remove this message)
The neutrality of this section is disputed. Relevant discussion may be found on the talk page. Please do not remove this message until conditions to do so are met. (December 2015) (Learn how and when to remove this message)
This section possibly contains synthesis of material that does not verifiably mention or relate to the main topic. Relevant discussion may be found on the talk page. (September 2016) (Learn how and when to remove this message)
(Learn how and when to remove this message)
License compatibility for derived works and combined works of a developer's own code and externally developed open-source-licensed code (adapted from Välimäki 2005)

A combined work consists of multiple differently-licensed parts (avoiding relicensing). To achieve a combined work including copyleft licensed components (which have a viral property leading potentially to a derived work), proper isolation/separation needs to be maintained.

With individually licensed source code files, multiple non-reciprocal licenses (such as permissive licenses or own proprietary code) can be separated, while the combined compiled program could be re-licensed (but that is not required). Such source-code file separation is too weak for copyleft/reciprocal licenses (such as the GPL), as they then require the complete work to be re-licensed under the reciprocal license as being derivative.

A slightly stronger approach is to have separation at the linking stage with binary object code (static linking), where all the components of the resulting program are part of the same process and address space. This satisfies "weak copyleft/standard reciprocal" combined works (such as LGPL licensed ones), but not "strong copyleft/strong reciprocal" combined works. While it is commonly accepted that linking (static and even dynamic linking) constitutes a derivative of a strong copyleft'd work, there are alternate interpretations.

For combined works with "strong copyleft" modules, a stronger isolation is required. This can be achieved by separating the programs by an own process and allowing communication only via binary ABIs or other indirect means. Examples are Android's kernel space-to-user space separation via Bionic, or Linux distros which have proprietary binary blobs included despite having a strong copyleft kernel.

While for some domains agreement exists if an isolation is suitable, there are domains in dispute and up to now untested in court. For instance, in 2015 the SFC sued VMware in an ongoing dispute whether loadable kernel modules (LKM's) are derivative works of the GPL'd Linux kernel or not.

Compatibility of FOSS licenses

License compatibility between common FOSS software licenses according to David A. Wheeler (2007): the arrows denote a one directional compatibility, therefore better compatibility on the left side than on the right side.

Licenses common to free and open-source software (FOSS) are not necessarily compatible with each other, and this can make it legally impossible to mix (or link) open-source code if the components have different licenses. For example, software that combined code released under version 1.1 of the Mozilla Public License (MPL) with code under the GNU General Public License (GPL) could not be distributed without violating one of the terms of the licenses; this despite both licenses being approved by both the Open Source Initiative and the Free Software Foundation.

License compatibility between a copyleft license and another license is often only a one-way compatibility, making the copyleft license (GPL, and most other copyleft licenses) incompatible with proprietary commercial licenses, as well as with many non-proprietary licenses. This "one-way compatibility" characteristic has been criticized by the Apache Foundation, which licenses under the more permissive Apache license, such non-copyleft licenses being often less complicated and making for better license compatibility.

An example of a license that has excellent compatibility with other FOSS licenses is the Artistic License 2.0, due to its re-licensing clause which allows redistribution of the source code under any other FOSS license.

You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you do at least ONE of the following:

(c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under

(i) the Original License or

(ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.

The Common Development and Distribution License (CDDL)—a weak copyleft license in-between the GPL license and BSD/MIT permissive licenses—tries to address license compatibility problems by permitting, without re-licensing, the mixing of CDDL-licensed source-code files with source-code files under other licenses by providing that the resulting binary can be licensed and sold under a different license as long as the source code is still available under CDDL.

GPL compatibility

See also: GNU General Public License § Compatibility and multi-licensing

To minimize license proliferation and license incompatibilities in the FOSS ecosystem, some organizations (the Free Software Foundation, for instance) and individuals (David A. Wheeler), argue that compatibility with the widely used GPL is an important feature of software licenses. Many of the most common free-software licenses, especially the permissive licenses, such as the original MIT/X license, BSD licenses (in the three-clause and two-clause forms, though not the original four-clause form), MPL 2.0, and LGPL, are GPL-compatible. That is, their code can be combined with a program under the GPL without conflict, and the new combination would have the GPL applied to the whole (but the other license would not so apply).

Copyleft licenses and GPL

Copyleft software licenses are not inherently GPL-compatible; even the GPLv2 license by itself is not compatible with GPLv3 or LGPLv3. If a developer tried to combine code released under either of the later GPL licenses with GPLv2 code, that would violate section 6 of GPLv2, the source of the incompatibility. However, code under the later licenses can be combined with code licensed under GPL version 2 or later. Most software released under GPLv2 allow you to use the terms of later versions of the GPL as well, and some have exception clauses that allow combining them with software that is under different licenses or license versions. The Linux kernel is a notable exception that is distributed exclusively under the terms of GPLv2.

GFDL and GPL

The Free Software Foundation-recommended GNU Free Documentation License is incompatible with the GPL license, and text licensed under the GFDL cannot be incorporated into GPL software. Therefore, the Debian project decided, in a 2006 resolution, to license documentation under the GPL. The FLOSS Manuals foundation followed Debian in 2007. In 2009, the Wikimedia Foundation switched from the GFDL to a Creative Commons CC-BY-SA license as the main license for their projects.

RAILs and GPL

Responsible AI Licenses (or RAILs) are generally not compatible with the GPL. This is because RAILs include "use restrictions" that limit the ways users can make use of the materials licensed under RAILs, whereas the GPL prohibits such restrictions.

CDDL and GPL

Another case where GPL compatibility is problematic is the CDDL licensed ZFS file system with the GPLv2 licensed Linux kernel. Despite that both are free software under a copyleft license, ZFS is not distributed with most linux distros like Debian (but is distributed with FreeBSD) as the CDDL is considered incompatible with the GPL'ed Linux kernel, by the Free Software Foundation and some parties with relations with the FSF. The legal interpretation—of if and when this combination constitutes a combined work or derivative work of the GPLed kernel—is ambiguous and controversial. In 2015, the CDDL to GPL compatibility question reemerged when the linux distribution Ubuntu announced that it would include OpenZFS by default. In 2016, Ubuntu announced that a legal review resulted in the conclusion that it is legally safe to use ZFS as a binary kernel module in Linux. Others accepted Ubuntu's conclusion; for instance lawyer James E.J. Bottomley argued "a convincing theory of harm" cannot be developed, making it impossible to bring the case to court. Eben Moglen, co-author of the GPLv3 and founder of the SFLC, argued that while the letters of the GPL might be violated the spirit of both licenses is adhered to, which would be the relevant issue in court. On the other hand, Bradley M. Kuhn and Karen M. Sandler, from the Software Freedom Conservancy, argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the Linux kernel, and announced their intent to achieve clarity in this question, even by going to court.

CC BY-SA and GPLv3

On October 8, 2015, Creative Commons concluded that the CC BY-SA 4.0 is inbound compatible with the GPLv3.

Creative Commons license compatibility

The Creative Commons Licenses are widely used for content, but not all combinations of the seven recommended and supported licenses are compatible with each other. Additionally, this is often only a one-way directional compatibility, requiring a complete work to be licensed under the most restrictive license of the parent works.

License compatibility chart for combining or mixing two CC licensed works
Public Domain mark icon
CC0 icon
CC-BY icon CC-BY-SA icon CC-by-NC icon
CC-BY-NC-SA icon
CC-BY-NC-ND icon
CC-BY-ND icon
Public Domain mark icon
CC0 icon
Yes Yes Yes Yes No
CC-BY icon Yes Yes Yes Yes No
CC-BY-SA icon Yes Yes Yes No No
CC-by-NC icon
CC-BY-NC-SA icon
Yes Yes No Yes No
CC-BY-NC-ND icon
CC-BY-ND icon
No No No No No

JSON license

JSON developer Douglas Crockford, inspired by the words of then President Bush, formulated the "evil-doers" JSON license ("The Software shall be used for Good, not Evil.") This subjective and moral license clause led to license incompatibility problems with other open source licenses, and resulted in the JSON license not being a free and open-source license.

Re-licensing for compatibility

Main article: software relicensing

Sometimes projects wind up with incompatible licenses, and the only feasible way to solve it is the re-licensing of the incompatible parts. Re-licensing is achieved by contacting all involved developers and other parties and getting their agreement for the changed license. While in the free and open-source domain achieving 100% agreement is often impossible, due to the many contributors involved, the Mozilla re-licensing project assumes that achieving 95% is enough for the re-licensing of the complete code base. Others in the FOSS domain, such as Eric S. Raymond, came to different conclusions regarding the requirements for re-licensing of an entire code base.

Re-licensing examples

Main article: Software relicensing

An early example of a project that successfully re-licensed for license incompatibility reasons is the Mozilla project and their Firefox browser. The source code of Netscape's Communicator 4.0 browser was originally released in 1998 under the Netscape Public License/Mozilla Public License but was criticised by the Free Software Foundation (FSF) and OSI for being incompatible with the GNU General Public License (GPL). Around 2001 Time Warner, exercising its rights under the Netscape Public License, and at the request of the Mozilla Foundation, re-licensed all code in Mozilla that was under the Netscape Public License (including code by other contributors) to an MPL 1.1/GPL 2.0/LGPL 2.1 tri-license, thus achieving GPL-compatibility.

The Vorbis library was originally licensed as LGPL, but in 2001, with the endorsement of Richard Stallman, the license was changed to the less restrictive BSD license, to accelerate the library's adoption.

The VLC project has a complicated license history due to license incompatibility, and in 2007 the project decided, for license compatibility, to not upgrade to the just released GPLv3. In October 2011, after the VLC had been removed from the Apple App Store at the start of 2011, the VLC project re-licensed the VLC library, from the GPLv2 to the LGPLv2, to achieve better compatibility. In July 2013, the software re-licensed under the Mozilla Public License, the VLC application would then be resubmitted to the iOS App Store.

The Free Software Foundation's GNU Free Documentation License version 1.2 is not compatible with the widely used Creative Commons Attribution-ShareAlike license, which was a problem for Misplaced Pages, for instance. Therefore, at the request of the Wikimedia Foundation, the FSF added a time-limited section, to version 1.3 of the GFDL, that allowed specific types of websites using the GFDL to additionally offer their work under the CC BY-SA license. Following this, in June 2009, the Wikimedia Foundation migrated their projects (Misplaced Pages, etc.) by dual licensing to the Creative Commons Attribution-ShareAlike as its main license, in addition to the previously used GFDL, so as to have improved license compatibility with the greater free content ecosystem.

Another interesting case was Google's re-licensing of GPLv2-licensed Linux kernel header files to the BSD license for their Android library Bionic. Google claimed that the header files were clean of any copyright-able work, reducing them to non-copyrightable "facts", and thus not covered by the GPL. This interpretation was challenged by Raymond Nimmer, a law professor at the University of Houston Law Center. Apps and drivers of Android, which provide an increasing amount of Android's functionality, have been gradually relicensed from permissive to proprietary licenses.

In 2014, the FreeCAD project changed their license from GPL to LGPLv2, due to GPLv3/GPLv2 incompatibilities. Also in 2014, Gang Garrison 2 was re-licensed from GPLv3 to MPL for improved library compatibility.

The KaiOS mobile operating system was derived from the Firefox OS/Boot to Gecko operating system, which was released under the permissive MPL 2.0. It does not redistribute itself under the same license, so it is now presumably relicensed, and proprietary (but still mostly open-source). KaiOS also uses the GPL Linux kernel also used in Android.

See also

References

  1. O'Riordan, Ciaran (10 November 2006). "How GPLv4 tackles license proliferation". LinuxDevices.com. Archived from the original on 18 December 2007.
  2. Neary, Dave (15 February 2012). "Gray areas in software licensing". LWN.net. Eklektix. Retrieved 27 February 2016.
  3. "gnu.org". www.gnu.org.
  4. ^ Laurent, Philippe (24 September 2008). "The GPLv3 and compatibility issues" (PDF). European Open Source Lawyers Event 2008. European OpenSource & Free Software Law Event. Retrieved 30 May 2015.
  5. ^ Välimäki, Mikko (2005). The Rise of Open Source Licensing: A Challenge to the Use of Intellectual Property in the Software industry (Ph.D. thesis). Helsinki University of Technology. Retrieved 30 December 2015.
  6. Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., 964 F.2d 965, ¶10 (9th Cir. 21 May 1992).
  7. ^ "Frequently Asked Questions about version 2 of the GNU GPL". GNU Project. Free Software Foundation. 29 May 2015. What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication and the semantics of the communication . If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
  8. ^ "Frequently Asked Questions about the GNU Licenses". GNU Project. Free Software Foundation. 26 May 2016. 'Use a library' means linking .
  9. "The origins of Linux and the LGPL". FreeBSD Project. Remember that the GPL requires anything that statically links to any code under the GPL also be placed under the GPL.
  10. Torvalds, Linus (17 December 2006). "Re: GPL only modules" (email message). LKML.ORG - the Linux Kernel Mailing List Archive.
  11. Rosen, Lawrence (1 January 2003). "Derivative Works". Linux Journal.
  12. Troan, Larry (2005). "Open Source from a Proprietary Perspective" (PDF). Red Hat Summit 2006. Red Hat. Archived from the original (PDF) on 6 March 2016. Retrieved 29 December 2015.
  13. Williamson, Aaron (5 March 2015). "New Lawsuit Targets 'Shims' Between Linux and Proprietary Code". Tor Ekeland, P.C.
  14. "Conservancy Announces Funding for GPL Compliance Lawsuit". Software Freedom Conservancy. 5 March 2015.
  15. Wheeler, David A. (27 September 2007). "The Free-Libre / Open Source Software (FLOSS) License Slide". David A. Wheeler's Personal Home Page.
  16. Gordon, Thomas F. (15 June 2010). "Report on Problem Scope and Definition about OSS License Compatibility" (PDF). Qualipso.
  17. "MPL 1.1 FAQ - Historical Use Only". Mozilla. Retrieved 26 February 2012.
  18. "Open Source Initiative OSI - Mozilla Public License 1.1 (MPL-1.1) :Licensing". Open Source Initiative. Retrieved 26 February 2012.
  19. ^ "GPL-Incompatible Free Software Licenses". GNU Project. Free Software Foundation. 8 July 2016. Retrieved 26 February 2012.
  20. Bezroukov, Nikolai. "Comparative merits of GPL, BSD and Artistic licences (Critique of Viral Nature of GPL v.2 - or In Defense of Dual Licensing Idea)". Archived from the original on 22 December 2001. Viral property stimulates proliferation of licenses and contributes to the 'GPL-enforced nightmare' -- a situation when many other licenses are logically incompatible with the GPL and make life unnecessary difficult for developers working in the Linux environment (KDE is a good example here, Python is a less known example).
  21. Fogel, Karl. "The GPL and License Compatibility". Producing Open Source Software - How to Run a Successful Free Software Project. Retrieved 29 November 2015. The GPL and license compatibility - Because the primary goal of the GPL's authors is the promotion of free software, they deliberately crafted the license to make it impossible to mix GPLed code into proprietary programs. Any derivative work—that is, any work containing a nontrivial amount of GPLed code—must itself be distributed under the GPL. No additional restrictions may be placed on the redistribution of either the original work or a derivative work.
  22. "Apache License v2.0 and GPL compatibility". Apache Software Foundation. Retrieved 30 May 2015. Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.
  23. Hanwell, Marcus D. (28 January 2014). "Should I use a permissive license? Copyleft? Or something in the middle?". Opensource.com. Retrieved 30 May 2015. Permissive licensing simplifies things One reason the business world, and more and more developers , favor permissive licenses is in the simplicity of reuse. The license usually only pertains to the source code that is licensed and makes no attempt to infer any conditions upon any other component, and because of this there is no need to define what constitutes a derived work. I have also never seen a license compatibility chart for permissive licenses; it seems that they are all compatible.
  24. "Licence Compatibility". European Union Public Licence. Joinup. 11 June 2015. Archived from the original on 17 June 2015. Retrieved 30 May 2015. The licences for distributing free or open source software (FOSS) are divided in two families: permissive and copyleft. Permissive licences (BSD, MIT, X11, Apache, Zope) are generally compatible and interoperable with most other licences, tolerating to merge, combine or improve the covered code and to re-distribute it under many licences (including non-free or proprietary).
  25. "Interview with Allison Randal about Artistic License 2.0". The CPAN blog. Archived from the original on 5 September 2015.
  26. "Common Development and Distribution License (CDDL) Description and High-Level Summary of Changes". Sun Microsystems. Archived from the original on 14 February 2005.
  27. Tan, Aaron (14 September 2005). "McNealy: CDDL is 'best of both worlds'". ZDNet.
  28. "Common Development and Distribution License (CDDL-1.0)". tl;drLegal. FOSSA.
  29. Wheeler, David A. (16 February 2014). "Make Your Open Source Software GPL-Compatible. Or Else". David A. Wheeler's Personal Home Page.
  30. Chisnall, David (31 August 2009). "The Failure of the GPL". InformIT. Pearson Education. Retrieved 24 January 2016. The GPL places additional restrictions on the code, and therefore is incompatible. You can combine APSL, MPL, CDDL, Apache, and BSD-licensed code in the same project easily, but you can only combine one of these with GPLv2 code. Even the Free Software Foundation can't manage to get it right. Version 3 of the LGPL, for example, is incompatible with version 2 of the GPL. This has caused a problem recently for a few GNU library projects that wanted to move to LGPLv3 but were used by other projects that were GPLv2-only.
  31. Asay, Clark D. "The General Public License Version 3.0: Making or Breaking the Foss Movement". Michigan Telecommunications and Technology Law Review. 14 (2). The University of Michigan Law School.
  32. Landley, Rob. "CELF 2013 Toybox talk" (raw text). landley.net. Retrieved 21 August 2013. GPLv3 broke 'the' GPL into incompatible forks that can't share code.
  33. "GPL-Compatible Free Software Licenses". GNU Project. Free Software Foundation. 20 November 2014. Retrieved 29 December 2014.
  34. Torvalds, Linus. "COPYING". kernel.org. Retrieved 13 August 2013. Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.
  35. Linus Torvalds (8 September 2000). "Linux-2.4.0-test8". lkml.iu.edu. Retrieved 21 November 2015. The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit
  36. "Resolution: Why the GNU Free Documentation License is not suitable for Debian". Debian. 12 March 2006. Retrieved 20 May 2009.
  37. "License Change". 6 June 2007. Archived from the original on 28 February 2008. Retrieved 20 June 2009.
  38. ^ "Resolution:Licensing update approval". Wikimedia Foundation. 23 May 2009.
  39. ^ Linksvayer, Mike (22 June 2009). "Misplaced Pages + CC BY-SA = Free Culture Win!". Creative Commons.
  40. Contractor, Danish; McDuff, Daniel; Haines, Julia Katherine; Lee, Jenny; Hines, Christopher; Hecht, Brent; Vincent, Nicholas; Li, Hanlin (2022). "Behavioral Use Licensing for Responsible AI". 2022 ACM Conference on Fairness, Accountability, and Transparency. pp. 778–788. doi:10.1145/3531146.3533143. ISBN 9781450393522.
  41. "2.2 What is the licensing concern?". zfsonlinux.com. Archived from the original on 26 September 2010.
  42. Xu, Aron (28 August 2014). "[zfs-discuss] Summary of ZFS on Linux for Debian (was: zfs-linux_0.6.2-1_amd64.changes REJECTED)" (email message). ZFS on Linux. Retrieved 14 January 2016. Upstream ZoL project holds the view that in this case the combination of the two in the same binary would create a derived work, so this is not acceptable for redistribution. We accept the interpretation that this last case is not acceptable for redistribution. Therefore our package does not (and never will) ship or facilitate building a custom kernel where the ZoL ZFS driver is built-in in a monolithic binary, instead of built as an independent dynamic LKM.
  43. Tagliamonte, Paul Richards (26 August 2014). "Pkg-zfsonlinux-devel -zfs-linux_0.6.2-1_amd64.changes REJECTED". Archived from the original on 22 February 2016. Our consensus was that this package appears to violate the spirit of the GPL at the minimum, and may cause legal problems. Judges often interpret documents as they're intended to read, hacks to comply with the letter but not the intent are not looked upon fondly. This may be a hard thing for technical folks to accept, but in legal cases, one usually isn't dealing with technical people. As such, this package has been rejected.
  44. jake (11 September 2014). "Yao: The State of ZFS on Linux". LWN.net. Eklektix.
  45. Jaeger, Till (1 March 2005). Die GPL commenters und erklärt (PDF) (in German). Institut für Rechtsfragen der Freien und Open Source Software. p. 70. ISBN 3-89721-389-3. Archived from the original (PDF) on 28 July 2011. Retrieved 12 January 2016. In der Praxis ist stark unwritten, ob in Kernel module as 'derivative work' retracted warden muss. Die Auseinandersetzungen um Binär-Treiber für Linux warden it Heftiest geführt. Man word world night für sämtliche Kernel module in einheitliche Antwort find können: Wann in Kernel module von Linux »abgeleitet« ist, hängt stark von der Technische Umsetzung ab und Richter sick each den on dark leg ten Kriterien. Es exist even alluding much Kernelmodule, die älter and as Linux, two das Dateisystem AFS. Dort light es Auf der Hand, dass sie as functional eigenständig Anzu then send, da sie gear night »für Linux« GE Chr Eben sein können. {{cite book}}: |work= ignored (help)
  46. Larabel, Michael (6 August 2015). "Ubuntu Is Planning To Make The ZFS File-System A 'Standard' Offering". Phoronix.
  47. Kirkland, Dustin (10 February 2016). "ZFS Licensing and Linux". Ubuntu Insights. Canonical.
  48. Bottomley, James E.J. (23 February 2016). "Are GPLv2 and CDDL incompatible?". James Bottomley's random Pages. What the above analysis shows is that even though we presumed combination of GPLv2 and CDDL works to be a technical violation, there's no way actually to prosecute such a violation because we can't develop a convincing theory of harm resulting. Because this makes it impossible to take the case to court, effectively it must be concluded that the combination of GPLv2 and CDDL, provided you're following a GPLv2 compliance regime for all the code, is allowable.
  49. Moglen, Eben; Choudhary, Mishi (26 February 2016). "The Linux Kernel, CDDL and Related Issues". Software Freedom Law Center.
  50. Kuhn, Bradley M.; Sandler, Karen M. (25 February 2016). "GPL Violations Related to Combining ZFS and Linux". Software Freedom Conservancy. Ultimately, various Courts in the world will have to rule on the more general question of Linux combinations. The conservancy is committed to working towards achieving clarity on these questions in the long term. That work began in earnest last year with the VMware lawsuit, and our work in this area will continue indefinitely, as resources permit. We must do so, because, too often, companies are complacent about compliance. While we and other community-driven organisations have historically avoided lawsuits at any cost in the past, the absence of litigation on these questions caused many companies to treat the GPL as a weaker copyleft than it actually is. Conservancy (as a Linux copyright holder ourselves), along with the members of our coalition in the GPL Compliance Project for Linux Developers, all agree that Canonical and others infringe Linux copyrights when they distribute zfs.ko.
  51. "Compatible Licenses". Creative Commons. GPLv3: The GNU General Public License version 3 was declared a 'BY-SA–Compatible License' for version 4.0 on 8 October 2015. Note that compatibility with the GPLv3 is one-way only, which means you may license your contributions to adaptations of BY-SA 4.0 materials under GPLv3, but you may not license your contributions to adaptations of GPLv3 projects under BY-SA 4.0.
  52. "Frequently Asked Questions". Creative Commons. 14 July 2016. Retrieved 1 August 2016.
  53. Creative Commons licenses without a non-commercial or no-derivatives requirement, including public domain/CC0, are all cross-compatible. Non-commercial licenses are compatible with each other and with less restrictive licenses, except for Attribution-ShareAlike. No-derivatives licenses are not compatible with any license, including themselves.
  54. Apache and the JSON license on LWN.net by Jake Edge (November 30, 2016)
  55. JSON on gnu.org
  56. JSON License considered harmful by Tanguy Ortolo (09-03-2012)
  57. JSON License No on Fedoraproject.org
  58. O’Riordan, Ciaran (6 October 2006). "(About GPLv3) Can the Linux Kernel Relicense?". Free Software Foundation Europe. Retrieved 28 May 2015. Someone who works with many lawyers on free software copyright issues later told me that it is not necessary to get permission from 100% of the copyright holders. It would suffice if there was permission from the copyright holders of 95% of the source code and no objections from the holders of the other 5%. This, I'm told, is how Mozilla was able to re-license to the GPL in 2003 despite years of community contributions.
  59. Raymond, Eric Steven; Raymond, Catherine Olanich. "Licensing HOWTO". Retrieved 21 November 2015. Changing an existing license You can change the license on a piece of code under any of the following conditions: If you are the sole copyright holder If you are the sole registered copyright holder If you obtain the consent of all other copyright holders If no other copyright holder could be harmed by the change.
  60. "Netscape Public License FAQ". Mozilla. Archived from the original on 27 August 2015.
  61. "Licenses by Name". Open Source Initiative. Retrieved 27 August 2014.
  62. Stallman, Richard (14 December 2015). "On the Netscape Public License". GNU Project. Free Software Foundation.
  63. "Mozilla Re-licensing FAQ Version 1.1". Mozilla. 14 August 2007. Archived from the original on 13 May 2010. Some time ago mozilla.org announced its intent to seek re-licensing of Mozilla code under a new licensing scheme that would address perceived incompatibilities of the Mozilla Public License (MPL) with the GNU General Public License (GPL) and GNU Lesser General Public License (LGPL).
  64. Markham, Gervase (31 March 2006). "Re-licensing Complete". Hacking for Christ.
  65. Moffitt, Jack (26 February 2001). "[vorbis] Xiph.org announces Vorbis Beta 4 and the Xiph.org Foundation" (email message). Xiph.Org. With the Beta 4 release, the Ogg Vorbis libraries have moved to the BSD license. The change from LGPL to BSD was made to enable the use of Ogg Vorbis in all forms of software and hardware. Jack Moffitt says, 'We are changing the license in response to feedback from many parties. It has become clear to us that adoption of Ogg Vorbis will be accelerated even further by the use of a less restrictive license that is friendlier toward proprietary software and hardware systems. We want everyone to be able to use Ogg Vorbis.'
  66. Stallman, Richard (26 February 2001). "RMS on the Ogg Vorbis license" (email message). LWN.net.
  67. Denis-Courmont, Rémi. "VLC media player to remain under GNU GPL version 2". VideoLAN. Retrieved 21 November 2015. In 2001, VLC was released under the OSI-approved GNU General Public version 2, with the commonly-offered option to use 'any later version' thereof (though there was not any such later version at the time). Following the release by the Free Software Foundation (FSF) of the new version 3 of its GNU General Public License (GPL) on the 29th of June 2007, contributors to the VLC media player, and other software projects hosted at videolan.org, debated the possibility of updating the licensing terms for future version of the VLC media player and other hosted projects, to version 3 of the GPL. There is strong concern that these new additional requirements might not match the industrial and economic reality of our time, especially in the market of consumer electronics. It is our belief that changing our licensing terms to GPL version 3 would currently not be in the best interest of our community as a whole. Consequently, we plan to keep distributing future versions of VLC media player under the terms of the GPL version 2. we will continue to distribute the VLC media player source code under GPL 'version 2 or any later version' until further notice.
  68. Kempf, Jean-Baptiste (7 September 2011). "Changing the VLC engine license to LGPL". Retrieved 23 October 2011.
  69. Vaughan-Nichols, Steven J. (8 January 2011). "No GPL Apps for Apple's App Store". ZDNet. Retrieved 23 August 2011.
  70. Johnston, Casey (18 July 2013). "VLC media player returns to the iOS App Store after 30-month hiatus". Ars Technica. Retrieved 10 October 2013.
  71. Ménard, Delphine. "Why the Wikimedia projects should not use GFDL as a stand alone license for images". notablog.
  72. "GFDL v1.3 FAQ". GNU Project. Free Software Foundation. 12 April 2014. Retrieved 7 November 2011.
  73. Moeller, Erik (30 June 2009). "Licensing update rolled out in all Wikimedia wikis". Wikimedia Blog. Perhaps the most significant reason to choose CC-BY-SA as our primary content license was to be compatible with many of the other admirable endeavors out there to share and develop free knowledge.
  74. Metz, Cade (29 March 2011). "Google's 'clean' Linux headers: Are they really that dirty?". The Register.
  75. Proffitt, Brian (21 March 2011). "Android: Sued by Microsoft, not by Linux". ITworld. Microsoft launches new Android suit, Linus Torvalds' take on Linux kernel headers and Android
  76. Nimmer, Raymond (2011). "Infringement and disclosure risk in development on copyleft platforms". Contemporary Intellectual Property, Licensing & Information Law. Archived from the original on 7 January 2016.
  77. Amadeo, Ron (21 July 2018). "Google's iron grip on Android: Controlling open source by any means necessary". Ars Technica.
  78. Prokoudine, Alexandre (27 December 2012). "LibreDWG drama: the end or the new beginning?". Libre Graphics World. Archived from the original on 9 November 2016. Retrieved 23 August 2013. the unfortunate situation with support for DWG files in free CAD software via LibreDWG. We feel, by now it ought to be closed. We have the final answer from FSF. 'We are not going to change the license.'
  79. "License". FreeCAD. Retrieved 25 March 2015. Licences used in FreeCAD - FreeCAD uses two different licenses, one for the application itself, and one for the documentation: Lesser General Public Licence, version 2 or superior (LGPL2+) Open Publication Licence
  80. "License.txt". Gang-Garrison-2. GitHub. 9 November 2014. Retrieved 23 March 2015.
  81. MedO (23 August 2014). "Planned license change (GPL -> MPL), Help needed" (forum post). Gang Garrison 2 Forums. Retrieved 23 March 2015. tl;dr: The current license prevents us from using certain nice and (cost-)free libraries / frameworks, so we want to change it. The new license (MPL) would be strictly more free than the old one, and is the same one that's also used by Firefox.
  82. "Can I access the source code? : KaiOS". Support.kaiostech.com.
  83. "KaiOS/B2G repository". GitHub. 3 June 2021.
  84. "KaiOS is doing well in India, but it's pulling some big numbers in US too". Android Authority. 1 March 2019.

External links

Categories: