Raylib: Licensing question

Created on 6 Apr 2020  路  23Comments  路  Source: raysan5/raylib

My submission of raylib 3.0.0 to openSUSE has been declined.
The bot sais:

Contains non-commercial licenses.
Diff to closest match 153843:
Found new license CC-BY-NC-3.0 (risk 4) not present in old report
Found new license SCEA (risk 3) not present in old report

So raylib now ships things with SCEA and CC-BY-NC-3.0 license? That's correct? Then I'll add them to the spec file.

Most helpful comment

@jubalh Ok, just updated the 3.0.0 release, added raylib-noexamples-3.0.0.tar.gz. I removed examples, games, and projects directories. File shrinked from 90MB down to 4MB.

Actually games have been moved to raylib-games repo and some projects have been removed, next raylib releases (with examples) will stay under 30MB.

All 23 comments

:-o do you know which dependency is under a CC-BY-NC-3.0 license ?
if its code and not just example resources (for example) I'm going to have to stop using raylib - this is very concerning !

okay panic over!!!

grep "creative commons" * -Ri
examples/textures/resources/LICENSE: - [Scarfy spritesheet](scarfy.png) by [Eiden Marsal](https://www.artstation.com/artist/marshall_z), licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode)
examples/textures/resources/LICENSE: - [Fudesumi image](fudesumi.png) by [Eiden Marsal](https://www.artstation.com/artist/marshall_z), licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode)
examples/models/resources/models/castle.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/models/resources/models/bridge.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/models/resources/models/LICENSE:and licensed as Creative Commons Attribution-NonCommercial 4.0.
examples/models/resources/models/turret.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/models/resources/models/market.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/models/resources/models/well.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/models/resources/models/house.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/shaders/resources/models/barracks.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/shaders/resources/models/watermill.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
examples/shaders/resources/models/church.obj:# Licensed as Creative Commons Attribution-NonCommercial 4.0
grep scea * -Ri
examples/models/resources/models/Duck/Duck_license.txt:Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
examples/models/resources/models/Duck/Duck_license.txt:http://research.scea.com/scea_shared_source_license.html

I tried to list the licenses used by raylib's code dependencies https://gist.github.com/ibilon/ca0630adc9eb512bdba6b072edc0b0f7, it's missing info about raylib/src/external/ANGLE and raylib/src/external/dirent.h but lists the other 20.
Might be useful if you're looking into using raylib commercially.

@jubalh @chriscamacho Most of those example resources were also available on previous raylib versions, actually they were created by two of my students and they give me the rights to use them.

About the Duck model, it was added for some example to test glTF support... I removed it on commit https://github.com/raysan5/raylib/commit/5fb6155eea6777dbf9674425efebd209bcc17b20.

dirent.h is based on https://dev.w3.org/hypermess/hypermail/lcc/dirent.c, adapted by me, could it suppose a problem? It is used on Windows/UWP platforms and only when using MSVC compiler.

ANGLE is used only on UWP platform, it uses a BSD License that allows commercial use.

I just want to note that I really take a lot of care on the licenses used on raylib sources (and external libraries) but thanks for letting me know if I you find any problem with any of them.

@chriscamacho I'm also really concerned about license to allow commercial use.

@ibilon thanks for the licenses compilation, if you don't mind I'll add that information on raylib Wiki.

@ibilon thanks for the licenses compilation, if you don't mind I'll add that information on raylib Wiki.

No problem of course :+1:

Added information formatted in raylib Wiki

Closing this issue. Feel free to reopen if there is any concern.

I removed Android native_app_glue external dependency because is provided by AndroidNDK.

Also removed ANGLE libraries because there are used on UWP and project automatically syncs the required package.

@raysan5 The problem is, our tools scan the whole tarball, if it finds incompatible license files it doesnt let us upload it to the repository.

Would you mind creating something like a minimal tarball, which just contains raylib and excludes the examples? For some minimal systems that might be interesting anyways.
If I see correctly the strange license files are all only in the examples.
So that way we could still upload the tarball to our repos.

So far the latest raylib is still not in openSUSE because of this.. :(

@jubalh yeah, I see... those licenses are relative to the assets used on the examples... Actually most of those assets are contributions of my students, I proposed those CC-BY-NC licenses to them.

Actually those files have been there for several versions, I only moved the LICENSE file there for better organization.

How could I create a minimal tarball? Does it work a zipped file? What should/could I include?

Actually those files have been there for several versions, I only moved the LICENSE file there for better organization.

I'm also confused about this. My assumption is that before we just didn't have scripts to check for such cases.
CC-BY-* is of course good because also free. I assume SCEA was the problem.

How could I create a minimal tarball? Does it work a zipped file? What should/could I include?

I thought about having at the release page: https://github.com/raysan5/raylib/releases
Like we have currently the regular tarball (.tar.gz) you could also upload one which is the same but without the examples folder? What do you think about that?

I assume SCEA was the problem.

Actually that license was for a not-used testing asset (Duck.gltf), it was already removed on commit https://github.com/raysan5/raylib/commit/5fb6155eea6777dbf9674425efebd209bcc17b20.

I thought about having at the release page: https://github.com/raysan5/raylib/releases
Like we have currently the regular tarball (.tar.gz) you could also upload one which is the same but without the examples folder? What do you think about that?

I can just remove examples directory from current source.tar.gz and upload it or publish a new 3.0.1 release that won't include the previous SCEA license but will include several new changes... what do you prefer?

@jubalh Actually, there could be some assets on examples that have no license file attached (usually coming from contributions). Could it suppose a problem? In that case I can just edit source.tar.gz.

Actually that license was for a not-used testing asset (Duck.gltf), it was already removed on commit 5fb6155.

Awesome :)
That's good in general but for our build system I can only use the provided upstream tarball. Even if I would remove the files later on it wouldn't allow it because it scans the tarball right at the beginning.

I can just remove examples directory from current source.tar.gz and upload it or publish a new 3.0.1 release that won't include the previous SCEA license but will include several new changes... what do you prefer?

Maybe some other distrubtions rely on the current tarball (and its checksum) already. So I wouldn't change the current tarball. But you could provide a new one raylib-noexamples.tar.gz which is the same as 3.0.0 but has the examples directory removed which would be one option.

Or releasing 3.0.1 with new changes, new changelog but still contaning examples but without the strange license.

But in any case I think examples mostly make sense for regular uses (like on windows) that build raylib itself or include it in their own project. But for distrubtions who just want to build the library for users to use it dynamically the examples are not important. So generally having two tarballs, one complete and one without examples might make sense anyways.

Actually, there could be some assets on examples that have no license file attached (usually coming from contributions). Could it suppose a problem? In that case I can just edit source.tar.gz.

Legally I'm not sure. But in our case it won't be a problem because the script wont detect it :D

@jubalh Ok, just updated the 3.0.0 release, added raylib-noexamples-3.0.0.tar.gz. I removed examples, games, and projects directories. File shrinked from 90MB down to 4MB.

Actually games have been moved to raylib-games repo and some projects have been removed, next raylib releases (with examples) will stay under 30MB.

@raysan5 this is awesome news! Thanks a lot for doing this! Also the saving in file size is excellent, I guessed that would happen.
I already made a new request for openSUSE, hope it will get accepted now :)
Thanks!

One small question I would like to ask. Should I install all of those:
raylib.h
raudio.h
physac.h
raymath.h
rlgl.h
Or just raylib.h?

@jubalh Nice! Cross-fingers! 馃槃

About the headers, actually, all of them can be installed. By default, I just install raylib.h because the other ones are for specific use cases and I let the users manage them as they wish... but yeah, probably it's easier to just make them available and forget about it...

About the headers, actually, all of them can be installed. By default, I just install raylib.h because the other ones are for specific use cases and I let the users manage them as they wish... but yeah, probably it's easier to just make them available and forget about it...

Okay, thanks for the info! :)

request got accepted. We have raylib 3.0 now in openSUSE!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

williamfjm picture williamfjm  路  3Comments

dginu85 picture dginu85  路  8Comments

siavashserver picture siavashserver  路  5Comments

SethArchambault picture SethArchambault  路  9Comments

gavriil07 picture gavriil07  路  11Comments