mwpenny / GameDroid

A GameBoy emulator for Android
GNU General Public License v2.0
44 stars 7 forks source link

Distribute On Google Play???? #3

Closed NyleCohen closed 5 years ago

NyleCohen commented 5 years ago

Hi.

Let's say I were to take your code and modify it. I want to distribute it on Google Play for free. My question is 1. Am I allowed to in the first place??? And 2. If so what do I need to do to keep it inside the license and your permission.

Thank you. Nyle.

mwpenny commented 5 years ago

Hi there. First, thank you for asking in the first place. A few people have just taken it, broken the license terms, and sold it. I have those taken down as find out about them.

What kind of modifications do you have in mind? Previously, people have just slapped ads on it and released it (while also breaking the license). To me, this goes against the spirit of open source: learning from others and incrementally improving upon things / taking things in another direction and then sharing the knowledge. Not only that, advertising this as a complete package taints the image of the project.

This was a school project and is by no means complete (e.g., no sound). I hope to one day finish it to a point where I'm happy enough with it to release it, and if other people want to contribute as well, that's great.

So if you plan on making some cool changes, I'd love to see them and would happily be open to pull requests.

mwpenny commented 5 years ago

Will all of that said, in order to adhere to the license you must:

1) Release your version under the same license (GPL 2.0)

2) Describe any significant modifications that you made to the original version

3) Include the license, disclaimer of warranty, and attribution to the original authors in your version in an obvious way

4) Describe how users can obtain the source code of your modified version

5) Describe how users can obtain the original version of the software

If you are confused, refer to the license file in the root of this repo. Most, if not all of these requirements can be easily implemented through a Help > About screen

NyleCohen commented 5 years ago

Hi.

Thank you for your response. I don't really know what I have in mind but I have been wanting to make an emulator for a GameBoy or another retro console. I have a gameboy advance sp and a gameboy color myself and LOVE them. If I ever do add any features to this I am sure to submit a pull request and definitely stay in the license and keep it ad free. I cant imagine how annoying it must be to have your code with specific license guidelines be taken and distributed for money.

Thank you. Nyle.

mwpenny commented 5 years ago

If you're into emulatior development, a great community is /r/EmuDev on Reddit.

If you've never done it before, I'd suggest starting simple to get the basic concepts of emulation down first. A lot of people recommend CHIP-8, which is a relatively simple virtual machine written in the 70s to create portable games. Since it's not a physical machine, you don't have to deal with the nuance of the analogue world and it's pretty straightforward. Emulating something like this helps for getting a grasp on how emulators operate at their core (fetch/decode/execute loop) without getting lost in the system-specific extras like complex graphics coprocessors.

I personally find it's easiest to get motivated for these projects when it's actually something you care about and have a connection to. For a first "real" emulator, or a next step after CHIP-8, I'd recommend NES or GameBoy. The NES is incredibly well documented (http://nesdev.com/). The GameBoy has decent documentation, but a lot of it is spread over different sites and some documents contain errors. I have a few resources for this in the docs\Reference material directory of this repo, but more can be found in places like http://gbdev.gg8.se/wiki/articles/Main_Page

What's great is that there are tons of retro emulators that can be used for reference. I also have a work-in-progress NES emulator here.

NyleCohen commented 5 years ago

Thank you for all of the help with emulation development. Ill definitely check out your NES emulator! Thank you for all of the help!

mwpenny commented 5 years ago

No problem, and good luck! Feel free to ask me emulation questions. [my first name] @ mattp.ca

NyleCohen commented 5 years ago

Thanks!