Re: [GNU-linux-libre] MAME

2016-03-31 Thread J.B. Nicholson

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

2016-03-31 Thread Matt Lee
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

2016-03-31 Thread Julian Marchant
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

2016-03-31 Thread alírio eyng
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

2016-03-31 Thread Joshua Gay
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

2016-03-31 Thread Felipe Sanches
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 Self  wrote:
> 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

2016-03-31 Thread Jason Self
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

2016-03-31 Thread Felipe Sanches
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

2016-03-31 Thread rain1

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

2016-03-31 Thread J.B. Nicholson

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

2016-03-31 Thread Isaac David

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 eyng  a 
é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

2016-03-31 Thread Julian Marchant
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