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.
Related
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
Background:
This question caused me some sleepless nights over the last month. I'm an independent software developer and have recently finished the work on my first application. I've read a lot of articles about license agreements but I still don't know how to tackle this task in an appropriate way. My application handles user files. In every method I check for consistency & errors and I've betatested it on several systems for more than 6 months. I'm very sure nothing should go wrong, but I want to be on the save side.
Are license agreements by themselves protected by a copyright or can
I just take one and replace the companies name? (All of them look pretty similar to my untrained eyes)
If I'm allowed to use one, am I allowed to edit it?
I don't want my users to be "kept in a cage". I want them to be as free as they could be. For example I want them to be able to freely install my software on all their personal devices.
Where can I find non-Opensource licenses*? I've been searching for a
long time now. I found this Page but it actually confused me more than it helped.
I plan on publishing my app on the Mac-AppStore. Are there licenses
I can't use there?
(As I mentioned above I want a "User License" model that allows the user to install it on all of his Macs)
If you've got any kind of experience with this topic, feel free to share your insights. It's well appreciated!
*Edit: By "non-Opensource licenses" I mean licenses for commercial applications.
1.
You are free to take an existing agreement you find and adapt it to your ends. There is no originality of expression in a licensing agreement itself that would be covered under copyright law preventing your use of its language -- assuming the language fits your circumstances. You should always understand what you're agreeing to. :-)
P.S. Authority: I've worked with large law firms for 20 years as a software developer, licensing my software to them and also consulting with some of them when they had to write contracts for their own clients and didn't undertand the technical issues.
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 trying to implement lossy image compression algorithm with good ratio and (I hope) less artifacts that jpeg has. I plan to release encoder/decoder tool first. I've heard that there's some issues with jpeg2000 usage related to licensing and patents. So I want to avoid these problems with my algorithm (i've mentioned jpeg2000 only as example of license problems, my algorithm significantly differs from jpeg2000). I have also heard about problems using some things licensed under GPL.
So the main question is all about what license to choose to make my work accessible for everyone and to prohibit some bad guys to do bad things to it to make it less accessible. I also want to know what disadvantages GPL has for image compression algorithm.
Thanks.
There are a range of licenses you can choose from - see the Open Source Initiative site for details. Which you choose will depend on how strongly you feel about open source versus widest possible adoption of your software.
The GPL license ensures that all users of your library publish any changes they make to your code. With a few exceptions, it also compels them to make all of their product source code freely available. This means that GPL code may not be attractive to some commercial products so a GPL license may not be ideal if you want to encourage maximum adoption of your library.
At the opposite end of the spectrum, the MIT license is very liberal, effectively allowing users to do whatever they want with your library. It is suitable for both open source and commercial projects so would be a good choice to grow your library's user base. Users of your library are not obliged to publish any changes they make to your library so this license may fail your "bad guy" test.
A compromise choice might be the LGPL license. Users are obliged to publish any changes they make to your library but can often keep their code private. (This is typically true for desktop applications; it's much harder to do this for embedded or certain mobile applications).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm working with a developer who has placed his faith in a license scheme that makes little sense to me. He wants to tie a desktop application to a hardware component value, one of which is easily changed, the MAC address of the ethernet controller.
Now, I know no one likes licenses, he does want to protect his hard work and I can understand that. What can I tell him to help him out? In the very least I'd like to give him a path other than tying a license to a hardware component.
I am sure this will not convince anyone who doesn't already share my view, but I don't see any value in licensing schemes that are more complicated than a short serial number, perhaps "phoning home" so you can detect if it is being abused and disable it. If the software is moderately popular, it will be cracked, whether you invest $5 or $5 million into the licensing scheme. Put those millions toward building a product that honest people (the majority) are willing to pay for and upgrade. If more protection is needed, hopefully the application can be converted to a web service.
In one of the podcasts, Joel said something like this (I'm paraphrasing):
Just make your licensing scheme hard
enough to crack so that it's a little
easier to pick up the check from
accounting and just order another
license. That keeps those people
honest that are worth thinking about.
The rest of them are not going to give
a penny to you anyway.
Good point, I guess.
If he wants to be sure that only the licensed computer can use the software, a hardware key is one of the only options to be sure that the hardware(computer) is the same as the one the license was purchased for.
It can be easily cracked(so can anything), but it's not so easy to use two computers with the same mac address on the same network segment.
I don't see how a UUID will make a license more secure, or help to accomplish the goal of restricting one license per computer.
With licenses it depends on what the goal of the license is, having a unique license per computer may be a valid decision(although I personally don't like it), but it has to be remembered that licenses will only keep honest people honest in the end, and if someone decides to, they will crack your license scheme.
It all depends on how many users he expects and the price of his application, but in any case a mac address can be easily changed and will certainly only annoy valid users. In my opinion a standard serial will just do fine. If something shows up in P2P networks, just talk to the user to whom you issued the serial and ban it in the next release. To make a long story short, in the eye of a fraudulent user the only difference will be, if he downloads "CoolApp.v1.11.Incl.Keymaker-GroupName" or "CoolApp.v1.11.Incl.Keygen.and.Patch-GroupName".
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".
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've got a commercial SaaS application, an online collaboration/lean project mgmt tool. I want to offer a "Community Edition", with specific limitations on how the software can be used, for free. For example
free for groups using it to manage open source projects
free to K-12 teachers to use in the classroom
free for authors collaborating on Lean/Kanban/AgileSoftwareDevelopment books and research papers.
free for community conference organizers, user group organizers, etc.
The license would grant use of the software with limitations. The software itself can enforce limitations on the number of users/projects. I'm looking for a license agreement / EULA that I can use to specify what uses the software can be used for (see above). It would restrict the users from using it in different ways, such as for commercial use, managing consulting projects, client work, etc.
I've been combing the web for good examples of such agreements, and so far coming up short. Any ideas? To be clear, this would not be an open source license of any kind. It would cover the use of commercial software, for specific "community" uses, as we define them.
I'd pay a lawyer and have him write up the EULA.
You'll forget something, or have some sort of loophole you won't notice.
It's always best to ask for legal advice from a lawyer.
You could do worse than start with a terms of service document. Some companies and products have put their TOS under the Creative Commons license, so you would be free to use that to get started. You could have a look at the one from Wordpress for instance.
Have a look at how Atlassian or JetBrains do it. They offer Jira instances/IntellijIDEA licenses for open source projects and project committers and have been doing so for a long time with great success.
If you start without a fully prepared license agreement, at least do not forget to state that the license is subject to change at any time and the user agrees to any future change or has to stop using the service immediately.