Editing Licensing

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 113: Line 113:
  
 
==Source-available software==
 
==Source-available software==
While this term can technically apply to open-source software, it's more typically used to distinguish software that is '''not''' considered open-source even though the source code is publicly available. Two of the most common subcategories are:
+
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===
 
===Non-commercial software===
Line 127: Line 127:
 
</blockquote>
 
</blockquote>
  
Despite this, non-commercial licenses have long been seen as a desirable or even essential option by some emulator developers for a multitude of reasons. One commonly given reason is to specifically pre-empt others from bundling their code into a proprietary payware package (even though this would also 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. There are also some devs who prefer to explicitly denote their emulators as "non-commercial software" because they're concerned about the original hardware manufacturer taking 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]].
+
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 typical emulator end-user who just wants to play console games on their PC. 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.
+
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===
 
===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.
+
Sometimes developers choose not to release the entire source code for their projects, and instead only allow public access to ''some'' of the source code while keeping ''other'' parts closed-source. Usually, the core functionality of the program is what becomes source-available while certain bells and whistles remain proprietary, hence the term "open core". One notable example of this model is seen with [https://about.gitlab.com/ the GitLab project], where the GitLab developers offer a paid Enterprise Edition with a few extra features compared to the freely available core code in the Community Edition.
  
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.
+
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 generally considered a compromise between wanting to sell the software and wanting to allow outside contribution and/or code reuse.
  
 
==CLA (Contributor License Agreement)==
 
==CLA (Contributor License Agreement)==
Line 150: Line 148:
 
todo: answer questions like "can a license be revoked after it has been put in place?" and "is it possible to sell open-source software?"
 
todo: answer questions like "can a license be revoked after it has been put in place?" and "is it possible to sell open-source software?"
 
-->
 
-->
 
==See also==
 
*[[Legal Status of Emulation]]
 
 
 
[[Category:FAQs]]
 
[[Category:FAQs]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: