i am searching for the correct license for my software project on GitHub. I use only the FREE GitHub-Repository, so it has to be an OpenSource-License (which is okay for me). I really like Creative Commons licenses because they are simple to understand - but they aren't suitable for software..
so in creative commons terms i search a license with:
Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Noncommercial — You may not use this work for commercial purposes.
Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
Source: http://creativecommons.org/licenses/by-nc-sa/3.0/
For myself i want to keep the right to use my software commercially (even if i don't intend that currently).
Additionally i want to give the graphics in my software project an own license - here i can use the CC BY-NC-SA, right? How can i manage that correctly in GitHub? Can i upload the images in the (FREE) github repository too, with that license in that special folder or do i have to take an external source for it? (because it doesn't match GitHubs requirements for free repositories)
A short summary of my questions:
We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors.
There are six different Creative Commons licenses: CC BY, CC BY-SA, CC BY-NC, CC BY-ND, CC BY-NC-SA, CC BY-NC-ND. The letter pairs indicate conditions for use.
CC licenses may be applied to any type of work, including educational resources, music, photographs, databases, government and public sector information, and many other types of material. The only categories of works for which CC does not recommend its licenses are computer software and hardware.
Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.
I'm not aware that github imposes any requirements on how your code is licensed, beyond stating that "you agree to allow others to view and fork your repositories" (https://help.github.com/articles/github-terms-of-service).
So, you can almost use any licensing conditions you want. If you drop a file named "LICENSE.txt" in your repository, most people will get the message. If people ignore the message, either ignore them, or consult your lawyer and be prepared to pay him/her.
If you stray away from the "standard" licenses, however, your code will be less useful to others.
The classical "BY-SA" license for software would be the GPL. It is not a BY-NC-SA license, but among popular free software licenses it is probably one of the most "restrictive".
When you put your software under a free/open-source license, you are not giving up any rights. You (irrevocably, in most cases) grant some rights to others. This is an important distinction, because you always keep the right to use your own software commercially.
If you want to sell your software as proprietary software later, you can simply license it under a different (proprietary license) in addition to the free software license you've decided on. You can't "recall" published free versions, but you don't need to make any of your future improvements available as free software.
There are several different ways in which other people might make money off your software:
They might develop a new and improved version of your software and sell it as proprietary software (you don't get to see or use their improvements without paying!). The GPL prohibits this (if you wanted to allow that, you'd use a "non-copyleft" license, like the BSD or X11 licenses)
They might sell your software, unchanged, bundle it with books or otherwise redistribute it for money. The GPL allows this, but this is a good thing in many ways, as you might get a free-of-charge distribution network. There's not a lot of money in this anymore nowadays, as people will just download the software (for free) instead. There may be some obscure free software licenses that prohibit that.
Someone might offer to improve the software, but demand money for his work. This is OK, as the results of the paid-for work will afterwards be available to everyone free of charge. I don't see how a license agreement can possibly prevent this.
Someone might offer support contracts for your software. Again, I don't see how you could (or why you would) prohibit this. If you allow me to use your software, I can pay someone else to help me use it.
When you decide to sell a new-and-improved proprietary version of your software, someone might improve the free version of the software and compete against you, undercutting your price. They don't really make money from it, but you might not like it. Free/Open Source licenses are non-revocable (by definition, I think), so you can't do much about it (revocable freedoms are no freedoms at all).
Someone might use your software, and might make money doing it. Prohibiting this contradicts both the Open Source Definition (http://opensource.org/osd.html/ Point 6) and the Free Software Definition (http://www.gnu.org/philosophy/free-sw.html "Freedom 0"). A free software program does not have small print attached that tells you how you may and may not use it.
Summary: Consider the GPL. It is the strongest popular license on the ShareAlike front. If you want to be more restrictive, your code won't really be that free anymore, and people won't be able to combine your code with other (e.g. GPL-licensed) code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With