Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License related issues #2500

Open
1 of 3 tasks
Ghabry opened this issue Mar 29, 2021 · 13 comments
Open
1 of 3 tasks

License related issues #2500

Ghabry opened this issue Mar 29, 2021 · 13 comments
Labels
Milestone

Comments

@Ghabry
Copy link
Member

Ghabry commented Mar 29, 2021

  • Add a new option --nonfree to autotools (details see next checkbox)
  • Add new option -DPLAYER_NONFREE to Player. When enabled it disables the following LGPL'ed libraries:
    • FluidLite/Synth
    • mpg123
    • sndfile
    • wildmidi
    • I know that they are LGPL so you are safe when you use "shared libraries" but you know how good people are in reading so it is safer to turn it off by default.
    • Also disable Pixel font WenQuanYi under GPLv2 /w Font Embed Exception (for me it is still unclear whether the document exception applies to us because we convert the font before using it, so this could be a derived work). Btw were we even compatible here? This is GPLv2 not GPLv2 or newer it seems, upps. Would be good to use a new font here or figure out if the exception applies to us.
  • Add a new "Scene About" (could be reachable via Scene Config) that contains the following (We are not properly citing our dependencies, must be solved!)
    • About Player (already in Scene GameBrowser
    • Player License information
    • Library licenses, only list the ones enabled via preprocessor macros (1-2 Lines per library and a text "for full license text visit https://easyrpg.org/player/licenses")

see also #167

@Ghabry Ghabry added this to the 0.7.0 milestone Mar 29, 2021
@Tondorian
Copy link
Member

--nonfree is in my opinion not the right name for it.
GPL and LGPL allow you to earn money, but you have to grant access to the src. Maybe a better name would be nocopyleft or nodisclosure.

@Ghabry
Copy link
Member Author

Ghabry commented Mar 30, 2021

How about --commercial? I mean we can still make it clear that you are allowed to sell it without the switch but that this switch avoids many licensing traps.

I used "nonfree" here because that is the terminology the GPL / the Free Software Foundation uses.
(I also completely ignore the case of "Shared Libraries" here. As they would work here with LGPL but this is too easy to violate by accident when you lack the expertise in this area. Also no idea if LGPL even legally works on locked-down platforms such as Android, iOS or the Switch were you cannot simply replace libs)

Of course you can still sell your game even without the switch but with the switch you make it clear, that you do not want to publish your sourcecode (completely) for whatever reason. The switch is also the only proper legal way to use the SteamWorks SDK (which is under NDA and nonfree).

@Ghabry
Copy link
Member Author

Ghabry commented Mar 30, 2021

in general I see no huge problem in just recommending this switch for simplicity. This "only" kills audio libraries and when I finally get "dr_wav" working there is also a public domain WAV decoder available again that doesnt suck (compared to FastWav ;)).
You can convert all the game music to OGG and OPUS. I mean this is for publishing and selling a game, so you have full control over these steps.

Btw the "effective license" for the Player binary distributed by us is still GPLv3 because we do static linking of LGPL libs. Though if you just want to use the unmodified Player this is no big deal, it already worked this way and selling is allowed. (and the game files do not count as a derived work as they are just interpreted by us).

@fdelapena
Copy link
Contributor

fdelapena commented Mar 30, 2021

Maybe --undisclosed-code is more understandable than copyleft, and because copyleft allows commercial use disclosing code (for static LGPL linking).

@Tondorian
Copy link
Member

I used "nonfree" here because that is the terminology the GPL / the Free Software Foundation uses.

Then we should use it, too. Most developers that have signed an NDA should know its meaning then.

@carstene1ns
Copy link
Member

Related for the "free" vs. "nonfree": https://www.gnu.org/philosophy/free-sw.html

@Ghabry
Copy link
Member Author

Ghabry commented Jul 11, 2021

With Midiout coming in #2302 the Midi licensing problem is at least solved for Windows, Linux and macOS, you can simply omit the libs.
libasound (ALSA) is LGPL and always part of the distribution, so not issues here.

@Ghabry
Copy link
Member Author

Ghabry commented Jul 13, 2021

A suitable alternative (good license) to WenQuanYi appears to be "Hanazono" however it is TTF only and converting this to 9 point BDF looks really bad :(

@Ghabry
Copy link
Member Author

Ghabry commented Jul 14, 2021

Very good news! Since End of 2020 GNU Unifont (another bitmal font) is Dual Licensed under GNU GPLv2+ w/ FE and SIF OFL.

SIF OFL (Noto from Google uses this) is GPL incompatible because it forbids distributing under another license as this directly conflicts with the GPL and derivative work.

So the open source Player can use the GPL and the nonfree one can use the SIF OFL.

Unifont could be also used to solve #847

@rohkea

@rohkea
Copy link
Member

rohkea commented Jul 14, 2021

Does Unifont have a 12×12 / 6×12 version? I can’t find anything about it. I can only find a 16×16 / 8×16 Unifont, which is too large for EasyRPG.

I think rasterizing a TTF font would be a better idea way to go. For example, Noto fonts are under SIL license. We can bundle WenQuanYi with GPL builds and rasterized Noto Sans with non-free builds. (This will mean the builds will look a bit different, but I think that's acceptable.)

@Ghabry
Copy link
Member Author

Ghabry commented Jul 14, 2021

yeah unifont is 16x16, so is actually not an option :(

@Ghabry Ghabry modified the milestones: 0.7.1, 0.7.0 Jul 14, 2021
@Ghabry
Copy link
Member Author

Ghabry commented Jul 17, 2021

Maybe is a good idea to preannouce this through a blogpost soon. Do not want to have this hidden in the gigantic 0.7 blogpost.

Also already prepare a "How to publih with Easyrpg player" article for the website :)

@Ghabry Ghabry modified the milestones: 0.7.0, 0.7.1 Oct 16, 2021
@Ghabry
Copy link
Member Author

Ghabry commented Apr 28, 2022

Alternative Chinese font under CC0 worth taking a look https://timothyqiu.itch.io/vonwaon-bitmap

@Ghabry Ghabry modified the milestones: 0.7.1, 0.8.0 May 29, 2022
@rohkea rohkea mentioned this issue Jun 13, 2024
35 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

5 participants