Difference between pages "Emulators on J2ME" and "Licensing"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(External links)
(Tags: Mobile edit, Mobile web edit)
 
(Non-commercial licenses)
 
Line 1: Line 1:
{{stub}}
+
{{WIP}}
{{Infobox console
+
[[Source code]] is copyrightable, which means a programmer owns the code they write. How they aim to publish it is up to them, and many licenses assist in this process.<!--
|title = J2ME
 
|logo = J2ME.png
 
|logowidth = 220px
 
|developer = [[wikipedia: Oracle Corporation|Oracle Corporation]]
 
|design by = [[wikipedia: Sun Microsystems|Sun MicroSystems]]
 
|type = Cellphone
 
|generation = [[:Category:Seventh-generation video game consoles|7th generation]]
 
|release = 28 April 2000
 
|discontinued = 2008
 
|emulated = {{✓}}
 
}}
 
The '''[[wikipedia:Java Platform, Micro Edition|Java 2 Micro Edition]]''' (J2ME) is a 7th-generation Cellphone design by '''[[wikipedia:Sun Microsystems|Sun MicroSystems]]''' J2ME started with CLDC (Connected Limited Device Configuration) which was placed under JSR 30: [https://www.jcp.org/en/jsr/detail?id=30 jcp.org] of which the first release was April 28, 2000 and Acquired by '''[[wikipedia: Oracle Corporation|Oracle Corporation]]''' in 2010; the platform replaced a similar technology, PersonalJava. Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME. Then on April 30, 2014, CLDC 8 (JSR 360) came out (which is what SquirrelJME implements) but by then nobody took up anything Java ME (formerly J2ME) anymore so nothing ever used it apart from development and evaluation systems.
 
  
==Emulators==
+
A copyright license is a legal document that tells people how the software can be used and what limitations come with using it.-->
  
==Nintendo==
+
==Intellectual property law==
 +
Intellectual property is a mouthful, but it refers to the ownership of things (thoughts, ideas, etc.) by nature of originality. Three big fields of intellectual property law include; ''copyright'', ''patents'', and ''trademarks'', which all encompass different types of works.
  
===GameBoy Advance===
+
;Copyright: Creative works.
 +
An author creates a work (sometimes called a work of art but that's misleading because it assumes everything that can be copyrighted is art), and then licenses this work to others for reproduction. Is designed to be granted as soon as the work is created, unlike the other two.
  
{| class="wikitable" style="text-align:center;"
+
;Patents:System design and inventions.
! Name
+
An author designs a system (an invention), and then describes it in detail for others to implement. This is usually something you register at an agency (such as the United States Patent and Trademark Office if you live in the United States).
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| GBA_J2ME
 
| [http://oldfag.top/downloads/?act=view&id=168 1.0]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JGBA
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| iGBA
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| YGBA+
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
===GameBoy Color===
+
;Trademarks:Names and brands.
 +
An author comes up with a name that identifies their products, and ensures that nobody else in the same industry can use it. This is usually something you register at an agency (such as the United States Patent and Trademark Office if you live in the United States).
  
{| class="wikitable" style="text-align:center;"
+
===Legal entities===
! Name
+
The owner of intellectual property doesn't have to be a person; if an employee does any kind of IP-related work for a company, then the company may retain control of it depending on the terms they've set up with said employee through contracts. That contract may also contain clauses preventing the employee from speaking publicly about the work that goes on inside, since trade secrets are considered valuable. This is often called a non-disclosure agreement (NDA).
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| CuteBoy
 
| [http://cuteboy.sourceforge.net 0.2]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| GB4ME
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| GameBoyjava
 
| [http://cbn.narod.ru/English.htm]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JavaBoy
 
| [https://github.com/chijure/JavaBoy git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JavaGB (JMEBoy)
 
| [https://sourceforge.net/projects/javagb/files/jmeBoy/JMEBoy%201.5.3 1.5.3]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MjavaBoy
 
| [https://web.archive.org/web/20160818222612/http://mjavaboy.latinowebs.com/index.html#Descargas 0.017]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MGB
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MeBoy
 
| [http://www.arktos.se/meboy/download.php 1.6][https://github.com/chijure/meboy git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MeBoy-Asha
 
| [https://github.com/Summeli/MeBoy-Asha git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MeBoy-F
 
| [https://web.archive.org/web/20100314135305/http://kfyatek-dev.jogger.pl/2010/03/06/meboy-f-2-2 2.2]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MiniBoy
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
===NES===
+
===Public domain===
 +
Based on the original design of a copyright, the time that a creative work stays protected should be finite; that is, it should expire. Say the protection of a copyright originally lasted fourteen years from the date it was originally conceived in the commonwealth. After those fourteen years, when the copyright "expires", the work becomes '''public domain''' (this is done to incentivize further creation of works). Long-running companies want to continue profiting off of old work, so they often set precedents in modern law that extend this time to as long as ''one hundred years'' for example. In many western countries, 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.
  
{| class="wikitable" style="text-align:center;"
+
==Legality of emulation==
! Name
+
Mainly as a result of two United States landmark cases, it is considered legal to reverse engineer and emulate any system. More specifically, there were rulings which allowed commercial emulators to profit. Two commercial [[Playstation]] emulators: [[wikipedia:Bleem!|Bleem]] and [[wikipedia:Connectix_Virtual_Game_Station|Connectix Virtual Game Station]] allowed the ability to play ps1 games on pc, something Sony didn't like the sound of, and were sued by Sony around the early 2000's. The results led to modern legal standards regarding emulation as of today.  <!--need fact check/source-->
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| Jamicom
 
| [http://genergabasa.php0h.com/upload.php?i=1 2007]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MFC
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| NESx65
 
| [http://cbn.narod.ru/English.htm 2013]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| NESx75
 
| [http://cbn.narod.ru/English.htm 2013][http://emul.lark.ru/dendy/str/75.html alt]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Nescube
 
| [https://phoneky.com/games/?s=download&id=j4j67064 3.2]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| vNES
 
| [https://web.archive.org/web/20061202055857/http://www.vampent.com:80/files/vNesJ2ME.zip 1.2][http://emul.lark.ru/dendy/emu/vnes.html alt]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| NESGo
 
| [https://sourceforge.net/p/nesgo/code/HEAD/tree Source]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
===SNES===
+
==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.)
  
{| class="wikitable" style="text-align:center;"
+
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.
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| J2MESnes
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JSNES
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==SEGA==
+
===Definition===
 +
The meaning of open-source is usually lost on those who aren't familiar with it, but institutes and organizations have defined what it means for clarity's sake. Essentially, a program is considered open-source (or if you're a GNU advocate, free software) when it grants the four freedoms, that it can be:
  
===GameGear/MasterSystem===
+
# run at any time.
 +
# studied and modified for any purpose.
 +
# distributed to anyone, and
 +
# improved by anyone.
  
{| class="wikitable" style="text-align:center;"
+
There's also copyleft, which is a play on copyright that inverts its goal of consolidating ownership to one entity and preventing others from having it, by ensuring that the ownership is largely in the public and no one can't have it. The copyleft strength of a license depends on how strict it is about keeping things open; weaker copyleft licenses require attribution but not much else, while stronger ones require the source to be available by any means necessary. The GPL is an example of a strong copyleft license; the BSD and MIT licenses are examples of a weak one, which makes it a frequent point of contention in the community which is better. Essentially, it's the difference between Creative Commons' Attribution and Attribution-ShareAlike license. One is the all familiar royalty-free license used by renowned composer Kevin MacLeod, the other is one of two licenses used by Wikipedia (they dual-license it under the <abbr title="GNU Free Documentation License">GFDL</abbr> too).
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| JavaGear ME
 
| [https://ww.riskyjatt.com/JavaGear_ME_v.0.91.jar~Emulators~Sony-Ericsson(K600,-750,-W550,-700.8-x0,-V,-Z800-(176-x-220))~New_Mix_Software-(New)~Mobile-Software-d.html 0.91][https://spac1.net/files/view/javagearme-accurate-452485 alt]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Minisega
 
| [https://seclub.org/forum/posts/156322 Demo]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Microsoft==
+
===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 licenses, requiring users to share their contributions (some might say to an insane degree).
  
===MSX===
+
The GPL has two widespread versions; version 2 (written in 1991) and version 3 (written in 2007). No one talks about version 1 (1989). The GPL3 was meant to reconcile license compatibility, address software patents, license violations, nullifying [[wikipedia:Digital_rights_management|DRM]] by calling it an ineffective technological measure, and the big one; [[wikipedia:Tivoization|Tivoization]], which was a severe flaw they completely missed when drafting the first two versions that allowed Tivo to make use of GPL2 software by sharing its code while preventing unsigned firmware from being loaded on the hardware. The GPL3 prohibits this, which proved to have major problems when Hyperkin tried to incorporate the GPL3-licensed [[RetroArch]] in the [[Retron5]] (among other violations).
  
{| class="wikitable" style="text-align:center;"
+
====LGPL and AGPL====
! Name
+
The GPL is not the only license that the Free Software Foundation created; because 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 software.
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MSXEmu
 
| [http://genergabasa.php0h.com/upload.php?i=1 2007]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Atari==
+
This ended up being solved in two ways; the linking exception found in GNU Classpath's GPL2 license allowed it to not affect the software it would be bundled in, and the Lesser GPL, which is an entire license that was made to make this aspect clearer rather than be an exception.
  
===Atari 2600===
+
The GPL also doesn't account for software used exclusively for consumer-facing servers, so the Affero GPL was made to require web app developers to share the source code of their app to users over the network.
  
{| class="wikitable" style="text-align:center;"
+
===BSD===
! Name
+
The history of Unix is comprehensive but, to make a long story short, the Berkeley Software Distribution (BSD) was basically one of the many flavors of Unix that was very simple and permissive in how it was licensed. Ever since then, descendants like FreeBSD, OpenBSD, NetBSD, and DragonflyBSD have been licensed under a variation of it. The ISC and MIT licenses are based on its philosophy which makes them very compatible.
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| JMStella
 
| [https://sourceforge.net/projects/jmstella/files/V0.1.11 0.1.11]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Commodore==
+
The original license had four conditions:
  
===C64===
+
# Redistributions of the source code must retain the copyright notice.
 +
# Redistributions of the binary code must be able to show the copyright notice.
 +
# Advertisements surrounding the use of the code must have this line: "This product includes software developed by (organization)."
 +
# Do not claim the original developers endorse the use of the software without permission.
  
{| class="wikitable" style="text-align:center;"
+
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.
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| Frodo-C64
 
| [https://github.com/SimonKagstrom/frodo git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JMEC64
 
| [https://sourceforge.net/projects/jmec64/files 1.13]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
===CPlus4===
+
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 licenses]] 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).
  
{| class="wikitable" style="text-align:center;"
+
===Apache===
! Name
+
The Apache 2.0 license differs from both the BSD and GPL licenses in that:
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| Minus4
 
| [http://genergabasa.php0h.com/upload.php?i=1 2007]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Sinclair==
+
* 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 trademark use.
  
===ZX spectrum===
+
===Non-commercial licenses===
 +
Some ostensibly "free and open-source" software licenses include, or can be modified 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 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 '''disqualifies the software in question from being considered FLOSS''', even if the developer still makes the source code readily available to the public.
  
{| class="wikitable" style="text-align:center;"
+
The Free Software Foundation explains [https://www.gnu.org/philosophy/free-sw.html#selling here], as part of their "What is free software" page:
! Name
+
<blockquote>
! class="unsortable"|Version
+
'''Free software ''can'' be commercial'''
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MobileZX
 
| [http://mobilezx.sourceforge.net 0.8.61]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| PocketZX
 
| [https://www.emu-land.net/computers/zx_spectrum/emuls/java 0.2 Alpha]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| ZXplay
 
| [http://cbn.narod.ru/English.htm]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Chip8==
+
"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.
 +
</blockquote>
 +
The Open Source Initiative also explains why non-commercial licensing goes [https://opensource.org/osd against the very definition of "open source"]:
 +
<blockquote>
 +
'''6. No Discrimination Against Fields of Endeavor'''
  
===Chip8===
+
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.
 +
</blockquote>
  
{| class="wikitable" style="text-align:center;"
+
That being said, some emulator developers will still see non-commercial licensing as a desirable or even essential option, either to specifically pre-empt others from bundling their 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 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 might just be scared of the original hardware owners coming after them and they see the non-commercial clause as an easy way to say, "hey, we're not trying to profit off of this, please don't sue us".
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MobiChip8
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Chip8
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| emuChip8me
 
| [https://github.com/jborza/emuchip8me git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| J2ME Chip8
 
| [https://github.com/drhelius/J2ME-Chip-8-Emulator git]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Coleco==
+
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 admittedly gets pretty murky from a legal standpoint.
  
===ColecoVision===
+
==CLA (Contributor License Agreement)==
 +
Some projects use a Contributor License Agreement, which contributors have to sign before getting their work merged upstream. The sole intention of a CLA is to consolidate control of a project to one entity (which, as stated earlier, can be a person or a company). This can be useful if one wants to relicense the project retroactively when there are potential conflicts, but it's also a very easy way to prevent future versions of the code from being available (two projects in the Dreamcast scene encountered controversy with this approach).
  
{| class="wikitable" style="text-align:center;"
+
===Dual licensing===
! Name
+
CLAs allows emulators (and pretty much any work, even things that aren't [[source code]]) to be licensed under multiple licenses. Most often, the point of doing this is to allow a revenue stream that funds development of software and allows the primary developer to sell the software (or monetize it in some other way) without having to share the code (provided they pay a fee). At least, that's the most common use; one other is to allow the software developer to use the code in their own commercial projects. <!-- todo: gpl2+
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MicroVision
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| VColecoJava
 
| [http://genergabasa.php0h.com/upload.php?i=1 2007]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
  
==Apple==
+
==Problems==
 +
todo: explain problems with copyright, license problems, and law trolls illegally registering trademarks and tormenting related projects.
  
===Apple Series===
+
==FAQs==
 
+
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?"
{| class="wikitable" style="text-align:center;"
+
-->
! Name
+
[[Category:FAQs]]
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| Apple llGO
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| P84Ever
 
| [http://freshmeat.sourceforge.net/projects/p84ever]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
 
 
===Macintosh===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MacEmu
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
 
 
==Infocom==
 
 
 
===Z-Machine===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| Jfrotz
 
| [https://sourceforge.net/projects/jfrotz/files/JFrotz_0.2.3 0.2.3]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Z2ME
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Zaxmidlet
 
| [https://sourceforge.net/projects/zaxmidlet/files/zaxmidlet 1.8.0]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| ZeeMe
 
| [http://setera.org/ZeeME]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
 
 
==Sharp MZ-800==
 
 
 
{| class="wikitable" style="text-align:center;"
 
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| JMZemu
 
| [https://sourceforge.net/p/jmzemu/code-0/HEAD/tree Source]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
 
 
===Miscellaneous===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! Name
 
! class="unsortable"|Version
 
! class="unsortable"|Active
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! [[Recommended Emulators|Recommended]]
 
|-
 
| MobileUnixJ2me
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| DROS
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| MobileC
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| ReadPlay
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| Sarien
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| IBM_PC_XT
 
| ?
 
| {{✗}}
 
| Low
 
| {{~}}
 
|-
 
| JPC
 
| [http://java-ap.wz.cz/index.php?str=other-emus]
 
| {{✗}}
 
| Low
 
| {{~}}
 
|}
 
 
 
==External links==
 
 
 
* [https://archive.org/details/j2me-emuSoftware  Collection (Archive.org)]
 
* [http://likemulator.xtgem.com/emulator%20for%20java L2]
 
* [http://zanotowane.pl/e/4/emulacja,java0A0909090A09090909zbior,linkow,do.php L3]
 
* [https://spac1.net/files/user/egorhidro/list/kons-nye-igry/xmuljatory/xmuljatory-dlja-j2me-java-1684137/ L4]
 
 
 
[[Category:Emulators on mobiles]]
 

Revision as of 09:27, 4 September 2021

Source code is copyrightable, which means a programmer owns the code they write. How they aim to publish it is up to them, and many licenses assist in this process.

Intellectual property law

Intellectual property is a mouthful, but it refers to the ownership of things (thoughts, ideas, etc.) by nature of originality. Three big fields of intellectual property law include; copyright, patents, and trademarks, which all encompass different types of works.

Copyright
Creative works.

An author creates a work (sometimes called a work of art but that's misleading because it assumes everything that can be copyrighted is art), and then licenses this work to others for reproduction. Is designed to be granted as soon as the work is created, unlike the other two.

Patents
System design and inventions.

An author designs a system (an invention), and then describes it in detail for others to implement. This is usually something you register at an agency (such as the United States Patent and Trademark Office if you live in the United States).

Trademarks
Names and brands.

An author comes up with a name that identifies their products, and ensures that nobody else in the same industry can use it. This is usually something you register at an agency (such as the United States Patent and Trademark Office if you live in the United States).

Legal entities

The owner of intellectual property doesn't have to be a person; if an employee does any kind of IP-related work for a company, then the company may retain control of it depending on the terms they've set up with said employee through contracts. That contract may also contain clauses preventing the employee from speaking publicly about the work that goes on inside, since trade secrets are considered valuable. This is often called a non-disclosure agreement (NDA).

Public domain

Based on the original design of a copyright, the time that a creative work stays protected should be finite; that is, it should expire. Say the protection of a copyright originally lasted fourteen years from the date it was originally conceived in the commonwealth. After those fourteen years, when the copyright "expires", the work becomes public domain (this is done to incentivize further creation of works). Long-running companies want to continue profiting off of old work, so they often set precedents in modern law that extend this time to as long as one hundred years for example. In many western countries, 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 a result of two United States landmark cases, it is considered legal to reverse engineer and emulate any system. More specifically, there were rulings which allowed commercial emulators to profit. Two commercial Playstation emulators: Bleem and Connectix Virtual Game Station allowed the ability to play ps1 games on pc, something Sony didn't like the sound of, and were sued by Sony around the early 2000's. The results led to modern legal standards regarding emulation as of today.

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 best emulators use an open source license, though not all of them do.

Definition

The meaning of open-source is usually lost on those who aren't familiar with it, but institutes and organizations have defined what it means for clarity's sake. Essentially, a program is considered open-source (or if you're a GNU advocate, free software) when it grants the four freedoms, that it can be:

  1. run at any time.
  2. studied and modified for any purpose.
  3. distributed to anyone, and
  4. improved by anyone.

There's also copyleft, which is a play on copyright that inverts its goal of consolidating ownership to one entity and preventing others from having it, by ensuring that the ownership is largely in the public and no one can't have it. The copyleft strength of a license depends on how strict it is about keeping things open; weaker copyleft licenses require attribution but not much else, while stronger ones require the source to be available by any means necessary. The GPL is an example of a strong copyleft license; the BSD and MIT licenses are examples of a weak one, which makes it a frequent point of contention in the community which is better. Essentially, it's the difference between Creative Commons' Attribution and Attribution-ShareAlike license. One is the all familiar royalty-free license used by renowned composer Kevin MacLeod, the other is one of two licenses used by Wikipedia (they dual-license it under the GFDL too).

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 licenses, requiring users to share their contributions (some might say to an insane degree).

The GPL has two widespread versions; version 2 (written in 1991) and version 3 (written in 2007). No one talks about version 1 (1989). The GPL3 was meant to reconcile license compatibility, address software patents, license violations, nullifying DRM by calling it an ineffective technological measure, and the big one; Tivoization, which was a severe flaw they completely missed when drafting the first two versions that allowed Tivo to make use of GPL2 software by sharing its code while preventing unsigned firmware from being loaded on the hardware. The GPL3 prohibits this, which proved to have major problems when Hyperkin tried to incorporate the GPL3-licensed RetroArch in the Retron5 (among other violations).

LGPL and AGPL

The GPL is not the only license that the Free Software Foundation created; because 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 software.

This ended up being solved in two ways; the linking exception found in GNU Classpath's GPL2 license allowed it to not affect the software it would be bundled in, and the Lesser GPL, which is an entire license that was made to make this aspect clearer rather than be an exception.

The GPL also doesn't account for software used exclusively for consumer-facing servers, so the Affero GPL was made to require web app developers to share the source code of their app to users over the network.

BSD

The history of Unix is comprehensive but, to make a long story short, the Berkeley Software Distribution (BSD) was basically one of the many flavors of Unix that was very simple and permissive in how it was licensed. Ever since then, descendants like FreeBSD, OpenBSD, NetBSD, and DragonflyBSD have been licensed under a variation of it. The ISC and MIT licenses are based on its philosophy which makes them very compatible.

The original license had four conditions:

  1. Redistributions of the source code must retain the copyright notice.
  2. Redistributions of the binary code must be able to show the copyright notice.
  3. Advertisements surrounding the use of the code must have this line: "This product includes software developed by (organization)."
  4. Do not claim the original developers endorse the use of the software without permission.

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 licenses below). The old MAME license (and by extension FinalBurn Alpha and 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 box was said to use FinalBurn Alpha ahead of its release (despite its creators not getting permission from all of FBA's developers).

Apache

The Apache 2.0 license differs from both the BSD and GPL licenses in that:

  • 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 trademark use.

Non-commercial licenses

Some ostensibly "free and open-source" software licenses include, or can be modified 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 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 disqualifies the software in question from being considered FLOSS, even if the developer still makes the source code readily available to the public.

The Free Software Foundation explains here, as part of their "What is free software" page:

Free software can be commercial

"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—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.

The Open Source Initiative also explains why non-commercial licensing goes against the very definition of "open source":

6. No Discrimination Against Fields of Endeavor

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.

That being said, some emulator developers will still see non-commercial licensing as a desirable or even essential option, either to specifically pre-empt others from bundling their 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 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 might just be scared of the original hardware owners coming after them and they see the non-commercial clause as an easy way to say, "hey, we're not trying to profit off of this, please don't sue us".

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 admittedly gets pretty murky from a legal standpoint.

CLA (Contributor License Agreement)

Some projects use a Contributor License Agreement, which contributors have to sign before getting their work merged upstream. The sole intention of a CLA is to consolidate control of a project to one entity (which, as stated earlier, can be a person or a company). This can be useful if one wants to relicense the project retroactively when there are potential conflicts, but it's also a very easy way to prevent future versions of the code from being available (two projects in the Dreamcast scene encountered controversy with this approach).

Dual licensing

CLAs allows emulators (and pretty much any work, even things that aren't source code) to be licensed under multiple licenses. Most often, the point of doing this is to allow a revenue stream that funds development of software and allows the primary developer to sell the software (or monetize it in some other way) without having to share the code (provided they pay a fee). At least, that's the most common use; one other is to allow the software developer to use the code in their own commercial projects.