I wish to create an app for studying Japanese Kanji. However I'm uncertain which license would best fit it. I want my app to be Opensource so that I can use the code for tutorials and other people may benefit from the example. I want to release the app for free so that I can improve the Japanese learning community, however I don't want that a person/company rips all my source code, polishes it a bit and sells it for money. When I look at the available popular Opensource licenses they all allow "Commercial Use" (http://choosealicense.com/licenses/). I don't mind people using my source code for practice or their own apps, as long as they also published it for free and Opensource. So what would be appropriate licenses?

The Attribution-NonCommercial-ShareAlike CC BY-NC-SA seems like what I want, but it's mentioned in their FAQ that they don't recommend this license for software (https://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_apply_a_Creative_Commons_license_to_software.3F).

  • 3
    Free (as in beer) has nothing to do with open source. Most open source software is free (as in beer) as a byproduct of being free (as in speech), but there is nothing mandating this. Any license that mandates free (as in beer) is also, by definition, not open source.
    – user40980
    Commented Apr 28, 2015 at 15:11
  • Ok, so even if this is not opensource, how can I protect my code, but still publish it so people can see the code? Would be unfortunate if I can't publish part of my code because I can't protect it. Commented Apr 28, 2015 at 15:15
  • So, sit down and write a license that describes how to use the software. Or use a tool to generate the template of one for you. Note that by making it not open source it means that it is incompatible with other open source libraries and may mean that your code can't be used in open source projects and you will be precluded from using some restrictive (copyleft) licensed libraries in your own work (such as the GPL).
    – user40980
    Commented Apr 28, 2015 at 15:19
  • 1
    There is no open source license that prohibits the code from being used in a commercial venture. I must also point out that legally, 'commercial' is rather hard to define (is using it on a web page with advertisements commercial? Internal toolchain in a for profit company? used by a non-profit?). Yes, it may rub some the wrong way - but it is part of what open source and free (as in speech) means. Related.
    – user40980
    Commented Apr 28, 2015 at 15:50
  • 1
    The GPL license probably comes closest to what you want. It does not forbid reselling your software, but there is little money to make, because everyone distributing the code must make the sources available and allow others to distribute as well. Someone could try to clean-up your code and sell it for big bucks, but the first buyer has every right to make the same software available for free again. Commented Apr 28, 2015 at 17:23

1 Answer 1


I would recommend you to use a copyleft license like the GPL. While the GPL does not forbid to sell the software, it requires to license it under GPL when sold, so when someone polishes your application and sells it, they can sell it exactly once, because their customer can then also sell it or give it away for free. When each of their customers can underbid them on the market, their business model simply isn't sustainable. So the business model you are afraid of simply doesn't work for GPL software.

You don't find many widely used software licenses which forbid "commercial use", because "commercial use" is something which is very hard to define in a way that it isn't overly restrictive.

Some examples:

  • A website offers the software (or a modified form of it) for download. The website has banner ads to cover their cost. Is that commercial use?
  • A website without advertising offers an improved version for download, but the software is modified to show banner ads. Is that commercial use?
  • I create a fork of your software and offer it for free under the same license conditions. But I ask people to send me voluntary donations when they want to support my work on the software. Is that commercial use?
  • A private school wants to use a modified version in their lessons. The program is given to the students for free, but the version is heavily optimized for the schools curriculum and teaching practices. Is that commercial use?
  • I use your program to learn Japanese and/or programming. Then I use the skills I learned to make lots of money. Is that commercial use?

Maybe you say "yes" to some and "no" to others of these examples. But I think it should give you an idea how hard it can be to define "commercial use".

<advertising>When you have more questions about open source licenses, you might want to commit to the new proposal Open Source Stackexchange. It still needs people to commit to it so it can go into beta phase.</advertising>

  • This is probably the closest to what I want. Thanks @MichaelT and Bart for providing the inspiration of this answer and thank you for molding it in a proper answer. Commented Apr 29, 2015 at 0:49
  • @Bart van Ingen Schenau Commented Apr 29, 2015 at 0:49

Your Answer

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

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