2

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).

NumesSanguis
  • 123
  • 2
  • 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. –  Apr 28 '15 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. – NumesSanguis Apr 28 '15 at 15:15
  • So, sit down and [write a license](http://programmers.stackexchange.com/q/171263/40980) that describes how to use the software. Or use a [tool](https://www.binpress.com/license/generator) 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). –  Apr 28 '15 at 15:19
  • The source code of the app is only intended for tutorial purposes, because my reasoning was that people could benefit from seeing this code. If people could use my code it in their app I feel good I have helped them, but if people earn money by just copying my code... it rubs me in the wrong way. So there is no license available for this? (I'm not going to put effort in writing a license of something I don't even earn money for and I just had the intention of helping people. It doesn't give me any benefit.) – NumesSanguis Apr 28 '15 at 15:39
  • 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](http://programmers.stackexchange.com/q/32444/40980). –  Apr 28 '15 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. – Bart van Ingen Schenau Apr 28 '15 at 17:23
  • Michael, I understand the free part and I think it's great as well. My app however wouldn't really be much what you can reuse, except for releasing your own app. @Bart thank you, I decided I will make most of my code available under the GPL 3 license and can release a simplified version of what is critical for the app to be released, but irrelevant for a tutorial. Then I have best of both ways, I can share my knowledge, but it can't be used for money making. Thanks for the input both :) – NumesSanguis Apr 28 '15 at 19:54
  • This would be a good question for the newly proposed [open source stackexchange](https://area51.stackexchange.com/proposals/82234/open-source) which still needs stackexchange users who commit to it so it can go into beta. – Philipp Apr 28 '15 at 20:54
  • @Philipp I'm not going to commit to participate for 3 months, but if it's any help, feel free to put this question there. – NumesSanguis Apr 28 '15 at 20:59

1 Answers1

3

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>

Philipp
  • 23,166
  • 6
  • 61
  • 67