Changes

Jump to navigation Jump to search

Licensing

9,432 bytes added, 20:44, 6 October 2022
Open-core software
===Public domain===
Based on the original design of a When copyright, was originally implemented in law in the time that a creative work stays protected should be finite; that iscommonwealth, it should expire. Say the protection of was only supposed to protect a copyright originally lasted given work for fourteen years from the date it was originally conceived in the commonwealth. After those fourteen yearsthat term, when the copyright "expires", would expire and the work becomes would enter the '''public domain''' (this is done to incentivize further creation of works). Long-running companies want In the United States however, the copyright term has been extended numerous times to continue profiting off keep works under the control of old workthe rights holders, which are usually not the original creators since the term is now so they often set precedents in modern law that extend this time to as long as ''one hundred (95 years'' for example) they would have died. In many western countries, Entertainment companies have a love-hate relationship with the public domain, willfully using works that are under it while preventing their own creative works from being "misused".
==Legality of emulation==
Mainly as In the United States, the Ninth District Court ruled in favor of emulation several times. They originally established the legality of competing software products in [https://www.courtlistener.com/opinion/593285/sega-enterprises-ltd-a-japanese-corporation-v-accolade-inc-a result / Sega v. Accolade], which was about console-compatible cartridges having to make use of two United States landmark casesa trademark they were not licensed to use. In that case, they found Sega at fault for misusing their trademark to limit competition. The code to use it is was considered functional in nature and could not be considered legal to reverse engineer copyrighted if it granted Accolade's cartridges access and emulate any thus interoperability. Reproducing the functionality of a systemis a matter of ''patent'' law, not copyright. More specifically <blockquote>''"If disassembly of copyrighted object code is per se an unfair use, there was the owner of the copyright gains a ruling meant de facto monopoly over the functional aspects of his work--aspects that were expressly denied copyright protection by Congress. '''In order to allow commercial emulators to profitenjoy a lawful monopoly over the idea or functional principle underlying a work, the creator of the work must satisfy the more stringent standards imposed by the patent laws. Sega does not hold a patent on the Genesis console. Two commercial ['''"''</blockquote> A key distinction about competition as a matter of copyright law said: <blockquote>''"[PlaystationAn]] emulators: [attempt to monopolize the market by making it impossible for others to compete runs counter to the statutory purpose of promoting creative expression and cannot constitute a strong equitable basis for resisting the invocation of the fair use doctrine."''</blockquote> These two factors were similarly upheld in [wikipediahttps:Bleem!|Bleem//www.courtlistener.com/opinion/767633/sony-computer-entertainment-inc-a-japanese-corporation-sony-computer/ Sony v. Connectix], which was about the researching of the PlayStation's BIOS to create an emulator that didn't need one. <blockquote>''"[Because] the Virtual Game Station is transformative, and [[wikipedia:Connectix_Virtual_Game_Station|Connectix does not merely supplant the PlayStation console, the Virtual Game Stationis a legitimate competitor in the market for platforms on which Sony and Sony-licensed games can be played. [...]] allowed Sony understandably seeks control over the ability to market for devices that play ps1 games Sony produces or licenses. The copyright law, however, does not confer such a monopoly."''</blockquote> <blockquote>''"If Sony wishes to obtain a lawful monopoly on pcthe functional concepts in its software, something it must satisfy the more stringent standards of the patent laws. This Sony has not done."''</blockquote> Shortly after this decision, the [https://www.courtlistener.com/opinion/768996/sony-computer-entertainment-america-inc-a-delaware-corporation-v-bleem/ Sony v. Bleem] case evaluated whether using video game screenshots to market the emulator was considered copyright infringement. Bleem's use was considered fair, as the screenshots were beneficial in helping users understand the emulator being compatible with the games themselves. <blockquote>''"Although Bleem is most certainly copying Sony didn't like s copyrighted material for the sound commercial purposes ofincreasing its own sales, and were sued by such comparative advertising redounds greatly to the purchasing public's benefit with very little corresponding loss to the integrity of Sony's copyrighted material."''</blockquote> Additionally, the perceived market impact that using the screenshots would have on Sony was considered a non-issue. <blockquote>''"Bleem's use of a handful of screen shots in its advertising will have no noticeable effect on Sony's ability to do with its screen shots what it chooses. If sales of Sony around consoles drop, it will be due to the early 2000Bleem emulator'stechnical superiority over the PlayStation console, not because Bleem used screen shots to illustrate that comparison. "''</blockquote> The results led caveat was that, had it been possible to modern legal standards regarding emulation as of todayavoid it, Bleem should've done so.  <!--blockquote>''"We are persuaded by the need fact checkfor Bleem to impose minimally upon Sony's copyright with respect to these screen shots because there is no other way to create a truly accurate comparison for the user."''</source--blockquote>
==Free and open-source software==
The fundamental concept of free and open source software is an inversion of the regular practice of software developers selling binary code to consumers and businesses. The [[source code]] that goes into developing commercial software isn't open to the public because releasing it would give others a competitive advantage and allow unauthorized ports. This is what is known as proprietary software, named such because it often has a proprietor (i.e. an owner). With free and open source software however, the source is open (hence the term open source) and available to others to use, study, modify, and share, to ensure that a user always has access to these tools. The Linux kernel is at the forefront of the movement, as it is the most active open-source project. (It's not the most widely-recognized, however; that would probably be Android and VLC Media Player.)
The benefit of software being open is that they're easier to port to other platforms by virtue of being open (though that says nothing about the effort required to get it working without bugs). Many of the [[Recommended Emulators|best emulators]] use an open source license, though not all of them do.
===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's has remained one of the strongest 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 1991code, 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 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 software]] 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 doesn't grant trademark use. ==Source-available software==This is a term typically used to refer to software which doesn't strictly count as FLOSS, even though the source code is readily available to the public. Two of the most common subcategories are: ===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.g. the sale of software and/or hardware 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 disqualifies the software in 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> <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 proprietary payware package (even though this would also prohibits trademark be a flagrant violation of copyleft licenses like the GPLv3) 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's just running a free emulator on their PC for their own use. 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 real hardware, ''might'' be exceptions to this, but that's where it gets pretty murky from a legal standpoint. However, ''developers'' of emulators must take extra precaution when working with code from a non-commercial emulator. As it is by definition not free software, the code is incompatible with the GPL, and the developer must take care not 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 newest MAME versions, but are forbidden from including GPL MAME code. It has also been argued by some that RetroArch's ability to auto-download non-commercial cores is a license violation, as RetroArch is GPL-licensed and makes profit via Patreon. ===Open-core software===Sometimes developers choose not to release the entire source code for their projects, and instead only allow the source code to partially be made public. Usually, the core functionality of the program is what gets released under compatible licensing terms (at best, a non-copyleft FLOSS license) while certain bells and whistles remain closed-source, hence the term "open core". While there's some debate as to whether the stripped-down, fully source-available versions of these programs could count as FLOSS, the model as a whole is undoubtedly not fully in keeping with the ideals of the open-source movement, and it's often considered a compromise model that allows outside contributions and/or code reuse while still making it viable to sell the software for profit. This model is pretty rare for emulation software, and not actually that common in the broader software world either; one of the most notable examples is [https://about.gitlab.com/ GitLab], whose developers offer a paid Enterprise Edition with some additional business-focused features compared to the freely available core code in the Community Edition.
==CLA (Contributor License Agreement)==
Anonymous user

Navigation menu