RFC: Change license
V10lator opened this issue · 32 comments
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
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?
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.
Fwiw the other console-specific platform libs devkitPro distributes (libctru, libnx, etc) use the zlib license.
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).
zlib is OK with me if everyone agrees
zlib seems OK. I guess that's what libogc is using: https://github.com/devkitPro/libogc/blob/master/libogc_license.txt
zlib is fine.
@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" ?
Absolutely, zlib is ok with me.
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.
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.
@V10lator I'm fine with the zlib license as well.
@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?
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:
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.
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.
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).
Copyright doesn't protect names or function signatures so it's not relevant.
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)
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. :)
I'm okay with zlib.
I'm okay with the zlib license as well
ZLIB, MIT, or IDGAF license
Whatever is the most permissive and is just a license for the fact of having a license.
I'm okay with the zlib license as well
I'm also okay with zlib.
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?
#wiiubru on Freenode, iirc, though I think it's just an idling bouncer/ZNC. dimok789 may be very difficult to get in contact with.
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!
I am ok with zlib. Sorry for the late reply.
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?