Old Regen pages

AamirM's Regen forum

Moderator: AamirM

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Tue Feb 26, 2008 11:32 am

Eke wrote:
thanks. Yes I am planning it to add it soon. I also have your doc and code of the eeprom. That will be a big help. Thanks again.
you're welcome... by the way, if you get inspirated by the modified genesis plus code I wrote to fix compatibility issues, I would appreciate to be credited, it took me lot of time to figure some sensitive stuffs that wasn't still properly emulated before or not documented by emu authors :oops:

* Dino Dini Soccer runs perfectly now. Even more accurate than Kega Fusion and Gens!
just curious, what is wrong with this game in Gens ?

also, will this project stay closed source ? I'm always curious to see how different people manage to solve the same problems.
Hi,

I have already credited you :wink: . See the readme, your name is there. Also I will also be crediting you when I add the eeprom support in 0.5 that I am working on right now.

About the Dino Dini Soccer, sorry that is my mistake :oops: . I must be sleepy. I will remove Gens' name from there. I am really sorry again.

About the source code, well its not going to open up any time soon :( . When I am up to a point when I think I am done with it then I may consider open sourcing it. In the meantime feel free to ask me how I solved a certain problem. I may even provide code help, or actual code snippets from Regen, if explanation is not clear enough. All you have to do is ask :) . But you just can't say "Give me your VDP code? or something like that. My email is in the readme. Anyone is free to contact me and ask for help. I think thats the best I can do right now.

stay safe,

AamirM

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Tue Feb 26, 2008 1:47 pm

oh, that's cool... not that it is something really important but my ego has always dreamed to be mentionned in a readme :lol:

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Tue Feb 26, 2008 6:08 pm

Eke wrote:oh, that's cool... not that it is something really important but my ego has always dreamed to be mentionned in a readme :lol:
Actually I think it should be important 8) .

notaz
Very interested
Posts: 193
Joined: Mon Feb 04, 2008 11:58 pm
Location: Lithuania

Post by notaz » Thu Feb 28, 2008 1:06 pm

AamirM wrote: About the source code, well its not going to open up any time soon :( . When I am up to a point when I think I am done with it then I may consider open sourcing it.
I can't understand your reason here. You have something to hide?

BTW, it seems you are using the MAME YM2612 core, so by not releasing the code you are violating their license. True, your emu is not the only one doing this, but still, it doesn't look nice to me.

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Thu Feb 28, 2008 2:38 pm

notaz wrote:
AamirM wrote: About the source code, well its not going to open up any time soon :( . When I am up to a point when I think I am done with it then I may consider open sourcing it.
I can't understand your reason here. You have something to hide?

BTW, it seems you are using the MAME YM2612 core, so by not releasing the code you are violating their license. True, your emu is not the only one doing this, but still, it doesn't look nice to me.
Hi,

Sorry if I wasn't clear enough. First of all tell me what difference will it make if I had opened up the source? I can hardly think there would be someone wanting to develop or work on it. And even if there was, it would be very hard to get them working on things that you want them to work on. And even I got such a developer then there would've been the licensing issues which I absolutely hate. To be honest, I don't like any of the current open source licenses. Take the example of Gens, it licensed under GPL, but uses code with an incompatible license(Starscream). Does it look nice to you? Not to the GPL people for sure. But nobody cares or gives a damn about it. Has Gens got any real developer that is enhancing it? Then there is the problem of forking. Here is a small excerpt from one of byuu's(author of bsnes) article.

"Take a look at the Compiz and Beryl projects. Compiz was an attempt to add 3D effects to the desktop of X-Windows, the video display server for Linux. It was released under the MIT license, which is very similar the BSD license. The authors of Beryl, apparently upset that Compiz preferred to keep their project stable rather than continue adding feature after feature, forked the project and relicensed it under the GPL. As a result of this, the workforce behind Compiz was cut in half. Even worse in this case, is that Compiz cannot legally use any of the code added to Beryl, but Beryl is free to take any code from Compiz. Would you, as an author, want to compete against a project like Beryl? "

These are all the headaches that I am trying to avoid. Since most of the developers are not lawers they don't understand most of implications when they open source something under a license. Or they think that just open sourcing will satisfy everything. Which takes me to the point which I mentioned in my first post on this issue in which I meant that when I think Regen will be better off if its open source, I will open source it. Right now I don't think so. This is not my first software project or even my first emulator, I have written a Neogeo emulator before and before that I was a kernel developer(open source).

stay safe,

Aamir

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Thu Feb 28, 2008 3:45 pm

You don't know what you're talking about.
A project can have multi-licence.
Gens is ok about his licence, all the code written by Stef is under GPL and Starscream have a GPL-like licence. I don't see what bothering you in this ?
The only way (legally) to have a closed source project with gpl code (or gpl like) is to use this code dynamically (.dll, .so).
If your project contain gpl code, you have to switch your licence to gpl.

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Thu Feb 28, 2008 4:59 pm

ElBarto wrote:You don't know what you're talking about.
A project can have multi-licence.
Gens is ok about his licence, all the code written by Stef is under GPL and Starscream have a GPL-like licence. I don't see what bothering you in this ?
The only way (legally) to have a closed source project with gpl code (or gpl like) is to use this code dynamically (.dll, .so).
If your project contain gpl code, you have to switch your licence to gpl.
No, Starscream license does not allow commercial usage where as GPL allows it. This is a violation of GPL. See this.

Near
Very interested
Posts: 109
Joined: Thu Feb 28, 2008 4:45 pm

Post by Near » Thu Feb 28, 2008 5:34 pm

Note to the admin: I absolutely love the signup process on this board! Great job on that! :D
BTW, it seems you are using the MAME YM2612 core, so by not releasing the code you are violating their license.
MAME license:
Redistributions that are modified from the original source must include the complete source code, including the source code for all components used by a binary built from the modified sources.
AamirM, you are indeed violating their license if you are using their code. I would strongly recommend writing your own YM2612 core, or finding an alternative. Try and avoid any licenses that restrict what you can and can't do with the code you write yourself (eg non-commercial, copyleft, etc clauses.)
Here is a small excerpt from one of byuu's(author of bsnes) article.
Sadly, that's an outdated example. Compiz and Beryl have since merged to form Compiz Fusion. There are plenty of examples out there, though. Focus on the message -- not the specifics, and all that.
The only way (legally) to have a closed source project with gpl code (or gpl like) is to use this code dynamically (.dll, .so).
That's legal? I was under the impression only the LGPL allowed even dynamic linking of code like that. I seem to recall musings about how the header files needed have GPL'ed code in them (constants and prototypes, ugh) or some such.
These are all the headaches that I am trying to avoid.
Looks like you're not having much luck.

I'm a big-time supporter of emulator sources being available for documentation purposes, but even I try not to single out individual authors in public. Hopefully everyone will leave you alone once you resolve the MAME license violation.
First of all tell me what difference will it make if I had opened up the source?
Well, since you asked ... my argument is that it helps other aspiring emulator authors out. When I wrote my emulator, existing source code was a great source for research where the documents were not clear. Even luckier for me, none of the SNES emulators with human readable code were licensed under the GPL :D

I pretty much release my source for two reasons: one, to allow Linux/BSD/Solaris users to build binaries; and two, to allow those wanting to research the hardware (either as emulator authors or as hobbyist SNES programmers) to observe my understanding of it.

In this case, my license does not matter. I don't mind if people learn how to do something from looking at my code, and then implement it in their emulators: I encourage it. But just forking an actively developed emulator to change ~1% of the code, which makes up ~95% of all emulator forks, is stupid.

Now, I noticed you said you'd provide code for any particular sections anyone asks for. That sounds awesome to me! While it's always nice to not have to ask, if they can't be bothered to -- why should you have to go out of your way to appease them?

I really just want to get past the pissing contests of yore, where authors would reverse engineer something, and hide their findings so they could claim superiority over other emulators. That kind of attitude benefits nobody. Sure, you don't technically have to release your findings, but if you aren't making any money anyway -- why not? Is your ego really that important?
No, Starscream license does not allow commercial usage where as GPL allows it.
Correct. Starscream cannot be combined with GPL code. Once Starscream is built into the emulator, the binary is no longer GPL compatible. Stef could license his own code as GPL, but nobody could legally create binaries with Starscream in it except Stef (at which point the GPL would not apply to that binary in any way.)

A project can only be multi-licensed if all licenses are compatible. That means no license with GPL code can have restrictions that the GPL does not, and vice versa.

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Thu Feb 28, 2008 5:50 pm

I really just want to get past the pissing contests of yore, where authors would reverse engineer something, and hide their findings so they could claim superiority over other emulators. That kind of attitude benefits nobody. Sure, you don't technically have to release your findings, but if you aren't making any money anyway -- why not? Is your ego really that important?
I second that...
now, Mr Snake, give us (please) your (awesome) YM2162 core !!
:twisted:

seriously, regardless of licensing issues, choosing to go in the "closed source" way, even it is absolutely not my way of thinking, should really be left to the author's decision and we should respect (I think) that choice

notaz
Very interested
Posts: 193
Joined: Mon Feb 04, 2008 11:58 pm
Location: Lithuania

Post by notaz » Thu Feb 28, 2008 8:08 pm

First of all tell me what difference will it make if I had opened up the source?
Well, since you asked ... my argument is that it helps other aspiring emulator authors out. When I wrote my emulator, existing source code was a great source for research where the documents were not clear. Even luckier for me, none of the SNES emulators with human readable code were licensed under the GPL :D
Well said.

Like mentioned, there were (and probably will be) many closed source Genesis/MD emus using MAME core, and MAME devs weren't too bothered about that. I guess it's up to you to decide how (or if) to resolve this.

Near
Very interested
Posts: 109
Joined: Thu Feb 28, 2008 4:45 pm

Post by Near » Thu Feb 28, 2008 10:07 pm

Ah, one important point I forgot to mention.

AamirM, you've no doubt benefited from open source Genesis emulation code, have you not? What if Gens, Starscream, Musashi, MZ80 and MAME were all closed source, for the same reasons you have cited? Your VDP emulation code could be just as beneficial to another as the aforementioned projects were to you.

It's not that you have to release your source code -- it's just a courtesy. Returning the favor to help the community as a whole, and all that. Altruism, in other words.

The unfortunate thing is being attacked and/or derided for not choosing to release your code (*). I regret that this happens, and I also apologize that even I will publicly attack the practice in general. But I never intend to go after one specific person for it. We can agree to disagree, yet still respect each other, right? :)

(* I don't think anyone here was harsh or unreasonable, for what it's worth. But I've had some rather nasty messages sent my way about my own software licensing, so I can empathize.)

I do hope you will address the MAME licensing issue, however. Clearly, none of us want to (or, let's be real, can afford to) chase each other down with lawyers. This is all non-commercial hobbyist work. These licenses are largely common courtesy requests. They only really prevent large scale commercial distributors from going against our wishes.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Thu Feb 28, 2008 11:30 pm

byuu wrote:
The only way (legally) to have a closed source project with gpl code (or gpl like) is to use this code dynamically (.dll, .so).
That's legal? I was under the impression only the LGPL allowed even dynamic linking of code like that. I seem to recall musings about how the header files needed have GPL'ed code in them (constants and prototypes, ugh) or some such.
Only LGPL can be used directly via dll/so libs. GPL code cannot be used that way. The way nvidia gets around it is the make a dynamic library layer of their own which is open source that then loads the GPL lib dynamically. So the part of the program that uses the GPL code complies with the GPL (it's usually made LGPL), and is in turn loaded dynamically by the closed source main code. That is the way to use GPL code in a closed source.

Proprietary App <-> LGPL shim <-> GPL lib

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Fri Feb 29, 2008 9:08 am

I took me years to release KMod source code while Gens original license asked to do it

why ?

1/ my code was too much crappy!
I definetly can't release this ;)

2/ I didn't want a KMod alpha plus to be released...
I want only one KMod, not for me, but for you, to be able to use one and only debugger.
It's not because it's the best (it's not!) but because switch from one emu to another one to another one it's just boring !
it's why I used some ideas of fuzzbuzz for exemple : he released a gens version of its own, I just merge it with KMod. Same thing for Edge PSG debugger.


So, AamirM do your best! If you ever can provide us a TRUE debugger (with trace and breakpoint), you'll make a lot of people happy!
I don't want you to stop because of license stuff!

to people who want to discuss license stuff, please do it on "blabla"
and first, ask Gens32 source code ;)))) (to fix with 16bits colors switch nightmare!)


I know some guys here won't be agree with what I said, but sorry, it's MY point of view ;)

Edge-`
Interested
Posts: 39
Joined: Sun Dec 10, 2006 3:26 am

Post by Edge-` » Fri Feb 29, 2008 1:15 pm

Agreed, this site and this sub-forum is certainly not the place for license discussion. It's a place to further the home-brew development of the Genesis / Megadrive. We should be encouraging of new developments. I don't see anyone else using thats out there to make their own emulator, so just take it to another place and use this thread to report bugs, request features, etc. related to this emulator.

Just my opinion :D.

Spritesmind has always been a positive, encouraging place, I would love to see it stay that way without the bicker that plagues most forums.
Genny Wars (Someday.. :D)

Near
Very interested
Posts: 109
Joined: Thu Feb 28, 2008 4:45 pm

Post by Near » Fri Feb 29, 2008 7:36 pm

Agreed, this site and this sub-forum is certainly not the place for license discussion. It's a place to further the home-brew development of the Genesis / Megadrive.

Spritesmind has always been a positive, encouraging place, I would love to see it stay that way without the bicker that plagues most forums.
Ah, is that the case? Sounds like a really nice place.

I wasn't aware of the atmosphere here -- this thread was linked from the ZSNES discussion board, so I decided to throw in my two cents. My apologies for continuing the licensing discussion, then. No reason to continue that discussion anyway, I'll just drop the issue.

Best of luck in the future with your emulator, AamirM! I'll be watching your project with great interest.

Locked