Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm writing a piece of open-source software which will be easily embeddable (both static/dynamic libraries and executables on top of them). Which software licence would:
allow the user to use either the source code by embedding it, or link against it dynamically or statically in his own programs under any licence, including closed and open-source?
ensure that any modifications made to the files created by me be released under the same licence?
I am given credit in his software, no matter how he uses my code?
He doesn't misuse the name of my software in his program?
Thanks
Wikipedia has an excellent comparison article which goes over a variety of software licenses, and you should review it carefully, as well as the actual license texts once you have it narrowed down to a few licenses.
The LGPL will fufil clauses 1, 2, and 3 of your request. Clause 4 isn't something that should ideally be covered by a license, but rather by a trademark with an accompanying trademark policy. (registered or un-) See for example Mozilla's Trademark Policy.
Of course, IANAL, IANYL, YMMV, and OIMACTTA.
You may wish to look at this comparison chart:
http://developer.kde.org/documentation/licensing/licenses_summary.html
A little smaller but simpler:
http://khason.net/blog/open-source-licenses-comparison-table/
(I am not a lawyer...)
What you want is something likely compatible with the GNU/GPL license. In particular, the Artistic 2.0 license looks like a good candidate as it looks as if it meets the authorship requirements.
License compatibility will be the most important criteria. You may dislike every clause of the a commercial license (for which there is no standard) or the GPL or what have you, but because they are both extremely common, you will want to pick a license that is compatible with them. The CDDL is a beautiful license that is not as compatible as it could be with common licenses.
In the GPL world, LGPL is more compatible than GPL with other code. In the commercial world, the various "Don't sue me if it goes wrong" licenses are the most compatible, e.g. MIT, etc.
Mutliple licenses are best of all, albeit somewhat confusing. If someone is writing a commercial code base, sometimes for legal or company policy reasons, they can't use your code without getting a commercial license from you. MySQL is an example of code base offered under 2 licenses.
Someone should replace the "I'm not a lawyer" boilerplate with "I'm not a lawyer and lawyers are jerks".
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am a researcher in Mathematics at a university, and I released a code toolbox that is mostly for research use, but can have applications in engineering and industry.
I would like to have a license that basically says "you can use this code freely if you are in a university and use it for publishing, studying teaching, but not if you are in the industry --- in that case, please reach for the wallet".
CC-NC-BY-SA would look perfect to my eyes, but using it for code is heavily discouraged, I suppose for good reasons. None of the other open source licenses seems to do what I want. Writing my own license looks like a legal mess, and I'd rather avoid it.
How would you solve this issue?
Related questions (but not the exact same thing): https://stackoverflow.com/questions/1232666/proper-open-source-license-to-release-academic-code, https://stackoverflow.com/questions/6443110/practicalities-of-licensing-academic-software
I assume that toolbox is written by your own and you want to share it with other academics. In case someone from industry is making millions you want your share (well, the sunny-day example).
I don't know any license that comes close to that.
The CC-NC-BY-SA is discouraged because of two reasons mainly:
CC licenses are not for software. They know nothing about the two most prominent forms of software: Object Code (binary, compiled) and the Source Code (author version).
Non-Commercial. It is undefined what this term means, especially legally.
So you use your morally and subjective day-to-day terms and every human on the planet comes pretty close in understanding what you mean, but putting this into a copyright related software license is problematic.
I'm not a lawyer, but probably some kind of passive licensing would suit your needs. There just is no license, you put your term:
"you can use this code freely if you are in a university and use it for publishing, studying teaching, but not if you are in the industry --- in that case, please reach for the wallet
and then say this is in your own words, you decide about the meaning in case it's unclear now or in the future. (if you talk with your lawyer, a suggestion will come up that you should disclaim warranties and such which is normally suggested.)
Most academic users I bet are fine with this. Commercial users are pressured for more clarification, so you can run contracts then. Job done.
The other route would be you release under a strong copyleft license like the AGPL. This would engage user-rights (so you give a lot), however this would be the typical something-for-something, because they need to offer the software as well to all of their users under AGPL, including their changes and add-ons.
Additionally you can offer "commercial" licenses (AGPL does not forbid commercial use, however it requires to preserve the freedom of the software) as long as you're the copyright owner.
Probably either the little suspicous, "I name no license" policy, or something that's okay for you to give (strong copyleft) + X might do it. There are pros and cons for either of these two paths, so chew a bit and maybe you get a third idea that's doing it for you.
However, I am not aware of any existing license that covers your case. You might find some through research because I'm normally not interested in licenses that are for some user-groups only (e.g. only academics, only non-commercial), because the borders are not clear.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I am looking for a license that allows developers who release their software freely/non-commercially use my software without any cost, but those who releases commercial software needs to buy a license. I've been looking at the GNU licenses but they all seem to be free for both commercial and non-commercial use.
What are the commonly used licenses in my case?
There can be no general answer to your question, you either do this by creating your own software license (which can not be free as in The Free Software Definition because you restrict commercial use) or you can try to achieve something similar with dual licensing as following:
The public and freely available software is available under a free software license with strong copyleft like the GNU Affero General Public License (AGPL). Any entity making use of the software must publish the source and changes to all it's users under the same license (reciprocal, ASP loophole closed).
You can even make the software practicable incompatible with mostly any open source software by choosing the Open Software License (OSL). It's incompatible in this sense with most of the existing open source software (first hand GPL which covers the largest share of open source code, but also many others) and has strong copyleft by usage (communication of the work even), so it's pretty limiting.
You would actually signal: don't use the free version - a somewhat morally questionable move.
As (and if) this is not fitting for the type of commercial use you ask about, then you can offer a second license for commercial use. If someone complains you can just tell them, hey it's free software. Bad move, but probably working. Ask your lawyer for the details, this variant might not be what you're looking for, you won't do the free software community a favor.
Instead you need to find out what you actually want to do. Restrict commercial use or not. After you've done that, talk with a lawyer to create a fitting software license for your work.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I am starting an opensource project.
I want to allow the following:
Free for noncommercial use, bins and source mods, like with the GPL, but I would like to retain commercial rights for myself, and provide another license for commercial use for customers who prefer that option.
The number of licensing options seem a bit overwhelming. So my question is:
Which opensource license should I
use?
Which commercial license should I
use, if there are any standard ones
available? Or should I come up with
my own one here?
There is no problem with dual-licensing. GPL is fine for the noncommercial variant, and is widely accepted.
With the commercial one, I do not know of any standard ones. I would recommend you write one, that really suits your needs.
There is Hanselminutes Podcast on licenses here: Open Source Software Licensing with Jonathan Zuck of ACT Online. Towards the end they talk about the dual licensing of the MySQL database.
There is also a transscript of the podcast as PDF, have a look at the end of the first column on page 7.
No open source license (as defined by the Open Source Initiative) will forbid commercial use of software. You can use a version of the GPL to disallow taking your software proprietary; companies could still use it internally, or distribute it for their own purposes, but they couldn't package it up and sell it as normal shrinkwrap software. Don't use a license like Boost or BSD, as they allow unlimited commercial usage with no restrictions.
You should decide what commercial use you want to allow, and that will depend heavily on the software and what people might want to use it for.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
How would one follow the proper steps in order to license a "package" under the terms of Artistic License 2, as published by the Perl Foundation.
Is there a guide, such as GNU's GPL how-to that I'm missing?
I've only found CPAN's Licensing Guide, I believe it would apply for external use too, wouldn't it?
Otherwise, I presume adding a notice at the start of each source code file, and including a copy of the license itself with the distribution would do the trick.
Still, since licensing is quite an important issue, I'd like to hear any views on this.
Before I start, I must warn you I'm not a lawyer.
As far as I know, the way you communicate the license to others is not dependent on any specific license. If you're the sole author of the work, you hold the copyright and have the exclusive rights to decide what is allowed with respect to distribution, modification etc. You can communicate your decision through a well known licence to help potential users of your work understand the terms of usage.
From a practical view, adding a copyright notice to the distribution & copyright headers pointing to that notice to source files should be enough. Also, the licence should be clearly mentioned on the site where you provide download of the distribution.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I have written a project for my students organization. I would like to share it between many organizations and I want them to use it for free. So I thought that releasing the project on GPL licence (or other silimar). However I don't want that somebody use this project for commercial purpose for free. How should I license this project? Is there any license that is suitable for that? Or should I release two copies of my project on different licences?
You should consult a lawyer to get good legal advice.
However, that being said, GPL is a very common license for this type of scenario. It doesn't, explicitly, restrict commercial use, but it does require that any distribution include full source and full distribution rights under the GPL. This effectively excludes commercial use.
For commercial purposes, you can easily negotiate distribution under a second license, even one specific to that company.
My company has licensed software written at universities and distributed publicly under GPL in exactly this manner.
I Am Not A Lawyer. If its an app that runs over a network, such as a web app, you should also consider the AGPL since the GPL will not prevent people from running the application over a network and then refusing to release their modifications to people who use the application (over the network).
You should probably license your project with 2 different licenses: a free software license and a commercial license.
I remember a nice article about how to choose a free software license depending on your goals.
In any case, consult a lawyer.
If you release under the GPL, no-one can use your code unless their project is also GPL-licensed.
Technically, if you forbid commercial use, your software is not "Free Software". There are several "nonfree" licenses that do what you ask, there is a list at the FSF website, e,g. the University of Utah Public License. Note the harsh criticism that the Free Software Foundation has for this nonfree license.