Bug 2018698 - Review Request: fs-uae 3.0.5 - Amiga emulator with on-screen GUI and online play support
Summary: Review Request: fs-uae 3.0.5 - Amiga emulator with on-screen GUI and online p...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR FE-Legal
TreeView+ depends on / blocked
 
Reported: 2021-10-30 14:07 UTC by Jonathan S.
Modified: 2023-07-31 15:33 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jonathan S. 2021-10-30 14:07:41 UTC
Spec URL: https://nil.im/fs-uae.spec
SRPM URL: https://nil.im/fs-uae-3.0.5-5.f35.src.rpm
Description: Amiga emulator with on-screen GUI and online play support

FS-UAE is an Amiga emulator for Windows, Linux and Mac OS X
based on UAE/WinUAE, with a focus on emulating games.

Features include emulation of Amiga 500, 1200, 4000, CD32
and CDTV, perfectly smooth scrolling on 50Hz displays, support
for floppy images in ADF and IPF formats, CD-ROM images in ISO
or BIN/CUE format, mounting folders on your computer as Amiga
hard drives, support for Picasso 96 drivers for high-color and
high-resolution Workbench displays, and more.

A unique feature is support for cross-platform online play. You
can now play Amiga games against (or with) friends over the
Internet.

The emulator uses the latest Amiga emulation code from the
WinUAE project and requires a moderately fast computer with
accelerated graphics (OpenGL) to work. A game pad or joystick is
recommended, but not required (FS-UAE can emulate a joystick
using the cursor keys and right ctrl/alt keys).


Fedora Account System Username: js

Successful Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=78070358

This is my (well, "my" - this one is just copied from RPM Fusion) fourth package (others: RHBZ#1998755 RHBZ#1998821 RHBZ#2018694) and I need a sponsor. I've been active in pkgsrc previously, which I used on NetBSD and macOS, but have recently migrated my main machine to Fedora. While pkgsrc does work on Fedora, having native packages is nicer, so I want to get into packaging software I am missing for Fedora, since using a system as my main system for me also means contributing.

This was previously in RPM Fusion for two reasons:

1.) Dependency on libmpeg2
2.) Requiring a non-free ROM

To address those:

1.) was solved by libmpeg2 now being in Fedora.
2.) was never correct: The emulator itself ships with a free ROM replacement from AROS. Even if the AROS Public License would not be considered free software by Fedora, the firmware exception would still apply, as this at the very least freely redistributable. I'm not sure if it makes sense to even determine whether AROS Public License is an acceptable free software license for Fedora, given the firmware exception could just be used.

Comment 1 Jonathan S. 2021-10-30 14:09:04 UTC
Sorry, correct SRPM URL (was typoed): https://nil.im/fs-uae-3.0.5-5.fc35.src.rpm

Comment 2 Jonathan S. 2021-10-30 16:04:25 UTC
Some more context:

I had contacted Andrea (RPM Fusion maintainer) months ago about importing this to Fedora. There was some initial resistance because of the (incorrect) believe that it requires a non-free ROM, but after explaining that fs-uae ships an alternative, open-source ROM, Andrea was fine with moving it to Fedora, but mentioned that it could take a few weeks. Since nothing has happened since and the last mail was from August, I decided to take the initiative to move this forward. If Andrea wants to own this instead, I am of course fine with that - all I want to see is fs-uae ending up in Fedora :).

Comment 3 Ben Cotton 2021-11-13 17:25:56 UTC
@js-fedora why are you blocking this on FE-LEGAL? If you need a license review, please post to the legal list: https://lists.fedoraproject.org/archives/list/legal%40lists.fedoraproject.org/

Comment 4 Jonathan S. 2021-11-14 09:48:41 UTC
I was told that this needs legal review since it is coming from RPM Fusion. The license of fs-uae is GPLv2+, so that doesn't need a review.

But what might need review is this:

> * Emulators which depend on firmware or ROM files to function may not be
> included in Fedora, unless the copyright holder(s) for the firmware/ROM
> files give clear permission for the firmware/ROM files to be distributed
> (either under a Fedora permissible license or under the Fedora firmware
> exception criteria).

fs-uae ships with a replacement ROM from the AROS project (http://www.aros.org/). This ROM is the only thing under the AROS Public License in fs-uae. My believe is that this satisfies the requirements above, as it is freely redistributable and distributed by fs-uae in binary form (it does not include sources). However, I was told this needs legal review.

Comment 5 Ben Cotton 2021-11-15 14:01:32 UTC
Okay, please start a conversation on the legal list about this. I'm not sure the firmware exception applies in this case, but it would be good to have a more visible conversation.

Comment 6 Richard Fontana 2022-08-05 21:08:52 UTC
I'm not totally sure this situation meets the existing policy on emulators. I'd have to refresh my familiarity with the kinds of emulators that historically have been packaged in Fedora.

Comment 7 Jonathan S. 2022-08-13 10:58:20 UTC
What part of the policy would be unmet? It does not depend on any proprietary ROM and doesn't ship with any either. Instead, it fully works and ships with a fully open source ROM. Sure, you can run proprietary ROMs with it if you want to - but you can do the same with qemu too.

Comment 8 Richard Fontana 2022-08-13 17:52:36 UTC
The current location of the policy on emulators is here: https://docs.stg.fedoraproject.org/en-US/legal/misc/
This has only been revised slightly to reflect recent changes in terminology around license approval categories. 

The second bullet point says:
"Emulators must not ship with any ROM files (e.g. games) unless those ROM files are available under a Fedora allowed license and have been built from source code in the Fedora buildsystem." Even if we decide the AROS license is OK, that's still an issue here, right? The FS-UAE is shipping ROMs built by a separate project. I am also not seeing how the FS-UAE project is itself compliant with the AROS license. But if it seems I am misunderstanding something let me know.

Comment 9 Jonathan S. 2022-08-13 22:22:16 UTC
I think this is the part that applies:

Emulators which depend on firmware or ROM files to function may not be included in Fedora Linux, unless the copyright holder(s) for the firmware/ROM files give clear permission for the firmware/ROM files to be distributed (either under a Fedora allowed license or a Fedora allowed-firmware license). Note: This only covers the situation where an emulator will not run at all without firmware/ROM files. For example, emulators that compile and run, but ship with no game ROMs are not covered by this rule.

The second bullet point is referring to game emulators, where the games are often called ROMs.

I think it would be better to use the terms firmware and games to be clear here. FS-UAE does not ship with any games, just firmware. So neither does it need to be built on Fedora infra, not does it even need to be open source. It only needs to be freely redistributable by Fedora - which the AROS license should satisfy.

Comment 10 Richard Fontana 2022-08-14 01:35:04 UTC
OK, I am fairly certain that the AROS Public License 1.1 would be an 'allowed' license for Fedora if submitted for review (the minor differences relative to MPL 1.1 are clearly not ones that would affect a judgment whether the license is FOSS). The process for review of a new license is now described here: https://docs.fedoraproject.org/en-US/legal/license-review-process/

The existing guidance on emulators, and also the substance of the firmware license allowance policy, are actually a somewhat confusing (to me) mix of legal and technical policy criteria. So this leads me to say the following:

* It is possible that there is a Fedora *technical* (non-legal) policy that would be violated by including the AROS ROMs even if the license of the ROMs was otherwise acceptable (as it seems to be). I can't provide further help with that beyond sensing it could be an issue. If the answer is not obvious, maybe FESCO or the Fedora Packaging Committee can provide a quick answer. 

* Assuming there is no Fedora technical policy that would be violated by including the AROS ROMs, there is one remaining legal issue. The AROS Public License has some obligations regarding source code publication and other requirements that the FS-UAE upstream source repository and releases *might* not be compliant with. I think Fedora would probably take a fairly conservative approach to this issue and assume (regardless of what MPL-based licenses actually seem to say) that a GPL-like source obligation applies to distribution of the ROMs by Fedora. So packaging FS-UAE, if otherwise acceptable, would need to remedy those upstream problems (or you'd have to persuade the upstream to fix them and then re-package this with those fixes applied). I think that would probably require bundling the relevant AROS source code with the source RPM.

Apparently related Debian issue from several years ago: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804234

Comment 11 Jonathan S. 2022-08-14 22:50:14 UTC
It is in a way funny that apparently it would be a more clear case if this firmware were NOT open source and just freely distributable. Which is insane, open source firmware should be better and easier to distribute that proprietary but freely distributable firmware :).

What do you propose to move this forward?

Comment 12 Jonathan S. 2023-07-30 13:21:32 UTC
How can we move this forward?

Comment 13 Richard Fontana 2023-07-31 15:33:02 UTC
If I understand correctly (please correct me if I am confused), you want to include in a Fedora package at least one of these files:
https://github.com/FrodeSolheim/fs-uae/blob/master/share/fs-uae/aros-amiga-m68k-ext.bin
https://github.com/FrodeSolheim/fs-uae/blob/master/share/fs-uae/aros-amiga-m68k-rom.bin
(you didn't specify this previously but I assume these are what you mean by AROS ROMs)

These are apparently generated by the AROS project. I think your view is that this should be allowed under an interpretation of Fedora's firmware exception. The problem is that unlike typical nonfree firwmare licenses allowed by Fedora, which are generally assumed to be self-compliant, the AROS license (which I'm assuming applies to those .bin files) is a copyleft open source license with a source availability requirement. The AROS license is essentially an old style of vanity MPL derivative and would likely be acceptable for Fedora. 

It isn't clear whether the fs-uae project itself is compliant with this license. In any event, Fedora would have to comply with the AROS license. 

This might be clearer (or it is for me anyway) if we imagine the AROS ROMs are GPLv2-covered Linux kernel binaries for some exotic architecture Fedora itself has no build systems for (there was in fact a historical case like this involving a linux-firmware file, IIRC). Surely Fedora could not ship such binaries without some solution to GPL source code compliance requirements. 

So I think you would need to (a) see if the source code of these ROMs is available, and confirm that source code is entirely under Fedora-allowed licenses, (b) get approval from FESCo to include the ROMs in a Fedora package given that these are third-party-built binary files, (c) come up with a plan for how Fedora will meet the source code requirements of the AROS license and get approval for that. 

BTW this license would not be allowed in Fedora:
https://github.com/FrodeSolheim/fs-uae/blob/master/licenses/ipflib.txt
I don't know what that covers in the fs-uae repository.


Note You need to log in before you can comment on or make changes to this bug.