I forked a messaging app on github and added my modification on top of it and it started to build an audience in my country because of the unique ad-on feature I have added. The app acts as an SMS gateway to country xyz.

Everything I have added on top of the original code will be on github as an open-source project except my SMS API/server details. Because that is what I understand with GPLv3 you need to give also the source code for free if you want to distribute the derivative project.

Now - will I break the GPLv3 if I distribute/publish on Android market the modified code with ads on it?

  • 1
    @mboy: In layman's terms, distribution means making your app available to others. So, putting your app on the Android market means you are distributing it. That is independent of any personal gain and/or ads being included. – Bart van Ingen Schenau Oct 12 '16 at 13:07
  • @BartvanIngenSchenau sorry for the confusing sentence on my previous reply. What I really want to ask is - Will I break anything on the GPLv3 license if I distribute the app with ads? I've read GPLv3 many times and it confuse me a lot on that part.. – mboy Oct 12 '16 at 14:04
  • I'm afraid that the original author will sue me for putting ads on his work while he distributed it for free without anything in return.. – mboy Oct 12 '16 at 14:14
  • 3
    @mboy: nothing in the GPL cares about ads. You're modifying the code and distributing it, so you have to follow the rules that are explained in the license, but there is absolutely no difference between adding ads or some cool feature. – RemcoGerlich Oct 12 '16 at 14:31
  • Thank you so much @RemcoGerlich ! That answer my question.. :) – mboy Oct 12 '16 at 15:33

The GPL does not prevent you from including ads.

However: since you have to publish the GPL code of the app, you cannot prevent someone else from forking your code, removing the ads, and publishing as well. Which of the two versions are users likely to prefer: the ad-supported or the ad-free version, if both are free? Since many users find that ads degrade their user experience, you might find that some users switch apps. That in itself is not a problem since little revenue is still more than no revenue. However, you might also lose some reputation when moving to an ad-supported model. As a result, most open source software does not show ads.

This is slightly complicated by your statement that the “server details” are not published. I assume you mean some sort of access key that authorizes the client to use your server. This would be a technical measure preventing others from creating a usable fork of your app. Whether such a measure is consistent with the GPL is not immediately clear, and would probably be worth another question.

| improve this answer | |
  • The messaging app is an SMS gateway to country X so I maintained the server of the app. I believe making the modified source code open-source I am not oblige to expose my server end points/ API and credentials?? – mboy Oct 13 '16 at 1:48
  • With regards of your comment about someone forking my code and removing the ads. Yes no one stoping them from doing that but I believe the highlight of my app is the service that I offered, hence the SMS gateway capability.. – mboy Oct 13 '16 at 2:04
  • 1
    @mboy You're not required to give up your API credentials. However, the spirit of the GPL is that end users are free to modify their software. If they can't obtain their own credentials equivalent to yours, they have effectively lost this freedom since the software won't work. Many services with GPL clients maintain this freedom by authenticating the user instead of the app on their backend. But this is an ethical problem, not a legal problem – you're likely safe to proceed. – amon Oct 13 '16 at 8:04
  • Thank you so much.. I will just prepare the app for anyone that can just simply paste their server details and booom it will work.. – mboy Oct 13 '16 at 8:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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