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

RFC: Change license #122

Closed
V10lator opened this issue Apr 30, 2020 · 32 comments
Closed

RFC: Change license #122

V10lator opened this issue Apr 30, 2020 · 32 comments

Comments

@V10lator
Copy link
Contributor

V10lator commented Apr 30, 2020

As already discused on Discord GPLv2 forbits none-GPL homebrews to link to WUT but almost every homebrew in existence does this (in fact it's required by WUT: https://github.com/devkitPro/wut/blob/master/samples/make/helloworld/Makefile#L39 ).

So a license change is needed. There are a few options:

  • Adding linking exception to the now used GPLv2
  • Changing to LGPL
  • Changing to a completely different license

This is a RFC to see what the contrinutors want. If we have all results I'll take the option most people want and do a pull request to change the license accordingly.

Pinging all contrinbutors to make sure they see this:
@exjam @QuarkTheAwesome @shinyquagsire23 @CreeperMario @Maschell @rw-r-r-0644 @fincs @dibas @dimok789 @WinterMute @Crayon2000 @BullyWiiPlaza @xhp-creations

@V10lator
Copy link
Contributor Author

V10lator commented Apr 30, 2020

One more thing: I saw some homebrews in the wild which copy&pasted from WUT sample codes. That means there are not only homebrews linking to WUT but also derivative works already released in public.

//EDIT: My question to this is: Do we want to take this into account while changing the license or do we (just like now) silently ignore / tolerate these homebrews?

@BullyWiiPlaza
Copy link
Contributor

BullyWiiPlaza commented Apr 30, 2020

I was wondering about this "issue" as well. I'm voting for e.g. the GPLv2 linking exception which is basically the LGPL so you can still freely choose your license and you're only "forced" to share improvements made to wut directly.

It's kind of nonsense to make an elementary toolchain providing OS function headers strictly GPLv2 when it's highly inconvenient to develop any kind of project without it, just so you are able to pick another license.

@fincs
Copy link
Member

fincs commented Apr 30, 2020

Fwiw the other console-specific platform libs devkitPro distributes (libctru, libnx, etc) use the zlib license.

@dibas
Copy link
Contributor

dibas commented Apr 30, 2020

As far as I can see libnx uses the ISC license, actually, not that they differ that much. Licensing similarly to other console homebrew toolchains/libs sounds sensible to me. I would vote for directly switching to a more permissive license instead of playing around with nonstandard license exceptions.

While that's my opinion my contributions to wut were quite minor, so I would probably go with what the main active contributors think about this issue (exjam and quark, mostly).

@exjam
Copy link
Contributor

exjam commented Apr 30, 2020

zlib is OK with me if everyone agrees

@Crayon2000
Copy link
Contributor

zlib seems OK. I guess that's what libogc is using: https://github.com/devkitPro/libogc/blob/master/libogc_license.txt

@WinterMute
Copy link
Member

zlib is fine.

@V10lator
Copy link
Contributor Author

V10lator commented May 6, 2020

@fincs I know this question sounds stupid but changing license is a hot topic so just to get it straight: You're fine with switching to zlib, right?

@BullyWiiPlaza So far this conversations seems to settle on zlib. Would you be fine with that, too, or is your statement "GPLv2 with linking exceptions or no change at all" ?

@fincs
Copy link
Member

fincs commented May 6, 2020

@V10lator Of course, I'm for it :)

@V10lator
Copy link
Contributor Author

V10lator commented May 6, 2020

@fincs Thanks for clarification. :)
@dibas Forgot to tell that clarification is needed from your end, too. I guess you agree with zlib but please write a clear statement saying you're ok with it. :)

@dibas
Copy link
Contributor

dibas commented May 7, 2020

Absolutely, zlib is ok with me.

@ashquarky
Copy link
Contributor

zlib is a touch too permissive for my tastes (attribution not required for non-source distribution? ouch), but can see I'm late to a consensus party and don't wanna stop the train rolling; so yeah, it's fine with me.

@ashquarky
Copy link
Contributor

The other possible issue I can see is that a lot of wut's function signatures and such were taken from Decaf, which is also GPL. I doubt it'll be an issue - one could make an argument about function signatures not being copyrightable anyway - but it's worth considering.

@BullyWiiPlaza
Copy link
Contributor

@V10lator I'm fine with the zlib license as well.

@V10lator
Copy link
Contributor Author

V10lator commented May 7, 2020

@QuarkTheAwesome Thanks for telling about Decaf. I guess you're right and that's something to take in mind but I also think there's no simple way to see what exactly has been taken from Decaf?

//EDIT: I don't think you're late to the party and your voice matters just as much as everyone elses. If you want something more creditable maybe something like freetypes dual-licensing system ( https://www.freetype.org/license.html - dual licensed to GPL and a BSD-like license with credit clause) could work?

@V10lator
Copy link
Contributor Author

V10lator commented May 7, 2020

I tried to compare WUT and Decaf and it seems to be a mess. There are codes copied back and forth, WUT even uses Decaf values:
image

That said changing license might be a tough task: One would have to make sure all these codes presented in both projects origin from contibutors who are fine with the license change. Not sure if I'll find the time for that so would anyone be willing to do that task?

//EDIT: Looking a bit deeper there seems to be a issue with WUT and Decaf code sharing anyway: WUT is GPLv2 but Decaf GPLv3. So I guess this has to be resolved no matter what.

@ashquarky
Copy link
Contributor

I've been thinking about it, and for a toolchain library attribution might be a bit silly to ask for anyway - arguably a lot of people installed wiiu-dev, copied a sample and aren't aware of the details, and getting on their back for not including a copy of the MIT license (for example) in their binary is a bit absurd. If this works well for the other platforms, then I'm happy to take it.

Decaf has served as the somewhat definitive reference work for all things Cafe, so you'll find a lot of things borrowed, especially in include/. Again, there is the question of how much of that is even copyrightable, though.
If we're being strict about it, we can exclude things that exjam wrote and pushed to both projects (I suspect the Console bits you're looking at are an example of that) since we already have exjam's OK to change licenses on his code.

@V10lator
Copy link
Contributor Author

V10lator commented May 7, 2020

Yea, attribution may not work cause of the sample codes.

So far the following code-sharing files have been identified (ignoring WUTs .def and .oxy files) :

  • decaf-emu/tools/wiiu-rpc/src/console.c - wut/libraries/libwhb/src/console.c - Code authors seem to be @exjam and @QuarkTheAwesome - so that should be fine.
  • decaf-emu/src/libgfd/gfd.h - wut/libraries/libgfd/include/gfd.h - Code author seems to be @exjam, so also fine.
  • decaf-emu/tools/wiiu-rpc/src/main.c - wut/samples/cmake/curl/main.c - Contributors for that file on Decaf are @exjam and @QuarkTheAwesome again. :)

Please note that this list is quick&dirty. If any of you are able to identify more code-sharing files please do so.

BTW: I don't think exclusions are neccessary, you and @exjam should be able to dual-license your contributions (GPL for Decaf, zlib or whatever this discussion ends with for WUT).

@WinterMute
Copy link
Member

Copyright doesn't protect names or function signatures so it's not relevant.

@shinyquagsire23
Copy link
Contributor

I'm fine w/ changing licenses to zlib, MIT, LGPL, (really don't have any preferences so it's just an unconditional 👍 on my end)

@V10lator
Copy link
Contributor Author

V10lator commented May 7, 2020

Current voting results, please correct me if I'm wrong:

  • BullyWiiPlaza: GPLv2 le, zlib
  • fincs: zlib
  • dibas: zlib
  • exjam: zlib
  • Crayon2000: zlib
  • WinterMute: zlib
  • shinyquagsire23: zlib, MIT, LGPL
  • QuarkTheAwesome: zlib, maybe some other license if we find one?
  • V10lator: zlib or whatever

Still waiting for the replies of 5 more contributors but seems like zlib will make it. :)

@CreeperMario
Copy link
Contributor

I'm okay with zlib.

@rw-r-r-0644
Copy link
Contributor

I'm okay with the zlib license as well

@xhp-creations
Copy link
Contributor

ZLIB, MIT, or IDGAF license

Whatever is the most permissive and is just a license for the fact of having a license.

@Maschell
Copy link
Contributor

I'm okay with the zlib license as well

@GaryOderNichts
Copy link
Contributor

I'm also okay with zlib.

@V10lator
Copy link
Contributor Author

V10lator commented May 24, 2020

Okay, so to roll this train we only need the reply of @dimok789 now. Does anyone know how to reach him as he doesn't seem to be active on github since 3 years?

//EDIT: Found two e-mail addys (one hotmail.de, one gmail.com) and wrote to them. Hopefully one of the addys is still in use. :)

//EDIT²: hotmail.de is a dead end:

<[CENSORED]@hotmail.de>: host eur.olc.protection.outlook.com[104.47.18.161] said:
    550 5.5.0 Requested action not taken: mailbox unavailable (S2017062302).
    (in reply to RCPT TO command)

//EDIT³: Does anyone (@QuarkTheAwesome maybe) know what IRC server and channel this screenshot has been taken from?
image

@ashquarky
Copy link
Contributor

#wiiubru on Freenode, iirc, though I think it's just an idling bouncer/ZNC. dimok789 may be very difficult to get in contact with.

@V10lator
Copy link
Contributor Author

V10lator commented May 25, 2020

Yea, it's just a bouncer. I was hoping it has some kind of contact info attached but also nothing:

* [dimok] (~dimok@unaffiliated/dimok): Dimok's Bouncer
* [dimok] @#wiiubru 
* [dimok] barjavel.freenode.net :Paris, FR, EU
* [dimok] idle 03:40:06, signon: Mon May 25 03:31:37
* [dimok] is logged in as dimok
* [dimok] End of WHOIS list.

//EDIT: I think it's a good idea to give dimok more time to reply and also try to contact him on other ways (so far he should have notes from GitHub, an e-mail to the gmail addy and a PM to the bouncer) but we might need to think about removing his contributions. Seeing they are small this might be no problem but as small as they are, as heavyweight they look to me, so not sure about that / that's something to consider for more experienced WUT devs.

//EDIT²: now I wrote a PM to him on GBATemp, an e-mail to the owner of a website which might or might not be his website, another PM to another person on GBATemp (which might be Dimok according to some rumors) and some guy on facebook where I don't really think it's him but you never know...

//EDIT³: We have a sign of life! Had a talk with Cyan from GBATemp:

I don't have any contact anymore. I had only his hotmail.de mail too, but he told me he deleted that mail years ago.
he is apparently not totally offline, as we shared one mediafire account for USBloaderGX, and he changed the password recently without telling me (this year).


Ohh, I just checked, and it seems he was last seen online on GBAtemp today!

@dimok789
Copy link
Contributor

I am ok with zlib. Sorry for the late reply.

@V10lator
Copy link
Contributor Author

V10lator commented Apr 28, 2021

Almost a year has passed, all none-GPL homebrews are still illegal but WinterMute doesn't care?

Well, I'm going to close this now. @WinterMute you should really start to find an agreement between all contributors and change the license! So far everyone except you is fine with zlib. At the pull request (#148) you told you're not fine with zlib for the example codes, so come and get all conrtibutos to get an agreement to this (after that you'll see why I told I'm out at the PR).

Also while we're at it: At the pull request you told "The 84 commits behind the repostitory that was forked from https://github.com/switchbrew/switch-examples should have told you that you weren't looking at the canonical source" - doesn't matter. I was looking at the source devkitpro stated to use as its source. Also at the link from you there's still no license specified. I repeat myself: without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work (Source: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#choosing-the-right-license ) - So everyone using switch-examples is breaking copyright! Do you really want one freak to sue every single Nintendo homebrew dev just because you don't care about this license mess in DKP?

@WinterMute
Copy link
Member

Almost a year has passed since anyone mentioned this after a PR was closed in a strop. This user said they wouldn't interact with us again.

For context.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests