6

There's a well-known GPL3 game on Google Play called Pixel Dungeon by watabou (which includes a game engine by watabou called "noosa" which is also GPL3), and it accepts donations in the app. The game has been forked by many programmers, in particular by Nyrds to "Remixed Pixel Dungeon", where they added unlockable perks for donating, as well as advertisements and IAP.

I've been working on my own version forked from RPD, and I plan to make it more significantly different from its forerunners than any of the variants I've found online. I started from RPD rather than PD because RPD added a number of features I wanted to cannibalize. I've removed the ads and IAP, but I'm leaving the donation option in and possibly some donation perks.

I'm making a lot of changes to the system, and for my own sanity I've been refactoring the entire structure of the code base: it no longer uses same the directory structure watabou or Nyrds set up, so at a glance it isn't obvious anymore from the structure of the code alone 'who did what' exactly. I understand enough about GPL3 that I know I need to provide users with a link to my own code (which I'll keep on github), and that's not a problem.

My question is this: how much trouble do I need to go to in order to properly credit watabou and Nyrds for what they've already done? Is it sufficient for me to mention them both, knowing that the forks on Github allow them to be located by anyone who visits my personal code source, since the trail of forks leads back to both of them? Or do I need to provide and maintain a set of links to the authors' and their work, which might require upkeep on my part?

My hope is that absorbing others' code into my own directory structure (rather than keeping it in com.watabou.*, etc.) isn't going to cause me a legal headache. I just prefer being able to organize the code as I see fit, and toss the bits that I never plan to use, since I can always access it again through Github if need be.

0

2 Answers 2

6

I'm not aware of any requirement to credit previous authors, aside from keeping their copyright notices intact.

I suggest you copy their notice of rights, and the warranty disclaimer to your LICENSE file:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The thing to be careful about is whether or not they include:

...or (at your option) any later version.

For the sake of courtesy you could add the following to your LICENSE file:

  • the program's name and version number when you forked
  • their copyright notice from the code (this also gives a date)
  • some appropriate link

The original code

You could note the latest commit ID (e.g. ca458a2).
Then you could offer the ability to browse or directly download the original code:

4

How much access to the “original” code of a GPL-sourced project do I need to provide, personally?

TL;DR:

I do not have to provide any access to the “original” code of a GPL-sourced project I forked and I modified. I have however several obligations to document the origin and license of the code and provide proper attribution. And I need to make my modified source code available.

Now let's look at what I should do in details:

My question is this: how much trouble do I need to go to in order to properly credit watabou and Nyrds for what they've already done? Is it sufficient for me to mention them both, knowing that the forks on Github allow them to be located by anyone who visits my personal code source, since the trail of forks leads back to both of them?

First almost all open source licenses require some form of attribution. In particular the GPL 3.0 always requires attribution.

Or do I need to provide and maintain a set of links to the authors' and their work, which might require upkeep on my part?

Yes, I would require to do some work. Is this case I am dealing with several aspects of the GPL.

I am redistributing modified sources on my Github repo. Hence section Section 4 and Section 5 of the GPL apply and explains what I need to do to attribute when I redistribute modified copies of the source code.

I would need to under Section 5:

  • provide a conspicuous copyright statement and notice, such as in this example
  • keep existing notices
  • include a copy of the GPL license text

And additionally under Section 5:

  • per 5-a) I need to notify of my changes with a date, for instance as a comment.

  • per 5-b) I shall update (or create) notices to state that this code is under the GPL. If the upstream program are missing a copyright from the original author(s), I should add a copyright statement. If the upstrea programs are missing a GPL notice, I should add a GPL notice. For this I can use the provided examples available at the bottom of the GPL. For my changes I can also add my own copyright statement. I shall not/never remove anyone else copyright or notice.

  • per 5-d) if there is some user interface, and there is one for sure in my game, I will need to update the code to display a notice following the description section 0 and I can use the provided examples for this too. This last point applies to the binary app itself.

Beside this, I always need to provide the "corresponding source" code to the recipients of the binary application per Section 6.

The section 6 is rather complex and handles many different scenarios. The simplest for an open source mobile app is likely to use the 6 a):

a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.

This would mean that I would likely: - include a link to download the source code on the app store web page for my app. This way any downloader would have the opportunity to get the source code at the same time as getting the app.

  • inside my app, also include a link to download the source code on the app store web page for my app.

My hope is that absorbing others' code into my own directory structure (rather than keeping it in com.watabou.*, etc.) isn't going to cause me a legal headache. I just prefer being able to organize the code as I see fit, and toss the bits that I never plan to use, since I can always access it again through Github if need be.

I have no special additional requirements if I change the directory structure per se, the requirements apply to modifications in general.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.