Say an android app is hosted on Github, it has beautiful UI elements that I introduced within copied into an app of my own. Now I am getting requests from users/customers to show them how to implement those UI elements in their apps.

The Github project's license is General Public License Version 2 1991.

Edit (adding some points to clarify the question):

  • I'm not a contributor, neither the author of the original Github project.
  • Due the number of requests from users/customers/developers, I'd like to 'sell' those UI elements (also called widgets in Android).
  • 1
    I'm voting to close this as unclear: it's not clear what you would be providing to the users and whether that is compatible with the GPL or not. Jul 5 '16 at 12:33
  • Do you mean you took UI elements from a GPL-licensed project and included them in your own app? Or that you tok an existing GPL-licensed app and modified its UI elements yourself? Or you happen to be the author of the UI elements within a public GPL-licensed app, and you used those UI elements elsewhere as well? If it's either of the first two options, the GPL likely requires you to supply source code to all recipients of your derivative app. Are you only asking about supplying instruction/training to those users, or about your freedom (or obligation?) to supply the source code?
    – apsillers
    Jul 5 '16 at 16:59
  • In summary, you probably have a good question here, but I cannot currently tell what that question is. Please edit your question with clearer information.
    – apsillers
    Jul 5 '16 at 17:02
  • Edits done @apsillers Jul 5 '16 at 21:15
  • 1
    One last thing: did you literally copy the code or only recreate similar UI elements using your own code/graphics work? If the latter, did you ever look at the original code?
    – apsillers
    Jul 5 '16 at 21:36

When you distribute a work that includes components covered under the GPL, the GPL requires you to offer the source code to anyone who receives a copy of the binary program. Therefore, you must already offer the complete source code for your application, including the UI elements and how they are integrated into your program. If you are not already doing this, you should begin doing so immediately, because you are in violation of the GPL and are exposing yourself to legal liability for copyright infringement.

You are free, of course, to offer to teach users how to intergate those UI elements into their own programs, and you are welcome to provide such a service for a fee. The fact that you are not the author of the UI code does not preclude you from tutoring users about its use for a fee. You may also perform freelance work to modify their software to include these UI components. The users are welcome to take the source code you already gave them and try to figure it out for themselves, or they can come to you for paid explanation/work.

I would personally suggest you make it clear to users who pay for an explanation that using this UI component in their own application will carry the copyleft requirements of the GPL. If they choose to distribute their application with this component, they (like you) will need to also distribute the compelte source code for the application. You of course must include the GPL license and make it explicit that the GPL applies, but it would also be polite (and possibly more thoroughly limit your liability for fraud) to roughly explain what the GPL requires in plain English at the time you give paid instruction.


The question is not really clear. It is open to three interpretations:

  1. the users/customers want that you teach them how to implement these UI elements: not really a problem to be paid to teach them how to do them

  2. the users/customers want that you implement these UI elements in their app: no problem here, you are basically doing some paid development

  3. the users/customers want to use these UI elements in their apps: you can try to ask for some compensation (maybe as donations to continue the development), but there is no guarantee: after all your source are on Github and they can just fork them, and be bounded by the GPL at least (if I remember correctly) if the distribute it. I seem to remember that, while bounded by the license, you have no obligation to share the code if you don't distribute the software, for example an internal only utility.

As you ask the question, I think you are in the (1) option, so you are not really monetizing from the code itself so the GPL is, in my opinion and in this situation, irrilevant.

  • 2
    If the question isn't clear, don't answer it. Flag it as off topic and move on.
    – RubberDuck
    Jul 5 '16 at 20:00

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.