notaz / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
290 stars 165 forks source link

Move from non-commercial to a free license #41

Open Kekun opened 7 years ago

Kekun commented 7 years ago

Recently MAME switched its license from non-commercial to GPLv2+ with most code being under BSD. This is awesome as it makes it simpler for Linux distributions and other distributors to ship it.

I read here that PicoDrive was based on MAME code, as the situation changed since then is there any chance to change PicoDrive's license from non commercial to a free one? As the original authors agreed to change its license I suspect they would accept the same change for PicoDrive, asking them should be a formality (I would gladly help) so only the PicoDrive devs would have to agree.

Such a change would make PicoDrive way easier to ship into Linux distros and I would be eager to ship it once this change made. :)

Here is the state of the requests to move from MAME to MAME + GPLv2+.

Accepted:

Contacted:

To query:

No need to query (no code in PicoDrive anymore):

Sources:

Contributors to maybe add:

notaz commented 7 years ago

Well it's not only MAME, but several other people/projects including Genesis Plus GX. I can try to compile a full list when I have time/energy, but it will still be a mess.

Kekun commented 7 years ago

If you can compile that list I'm OK to ask each and every person in it, I think the goal is worth the work. :)

hooby3dfx commented 7 years ago

There is a credits list here to get you started: http://notaz.gp2x.de/pico.php

notaz commented 7 years ago

So the project was started by fDave more than 10 years ago, and more recently he has republished his code as dual licensed with GPLv2 and MAME: https://code.google.com/archive/p/cyclone68000

Based on that GPLv2 would probably be the easiest choice. However the first major obstacle is cd emulation parts from https://github.com/ekeeke/Genesis-Plus-GX :

pico/cd/cdc.c
pico/cd/cdd.c
pico/cd/gfx.c

If ekeeke doesn't want to give these files away under a different license, there is probably no point to continue with this.

Kekun commented 7 years ago

@hooby3dfx Thanks! @notaz We will see, in the worst case the project could have a dual license GPLv2+MAME except for the MCD which, if removed by distributors, would make the project GPLv2 for them.

Kekun commented 7 years ago

I updated the first comment with a list of contributors to query: @notaz does it look complete to you?

notaz commented 7 years ago

Probably, but I'm not 100% sure. I don't think there is any Stéphane Dallongeville's (Gens author's) code any more, there were some Sega CD bits long ago that were all replaced with Eke-Eke's, although I did look at his x86 asm code a lot.

hooby3dfx commented 7 years ago

@Kekun any luck getting started? @notaz do you accept?

As @notaz mentioned, a critical portion is from Eke. I have reached out to him here: https://bitbucket.org/eke/genesis-plus-gx/issues/433/cd-emulation-code-license-for-picodrive

hooby3dfx commented 7 years ago

Eke's reply was no-go. There is however a BSD license MAME implementation for Sega CD which may be an option? https://github.com/mamedev/mame/blob/master/src/mame/machine/megacdcd.cpp

Kekun commented 7 years ago

@hooby3dfx That's definitely something to investigate IMO. :o Nice finding!

Kekun commented 7 years ago

So to sum things up and to get this going, we should:

Am I missing any step? :)

hooby3dfx commented 7 years ago

So where does this stand realistically?

@Kekun what else will it take for your branch to be considered GPLv3+MAME? Would it make sense to fork temporarily? That way the main goal could be achieved, and then CD support could be added later - and it would also not interfere with the working functionality in picodrive.

@notaz have you considered this proposal?

If there were to be a GPL/MAME fork, could new commits here (that are not derivative of the CD code) be valid to be included in the fork?

notaz commented 7 years ago

I really don't like breaking the emulator, temporarily or not, due to lack of time it might never get fixed.

What about a ./configure option to that would only compile GPL compatible code, and stub-out everything else? I think there are other projects that do something similar (ffmpeg?).

inactive123 commented 6 years ago

Would just like to point out here that @hooby3dfx (aka Bryan Barnes, the one with the unsuccessful Seedi indiegogo campaign, because as usual this self-styled 'entrepreneur' does not even want to put his own money into something he wants to make money off) is lobbying for this for self-serving purposes so that he can sell an emulator box without having to pay anybody so much as a license fee. He already treated us like shit before and thought he could get away with it. He probably did not anticipate that we could get the word out through social media and that could sway people's decisions heavily on whether or not to support his crowdfunding campaign.

inactive123 commented 6 years ago

As for your query -

'twinaphex libretro@gmail.com autechre1024@hotmail.com'

I hereby do not accept this. I'd say leave it as it is. if it proves a deterrent for guys like @hooby3dfx to have their cake and eat it, that is a good thing in my book, and I see no reason why that should change. If you want a completely GPL'ed Genesis emulator, I am sure you could either make your own emulator or find something else to crib from. Maybe put some effort into things, I dunno, instead of just reselling ready-made stuff. Horrible thought I know, putting effort into things. Much better just to resell other's hard work that has been built up for decades, right?

andres-asm commented 6 years ago

Just want to mention that I have no relevance to this conversation, I dunno when did I accept but my commits have no relevance to this discussion, it was just a makefile edit.

Kekun commented 6 years ago

I would love to see PicoDrive become free software but to be honest I lost a bit interest into that topic and moved away to BlastEm instead. 😐

gameblabla commented 6 years ago

Personally, i would still be ok with a GPL-only configure switch, even if it means having no Sega CD emulation. It's better than nothing. (and we should still get 32x emulation in this case, assuming the 3 files you mentioned are the only blockers ?)

csolisr commented 6 years ago

Since this bug has had no apparent progress, is it possible to remove the commits that the other developers added, rewrite them if possible, and making a GPL-only branch?

gameblabla commented 6 years ago

The last commit with the GPL-licensed cd code is this one https://github.com/notaz/picodrive/commit/8e4e84c2150047dcbe3799083cdfa2a7d5cf9d7b I made an attempt using manual patches but it did not go well... Either way, we would need notaz to agree to at least dual-license his code under an open source license like MIT, BSD or GPL. Then we can go ahead and revert all the commits that are related to the non-free CD code. (and use the one from Gens instead, with still CD32X emulation it seems)