On Tue, 20 Jun 2023 07:49:12 -0400 bill-auger <bill-auger@peers.community> wrote: > in the broadest sense, it is somewhat ubiquitous - any application, > which its only purpose is as a host of other "foreign" applications > would qualify - in addition to the obvious emulators and game > engines, hugely popular VM "platforms" such as java, python, also > audio plugin hosts, and let's not forget web browsers, would also > meet that description Good idea, the "only purpose" enables to narrow it down to make it more simple, not to have to foresee (yet) all situations with just running other applications.
Though if that "only purpose" is lifted (later on), it would enable us to tackle more difficult issues like games that download code and/or data when joining a network game. > for emulators (the questionable ones) it is not precisely a > "tendency" to be used primarily to run non-free programs - in most > cases, that was the original motivation for writing them - nintendo > emulators for example, are probably the most prolific and popular; > but no one writes new games for them - they are popular for the > nostagia value of playing the old games For some there are new games being written, and some of the games are under free licenses, so it brings the question of making sure that the games don't require nonfree dependencies somehow. Some gaming consoles also have consequent "homebrew" communities (communities of people making software not approved by the manufacturer for the consoles), though the same issue applies: how to make sure that the programs written are free and don't have any nonfree dependencies. The easiest way is probably to package the games/programs along with the emulators. If we care about making "the right to modify the software" easy to use, this is the way to go. It also avoids having too much debates or subjective interpretation and puts the burden on the packager instead of putting it on bug reporters to prove that the given emulator cannot run free software (reviewing all programs for the emulator to prove that might take too much time to be practical anyway). If distributions go this route it should work fine and be easy to deal with from the maintainers point of view. It also enables to make sure that what is shipped by the distribution actually works and that it can be tested easily with only free software, with the distribution tools. In one case there is a game console (The Uzebox) whose use case is to enable users to write their own games relatively easily, so at least in this case the use case of writing games is probably the main use case of that console. It also has a free emulator and games can be made with only free tools[1]. But here again, requiring to have an FSDG compliant game or hello world to package would not be a bad idea as it can make sure that even the use case of writing games works fine in the distribution packaging the Uzebox emulator. > another aspect of those, is that often the emulator itself is not > entirely reverse-engineered, but will include the original > manufacturer's operating system ROM, or require that the user > acquires one, in order to do anything with it - most MAME emulators > are of that sort - they do not distribute the ROMs for copyright > reasons; but the emulator is useless without them, other than > educationally (to study emulator/compiler design) If some nonfree ROMs are redistributable it might be worth checking the source code of some emulators to see if they are included in the automatic tests. References: ----------- [1] It only requires avr-gcc toolchain, + 1 tool (packrom) to produce the game in the right format to run on a free software emulator (uzem). Denis.
pgpymP5toFTKs.pgp
Description: OpenPGP digital signature