Changes

Jump to navigation Jump to search

Licensing

3,019 bytes added, 18:49, 29 June 2022
Open-core software
===GPL===
The GNU General Public License (GNU GPL or just GPL) is one of the most popular open-source licenses in the free software community, and for good reason; it has remained one of the strongest copy-left copyleft licenses, requiring users to share their contributions (some might say to an insane degree).
The To use GPL has two widespread versions; version 2 (written in 1991) code, the safest and version 3 (written in 2007). No one talks about version 1 (1989). The GPL3 was meant easiest way to reconcile avoid a license compatibility, address software patents, license violations, nullifying [[wikipedia:Digital_rights_management|DRM]] by calling violation is to keep the repository for it an ineffective technological measure, and out in the big one; [[wikipedia:Tivoization|Tivoization]], which was a severe flaw they completely missed when drafting open. The lack of any release demonstrates ill will among the first two versions that allowed Tivo to make use many business users of GPL2 open source software by sharing its code while preventing unsigned firmware from being loaded who usually have "playing fair with the community" on the hardwarelower end of their priorities. The GPL3 prohibits this, which proved to have major problems when Hyperkin tried to incorporate benefit of having just the GPL3-licensed [[RetroArch]] repo in the [[Retron5]] (among other violations)open is that software itself usually has a mechanism to display the software version, and even slight knowledge of repository traversal and compiler tools should allow users to reproduce their own version.
====LGPL and AGPL====The GPL As it is not the only license that chief representative of the Free Software Foundation created; because strong copyleft licenses, the GPL2 ended up being overly restrictive in how software could work with it, many open-source libraries needed a less strict license to allow interoperability with commercial softwareGPL carries misconceptions about the expectations around its use.
This ended up being solved in two ways; * The license says nothing about having to make the linking exception found in GNU Classpathprocess of compiling builds easy, only that it has to be ''possible's GPL2 '.* The license allowed it also says nothing against commercial distribution of any kind (as is explained later for non-commercial licenses). If you had to not affect make the software source code available, you could charge some arbitrary amount for it . Doing that would still be bundled in, and the Lesser GPLleaps above having nothing to show, which is an entire license that was made to make this aspect clearer rather than be an exceptionusually what happens.
The GPL also doesn't account has two widespread versions; version 2 (written in 1991) and version 3 (written in 2007). The GPL3 was only written to reconcile issues that had come up with the GPL2 in the years after it was written, as the Free Software Foundation had a considerable amount of foresight, but not enough to imagine what would happen if a company used GPL software in a product where users could not flash their own firmware. This has become the central point of contention with [[Emulation Boxes]], where hardware designers are constantly at odds with hobbyists who want to increase the functionality of their systems. ====LGPL====The GPL2 was an adequate license for software projects that compiled all of their code into a single binary. However, if the license is used exclusively for consumera <abbr title="Collections of specific routines or functions in a single file to be used by other software instead of being run directly. You may know them on Windows as Dynamic-facing serversLink Libraries, or DLLs.">code library</abbr> that requires some intermediary application, so said app becomes bound to the terms of the Affero GPL . This is a consequence of its broad reach. The FSF's original response was made to require web app developers create a "linking exception" in GNU Classpath's GPL2 license that allowed it to be used in proprietary software without having to share the whole program's source (the lack of said exception would've made it unfeasible to use in Java software). Later on, they created a much clearer variation of this exception as a separate license called the Lesser GPL (LGPL). This means code of their app that bundles and uses an LGPL library only needs to users over keep ''the library itself'' open, not the networkcode that interfaces with it.
===BSD===
The third clause (about advertising) ended up being controversial and was left out of newer licenses, resulting in the familiar three-clause BSD license. FreeBSD and NetBSD removed the fourth clause as basically no one violated that clause, and OpenBSD used a version of the license that details the first two clauses in one paragraph instead of listing them in asterisked bullets. The fact that the licenses are so permissive allowed Sony and Nintendo to use FreeBSD in the PS3, the PS4, and the Switch without having to share the source code.
The conditions in the BSD license are easy to modify, which makes it an attractive target for those wanting to include the prohibition of commercial use (see [[#Non-commercial licensessoftware]] below). [https://github.com/mamedev/historic-mame/blob/master/docs/license.txt The old MAME license] (and by extension [https://github.com/barry65536/FBAlpha/blob/master/src/license.txt FinalBurn Alpha] and [https://github.com/finalburnneo/FBNeo/blob/master/src/license.txt FinalBurn Neo]) is based off of (or was heavily influenced by) this license, which ended up causing a ton of problems in recent times, notably when a libretro port of MAME tried to backport GPL code into old-licensed code, and when the Capcom Home Arcade [[Emulation Boxes|emulation box]] was said to use FinalBurn Alpha ahead of its release (despite its creators not getting permission from all of FBA's developers).
===Apache===
* It's not as permissive as the BSD because it still requires companies to state any changes they made.
* It's not as strict as the GPL because it also prohibits doesn't grant trademark use.
===NonSource-commercial licenses=available software==Some ostensibly "free and open-source" software licenses include, or can be modified This is a term typically used to include, an extra provision that's designed to prevent the software from being used for any commercial purposes, e.g. the sale of software and/or hardware refer to turn a profit. Since this is a fairly explicit example of restricting who can use a piece of software and for what purpose, it technically which doesn'''disqualifies the software in question from being considered t strictly count as FLOSS''', even if the developer still makes though the source code is readily available to the public.Two of the most common subcategories are:
The Free Software Foundation explains [https://www===Non-commercial software===Some ostensibly "free and open-source" software licenses include, or can be modified to include, an extra provision designed to prevent the software from being used for commercial purposes of a specific nature or of any kind, e.gnug.org/philosophythe sale of software and/free-swor hardware to turn a profit.html#selling here], as part Since this is a fairly explicit example of restricting who can use a piece of their "What is free software" page:<blockquote>and for what purpose, '''Free it disqualifies the software ''can'' be commercialin question from being considered FLOSS''':
<blockquote>''&ldquo;"Free software" does not mean "noncommercial". On the contrary, a free program must be available for commercial use, commercial development, and commercial distribution. This policy is of fundamental importance&mdash;without this, free software could not achieve its aims. [...] We must conclude that a program licensed with such restrictions does not qualify as free software.&rdquo;''<br/>&ndash;[https://www.gnu.org/philosophy/free-sw.html#selling The Free Software Foundation]
</blockquote>
The Open Source Initiative also explains why non-commercial licensing goes [https://opensource.org/osd against the very definition of "open source"]:
<blockquote>
''&ldquo;The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.&rdquo;''<br/>&ndash;[https://opensource.org/osd Open Source Initiative]</blockquote> Despite this, non-commercial licenses have long been seen as a desirable or even essential option by some emulator developers, either to specifically pre-empt others from bundling their code into a payware package (even though this would also be a flagrant violation of the GPL3) or using it in a pre-built [[Emulation Boxes|emulation box]] without their explicit permission, or because they simply haven't considered the possibility of any more legitimate commercial use cases for their projects. Or sometimes they do it out of caution that the original hardware manufacturer could take them to court, despite the fact that [[#Legality of emulation|the manufacturer's only grounds to stand on is whether the underlying technology behind a console is patented]]. Whatever reason the dev gives for a non-commercial clause in the software license, it ''should'' be of no consequence to the average end user who'6s just running a free emulator on their PC for their own use. No Discrimination Against Fields Some specific circumstances, such as a developer who's making a brand new commercial game for an old system and using an emulator to test it in lieu of Endeavorreal hardware, ''might''be exceptions to this, but that's where it gets pretty murky from a legal standpoint.
The license However, ''developers'' of emulators must not restrict anyone take extra precaution when working with code from making use of the program in a specific field of endeavornon-commercial emulator. For exampleAs it is by definition not free software, the code is incompatible with the GPL, it may and the developer must take care not restrict to mix GPL and non-commercial code. One example where this becomes relevant is with forks of old versions of MAME prior to its re-licensing to open-source. These forks can incorporate BSD code from the program newest MAME versions, but are forbidden from being used in including GPL MAME code. It has also been argued by some that RetroArch's ability to auto-download non-commercial cores is a businesslicense violation, or from being used for genetic researchas RetroArch is GPL-licensed and makes profit via Patreon.</blockquote>
That being said, some emulator ===Open-core software===Sometimes developers will still see non-commercial licensing as a desirable or even essential option, either choose not to specifically pre-empt others from bundling their release the entire source code into a payware package (even though this would also be a flagrant violation of most FLOSS licenses) or using it in a pre-built [[Emulation Boxes|emulation box]] without for their explicit permissionprojects, or because they simply havenand instead only allow public access to ''some''t considered of the possibility of any more legitimate commercial use cases for their projectssource code while keeping ''other'' parts closed-source. Or sometimes they might just be scared Usually, the core functionality of the original hardware owners coming after them program is what becomes source-available while certain bells and they see whistles remain proprietary, hence the non-commercial clause as an easy way to say, term "open core"hey. This model is pretty rare for emulation software; one notable example in the broader software world is seen with [https://about.gitlab.com/ the GitLab project], we're not trying where the GitLab developers offer a paid Enterprise Edition with some additional business-focused features compared to profit off of this, please don't sue us"the freely available core code in the Community Edition.
Whatever reason While there's some debate as to whether the dev gives for stripped-down, fully source-available versions of these programs could count as FLOSS, the model as a non-commercial clause whole is undoubtedly not fully in keeping with the software license, it ''should'' be ideals of no consequence to the average end user who's just running a free emulator on their PC for their own use. Some specific circumstancesopen-source movement, such as a developer whoand it's making often considered a brand new commercial game for an old system compromise model that allows outside contributions and using an emulator to test /or code reuse while still making it in lieu of real hardware, ''might'' be exceptions viable to this, but that's where it admittedly gets pretty murky from a legal standpointsell the software for profit.
==CLA (Contributor License Agreement)==
Anonymous user

Navigation menu