Re: [GNU-linux-libre] MAME
Joshua Gay wrote: I've thought a lot about this issue. Here are my thoughts and concerns on the idea behind this project and on packaging and redistributing it. First, thanks so much for your considerate view of things here. It's great to see someone at the FSF participate in the discussion and take an interest in emulators. I agree that users will want to run emulators for a number of perfectly valid reasons, but I've been unable to find anything in the guidelines at https://www.gnu.org/distros/free-system-distribution-guidelines.html which uses those reasons as a rationale for concluding it's okay to distribute one's fork of MAME. After reading your thoughts I'm left with the impression that inducing users to obtain proprietary software is still an important thing to avoid; the FSF's guidelines for free distros and https://www.gnu.org/philosophy/is-ever-good-use-nonfree-program.html also says this must be avoided. I also see that you're giving advice about distributing one's fork of MAME. Hence I have to ask: can an FSF-approved free software distribution distribute a renamed, trademark-removed variant of MAME and still qualify for being called an FSF-approved free software distribution? Whatever the answer to that question, I hope that the guidelines for free software distros at https://www.gnu.org/distros/free-system-distribution-guidelines.html will be updated to help us understand the answer and rationale so we have something to point to when this issue comes up again and possibly avoid the confusion that led to this thread. Depending on how this comes out, another essay https://www.gnu.org/philosophy/is-ever-good-use-nonfree-program.html should be considered for updating too because this essay also stresses the importance of not urging others to use nonfree software. Thanks again for your input.
Re: [GNU-linux-libre] MAME
There are GPL licensed ROM images. Debian ships them for ZX Spectrum emulators, where the copyright holder (British Sky Broadcasting) makes other versions available only under effectively NC-ND terms. Instead Debian was able to convince the original development team of the benefits. I don't believe this is an isolated case either.
Re: [GNU-linux-libre] MAME
On 03/31/2016 12:01 PM, J.B. Nicholson wrote: > Julian Marchant wrote: >> As far as I know, all Flash objects are non-libre. > > How do you figure this? How do I figure that I am unaware of any libre Flash objects? Well, it's my own brain and memory. I think I'm the only authority on that. Please note that I didn't claim that no libre Flash objects exist, only that this seems to be the case based on what I know. This is, of course, because I am not aware of any libre Flash objects. It's the same way that you might be unaware of any libre programs that can run in MAME: it could be that there really are none, or it could be that you just haven't found it. That's my point: you can't just declare that a program is dependent on proprietary software based on the fact that its job is to run code, and you are unaware of any libre code it could run. You might just not be looking hard enough, or libre code it can run might be written tomorrow. -- Julian Marchant https://onpon4.github.io Protect your privacy with GnuPG: https://emailselfdefense.fsf.org signature.asc Description: OpenPGP digital signature
Re: [GNU-linux-libre] MAME emulator is giving incentive to use non-free software
Isaac David: >Parabola does ship fully free emulators for which no free games >exist. At this moment the user has to opt-in for installing >your-freedom_emu to block those packages, so it actually falls >down somewhere between your "liberal" and "extremely liberal" >categories. "parabola follows extremely liberal without your-freedom_emu" i thought it was common knowledge/implicit, my mistake >My view was that while useless in a 100% free environment just >having them installed and inspecting their user interfaces wouldn't >violate your freedom in any way. A free emulator with free >dependencies wouldn't be unethical unless it recommended using >proprietary software with it. agreed, but we shouldn't package useless things > However in the last few days I have >seen many arguments showing there are yet more valid uses I hadn't >imagined, like learning from the source code and testing portability >without leaving your comfy libre OS. source code is out of question for a distro, unless you want to compile and execute it (or just have a package that copy the source code); but developing without a game is like developing without a test suite... "testing portability without leaving your comfy libre os" would only be impeded by extremely conservative, that i reject >In a distro without unprivileged package management like Parabola >an opt-in blacklist could satisfy Jean Louis' parenting concerns, but >only until the point the unprivileged users determined to run non-free >software learn to look for applications outside the package manager. applying a policy to unwilling people is a security issue, out of question i'm interested in lessening the effort to remain in freedom (for people willing it) but your-freedom_emu is extremely conservative, it deny free uses; that i reject >Meanwhile other emulators and wine are completely out of the >question because there's free applications for them i translate it as "extremely conservative/conservative is completely out of the question" you missed the main argument "extremely liberal is naive because it just looks down in the dependency dag, there's no reason to not look up" i think i should try to explain better, included is a image (emulator-dependency-dag.svg) to _execute_ an emulator _usefully_, and to test during development, we need all dependencies and a game every one agree that if one dependency is nonfree, we can't _execute_ an emulator _usefully_ in freedom several people miss: if all games are nonfree, we also can't _execute_ an emulator _usefully_ in freedom maybe an analogy: *extremely conservative is like nonfree software *conservative is like agpl *liberal is like gpl *extremely liberal is like public domain nonfree software is unreasonable (unethical) because it denies freedom public domain is unreasonable (not unethical) because it doesn't protect freedom gpl restrict freedom _directly_; gpl2 can't be linked with gpl3, even both being free software; but it gives more freedom _indirectly_; and in most cases we can make an exception, just releasing the gpl2 as gpl2+ agpl gives yet more freedom, although it is more inconvenient in some cases so agpl is better, gpl ok and public domain unreasonable (not unethical), if your aim is freedom _not denying_ freedom and _actively protecting_ it are different even if _actively protecting_ freedom is inconvenient and we need to make some exceptions, i believe it is better expecting the user to evaluate if some game is free is making it unnecessarily difficult to remain in freedom making game packages/executables and not emulator packages/executables would allow all know good uses and still signal the user to be cautious with other games
Re: [GNU-linux-libre] MAME
I've thought a lot about this issue. Here are my thoughts and concerns on the idea behind this project and on packaging and redistributing it. ## The purpose of MAME and archiving old systems The stated purpose of the Multi Arcade Machine Emulator project is to document and reproduce through emulation the inner components of arcade machines, computers, consoles, chess computers, calculators, and many other types of electronic amusement machines, in order to preserve decades of arcade, computer, and console history. In general, I think this is probably a good initiative. Here are my reasons why as well as some warnings and other considerations for those who wish to package and redistribute MAME. Please keep in mind that my comments here are not necessarily all generally applicable to modern systems and programs that are currently in use. In many cases my comments might make sense when discussing a computer program that is 38 years old but might not be as applicable to some new sofware designed for modern computers. ### Proprietary source code can become free software First, I think its important to recognize that many old programs are stored in ROMs which consist of machine code or assembler code that is either exactly or a close approximation to being in the preferred form of modification. Those that are not in the preferred form for making modification might eventually be able to be reverse engineered and source code rewritten to provide a close approximation to the original source code. Eventually all ROMs that have formats that are preferred forms for making modifications available will likely be put into the public domain or otherwise be considered uninhibited by laws across most legal jurisdictions (assuming length of copyright is not infinite). In a country like the US, that may take some time, but, on the otherhand, you could already be in a legal jurisdiction where the laws are different, and perhaps already you can share the source code of a given ROM as free software in that jurisdiction (again assuming there is a preferred form for making modifications). There is also the possibility that the copyright holder might be willing to license or release the work into the public domain or that copyright laws in various jurisdiction could change. ### Good reasons to be able to run proprietary software We do not want to encourage the proliferation and spread of proprietary software. We want a world in which poprietary software is replaced with only free sotware. However, we can't change the past or the fact that there was a whole lot of software that was proprietary that people used. In many cases, a person wanting to run some old (perhaps very old) proprietary software within a free software emulator is not doing it because they lack a better or preferred version of free software to accomplish the task. Often it is simply to understand the past. To see what a computer program looked and behaved like a long time ago. There are many reasons why it might be of value for people to be able to do such things. For example, a person doing some historical or anthropological research might be trying to understand the relationship of the tools and technology of the time with some event, behavior, or other endeavour. Being able to run the software could be useful. Or a person tring to understand the conceptual development of computer user interfaces and design might wish to run a program. Or, maybe, it is as simple as a person reading a book or a journal from the time and they come across some passage that explains some game or thing a person was playing and they simply want to see what that looked like to satisfy a curiousity. Yet another reason it might be useful for a purpose to run such systems and programs is to be able to extract or export data or artwork. For example, a person might have some old software and data files that they would like to convert to a format that works with free software. It might be that the only practical or feasible way to do this would be to run the data file in the old program and then convert/export the data file into a format that can then be used by free software programs. Or alternatively the software itself may have art or data files embedded in it that could be extracted by running it on the original system via the emulator. If the aim is to move data or art from the nonfree program/system to a free program, then that is probably a good thing. It's hard for me to think that a person running very old proprietary systems and programs for purposes along these lines would be oppossing free software or in anyway diminishing or reducing the spread of free sofware. Further, the goal would not be to be running proprietary software to accomplish ones computing, except so far as to migrate some functionial parts from proprietary systm to a free system. There could be other reasons that do work against the goals of the free software movement, so we don't want to
Re: [GNU-linux-libre] MAME
Let's say that I own a very old computer (such as the Commodore 64, for instance) and that I want to implement a free BIOS for it, to replace its original non-free boot-ROM code. I can develop my new free BIOS code, compile it, generating as a result a ROM image file, burn it into an UV-erasable EPROM chip, plug it into the original PCB of the real machine and validate whether my implementation works or not. It will almost certainly not work in the first attempt. Then I can remove the chip, place it in a 10-minute ultra-violet light "bath" for erasing its contents before burning into it a modified version of my BIOS code under development. And this cycle is typicaly repetitive, time-consuming, tedious and cumbersome. Or I could get MAME and load it with the ROM image of my experimental BIOS code and check whether it works or not on the emulated environment. For that usage scenario there's no need to download and use the original non-free ROMs. This shows that MAME as an emulation environment free software project, can have much more legitimate uses than simply "playing thousands of (mostly non-free) games for free". On Thu, Mar 31, 2016 at 2:14 PM, Jason Selfwrote: > J.B. Nicholson wrote .. >> Julian Marchant wrote: >> > As far as I know, all Flash objects are non-libre. >> >> How do you figure this? > > I think they are referring to the ActionScript code [0] to construct the > player (or whatever else.) It is usually not free which means that you're > still running non-free software in the end, even if you're using a free > software player like Gnash to interpret it and just "watching the video." > It seems to be a similar problem to the JavaScript Trap [1]. > > [0] https://en.wikipedia.org/wiki/ActionScript > [1] https://gnu.org/philosophy/javascript-trap.html
Re: [GNU-linux-libre] MAME
J.B. Nicholsonwrote .. > Julian Marchant wrote: > > As far as I know, all Flash objects are non-libre. > > How do you figure this? I think they are referring to the ActionScript code [0] to construct the player (or whatever else.) It is usually not free which means that you're still running non-free software in the end, even if you're using a free software player like Gnash to interpret it and just "watching the video." It seems to be a similar problem to the JavaScript Trap [1]. [0] https://en.wikipedia.org/wiki/ActionScript [1] https://gnu.org/philosophy/javascript-trap.html
Re: [GNU-linux-libre] MAME
actually: GPL v2 or later. On Thu, Mar 31, 2016 at 1:13 PM,wrote: > On 2016-03-31 17:01, J.B. Nicholson wrote: >> >> Julian Marchant wrote: >>> >>> As far as I know, all Flash objects are non-libre. >> >> >> How do you figure this? >> >>> This is the error in your reasoning: even if it's true that there is no >>> libre software at all available for any of the systems MAME emulates, >>> that doesn't necessarily mean that MAME requires proprietary software to >>> work. From our perspective, that case is no different from if no >>> software at all existed for the systems. That would make MAME useless >>> today, but not unethical. >> >> >> I don't see how that addresses the inducement criteria listed in the >> FSF's free distro guidelines and that isn't the situation with MAME. >> If the only software one can run with MAME is nonfree then a distro >> distributing MAME encourages the user to find that nonfree software. >> As far as I can tell from the two mentions of inducing the user to run >> nonfree software in the FSF's free distro guidelines (once in the >> licensing section, another in the firmware section) inducement to run >> nonfree software is important to avoid. This tells me MAME ought not >> be a part of an FSF-approved free distro. Users who want MAME will >> have a minor inconvenience of getting MAME another way. > > > Please reconsider in light of: The freedom to run the program as you wish, > for any purpose (freedom 0). > > It is a little worrying to me that people are talking about excluding a free > software program - in fact a GPL2 licensed one - on the basis of what it > might be used for. What if people started demanding removal of "hacking > tools" [1] like gdb and nmap even though they are invaluable for debugging? > > I'm not saying anyone is obligated to include this in their free distro but > I hope a consensus will come that it is acceptable, as any free software > program should be. Especially after they have gone through the work of > re-licensing it as GPL2. > > * [1] https://www.schneier.com/blog/archives/2007/08/new_german_hack.html > >
Re: [GNU-linux-libre] MAME
On 2016-03-31 17:01, J.B. Nicholson wrote: Julian Marchant wrote: As far as I know, all Flash objects are non-libre. How do you figure this? This is the error in your reasoning: even if it's true that there is no libre software at all available for any of the systems MAME emulates, that doesn't necessarily mean that MAME requires proprietary software to work. From our perspective, that case is no different from if no software at all existed for the systems. That would make MAME useless today, but not unethical. I don't see how that addresses the inducement criteria listed in the FSF's free distro guidelines and that isn't the situation with MAME. If the only software one can run with MAME is nonfree then a distro distributing MAME encourages the user to find that nonfree software. As far as I can tell from the two mentions of inducing the user to run nonfree software in the FSF's free distro guidelines (once in the licensing section, another in the firmware section) inducement to run nonfree software is important to avoid. This tells me MAME ought not be a part of an FSF-approved free distro. Users who want MAME will have a minor inconvenience of getting MAME another way. Please reconsider in light of: The freedom to run the program as you wish, for any purpose (freedom 0). It is a little worrying to me that people are talking about excluding a free software program - in fact a GPL2 licensed one - on the basis of what it might be used for. What if people started demanding removal of "hacking tools" [1] like gdb and nmap even though they are invaluable for debugging? I'm not saying anyone is obligated to include this in their free distro but I hope a consensus will come that it is acceptable, as any free software program should be. Especially after they have gone through the work of re-licensing it as GPL2. * [1] https://www.schneier.com/blog/archives/2007/08/new_german_hack.html
Re: [GNU-linux-libre] MAME
Julian Marchant wrote: As far as I know, all Flash objects are non-libre. How do you figure this? This is the error in your reasoning: even if it's true that there is no libre software at all available for any of the systems MAME emulates, that doesn't necessarily mean that MAME requires proprietary software to work. From our perspective, that case is no different from if no software at all existed for the systems. That would make MAME useless today, but not unethical. I don't see how that addresses the inducement criteria listed in the FSF's free distro guidelines and that isn't the situation with MAME. If the only software one can run with MAME is nonfree then a distro distributing MAME encourages the user to find that nonfree software. As far as I can tell from the two mentions of inducing the user to run nonfree software in the FSF's free distro guidelines (once in the licensing section, another in the firmware section) inducement to run nonfree software is important to avoid. This tells me MAME ought not be a part of an FSF-approved free distro. Users who want MAME will have a minor inconvenience of getting MAME another way.
Re: [GNU-linux-libre] MAME emulator is giving incentive to use non-free software
Hi, Parabola does ship fully free emulators for which no free games exist. At this moment the user has to opt-in for installing your-freedom_emu to block those packages, so it actually falls down somewhere between your "liberal" and "extremely liberal" categories. My view was that while useless in a 100% free environment just having them installed and inspecting their user interfaces wouldn't violate your freedom in any way. A free emulator with free dependencies wouldn't be unethical unless it recommended using proprietary software with it. However in the last few days I have seen many arguments showing there are yet more valid uses I hadn't imagined, like learning from the source code and testing portability without leaving your comfy libre OS. In a distro without unprivileged package management like Parabola an opt-in blacklist could satisfy Jean Louis' parenting concerns, but only until the point the unprivileged users determined to run non-free software learn to look for applications outside the package manager. (I lied. Parabola has unprivileged package management thanks to Guix)[1] Meanwhile other emulators and wine are completely out of the question because there's free applications for them, even though using the non-free ones is more common. Parabola documents emulators extensively in a wiki page.[2] The wiki also considers aspects such as the possibility of writing free software for free emulator platforms which currently have no free games/applications as far as it's known (i,e. whether free toolchains targeting those platforms exist). I also had a good laugh learning about free emulators that will only run on wine. [1]: https://www.parabola.nu/packages/?q=guix [2]: https://wiki.parabola.nu/Emulator_licensing_issues Le mar. 29 mars 2016 à 10:31, alírio eynga écrit : these are the approaches i can think: *extremely conservative (eliminating false positive errors)[1] removing all emulators *conservative (eliminating false positive errors)[1] make packages/executables like game1-emulator1, game1-emulator2, ... and not allowing direct emulator installation/execution *liberal (avoiding false positive errors[1] and false negative errors[2]) allowing all emulators with free games know *extremely liberal (eliminating false negative errors)[2] allowing all emulators extremely liberal is naive because it just looks down in the dependency dag, there's no reason to not look up extremely conservative is naive because it doesn't allow completely free uses conservative would solve the issues that originate this thread liberal is more convenient in some cases i consider conservative better, liberal ok, and any of the extremes unreasonable fsdg doesn't allow extremely liberal (according to other people interpretation), in ndiswrapper, for example: "with one exception, all ndis drivers are nonfree--and the one free one is a windows port of a native linux driver. so right now, this isn't useful for anything besides using nonfree software"[3] parabola follows extremely conservative with your-freedom_emu[4] assuming we choose conservative; for wine, we can make guile-wine, emacs-wine[5] and gnutls-wine[6], but remove wine it seems there's at least one free game needing an emulator[7] i think this is a discussion about fsdg[8] and we should discuss it at gnu-linux-libre@nongnu.org [1]https://en.wikipedia.org/wiki/false_positives_and_false_negatives#False_positive_error [2]https://en.wikipedia.org/wiki/false_positives_and_false_negatives#False_negative_error [3]https://libreplanet.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines [4]https://www.parabola.nu/packages/libre/any/your-freedom_emu/ [5]https://lists.gnu.org/archive/html/guix-devel/2016-03/msg01216.html [6]https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00333.html [7]http://pineight.com/lu/ [8]http://www.gnu.org/distros/free-system-distribution-guidelines.html
Re: [GNU-linux-libre] MAME
On 03/31/2016 12:59 AM, J.B. Nicholson wrote: > MAME requires nonfree code (game ROMs) to run the game. As far as I know > all MAME ROMs are nonfree. As far as I know, all Flash objects are non-libre. Flash objects usually contain ActionScript code, i.e. programs. But this is a rather insubstantial point. As far as I knew last year, all NES code was proprietary, and then I found out that there's a libre homebrew NES game called "Escape from Pong". This is the error in your reasoning: even if it's true that there is no libre software at all available for any of the systems MAME emulates, that doesn't necessarily mean that MAME requires proprietary software to work. From our perspective, that case is no different from if no software at all existed for the systems. That would make MAME useless today, but not unethical. -- Julian Marchant https://onpon4.github.io Protect your privacy with GnuPG: https://emailselfdefense.fsf.org signature.asc Description: OpenPGP digital signature