Software licensing case study [closed] - licensing

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have devoloped an snmp agent simulator application using java. I want to license it. I am a fresher in this area and i don't know more. Can anyone suggest a best mechanism for licensing my application. Thanks and regards

There are several types of licensing for software
Here's a good page on how to use GNU licenses to your project OR here
Some example licenses (free):
GPL: allows commercial redistribution but the source code of the whole thing must be available (with changes) to anyone who purchases a copy of it .
LGPL is good for software libraries. These can be included in proprietary projects without needing to redistribute the whole source. The only time source distribution needs to happen is if they edit your code and even then, they only have to release their changes to it.
MIT code can be relicensed freely. Somebody could take your code, verbatim, and re-release it under GPL, proprietary licenses, etc.
License choice:
If you want to support free software, don't use too free a license. Disallowing commercial use gives free software an edge over proprietary programs. In theory with some licenses re-usage of your code must credit your original. But re-usage is difficult to proof and some corporations might just not credit you. However, if you do want to spread your software as wide as possible, i.e you don't care about commercial products using your software, then use MIT or LGPL. If in doubt use the more restrictive license and add a line, saying you may consider permitting uses outside of the license terms on a by-case basis. This way commercial users with a project worthy of your work have a chance.
Copyright dispute:
Include as much information as you dare to make proving it's really your brainchild easier. Have a lawsuit over the ownership in the back of your head. Poor man's copyright is mailing a printed copy of your source to your home address. If the envelope is unbroken, the postmark is valid evidence at court and provides a date and a verified address. An e-mail instead of your full name to identify you should be okay and sufficient proof but: Better safe, than sorry.

Related

"Free for academic use" license [closed]

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.

A license free for free software but a fee for commercial software? [closed]

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.

Obfuscation and reverse engineering deterrents for C++ Win/OSX app [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I've got a C++ app that ships on Windows and OSX. It communicates with our backend using TCP (encrypted with OpenSSL, natch). I'd like to throw up some speed bumps for folks who are trying to reverse engineer the protocol and/or disassemble the executable.
Skype does an excellent job of this, which is why you won't find a lot of apps that speak skype. Here is a really good read about what it does: http://www.secdev.org/conf/skype_BHEU06.handout.pdf
I'd like some ideas about how to accomplish similar stuff our app. Are there commercial products that make code harder to statically analyze? What is the best way to invest my time to accomplish the goals I've listed?
Thanks,
Some simple suggestions for OSX:
Prevent gdb from attaching to your program
http://www.steike.com/code/debugging-itunes-with-gdb/
(this can be worked around, but will keep some casual explorers away)
Have at least some of the code in your product stored outside the text segment of the executable, for example in data, or in an external (encrypted) shared library.
Minimally protect any sensitive string data by not storing it in plain text. Run "strings" against your executable, and if you see anything that might be helpful to someone trying to figure out the protocol, encrypt it.
GCC's -fomit-frame-pointer option can make debugging more painful (but can interact badly with C++ exceptions).
If I remember correctly Skype is using something similar (maybe they pay them to implement it in Skype, who knows) to "Code Guards" described in:
https://www.cerias.purdue.edu/tools_and_resources/bibtex_archive/archive/2001-49.pdf

Community License Agreement for Commercial (SaaS) software? [closed]

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.

What copyright license to select? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
What is copyright licence type to select in order to make the code free for the public in all possible ways.
Is "The MIT License" the best option?
Releasing your code as public domain is the best way to make it free for all possible ways. SQLite is a well-known public domain library (they have a page that explains their license).
Having said that, code that is in the public domain can be simply taken by anybody else and they can call it their own. This is why there exist free licenses like GPL/BSD/MIT/etc where you retain some semblance of ownership over the work.
Personally, I prefer licenses like BSD or MIT because they aren't as restrictive as the GPL. The GPL has a lot to say about what the user of the code can and can't do with it.
MIT License is pretty close to being public domain, though it does require people to include the license itself, so it's slightly more restrictive. Do you want to force people using your software to give you credit for it? More restrictive than that is the LGPL, which is self-propagating. The GPL is even more restrictive, but will make your software less prone to use in commercial code.
If you're goal is to make your code as useful and available to everyone in the world, choose a particular liberal license that explicitly gives people the right to use your work. Organizations with legal departments like explicit licenses, and people want licenses that work in their jurisdiction.
Although Greg mentioned SQLite, he didn't point out that they acknowledge on their license page the problem of public domain and how it doesn't work everywhere for everyone and every use. Public domain actually limits some people, so they also sell licenses. Furthermore, take a look at the Creative Commons FAQ for CC licenses haven't been ported to my jurisdiction (country). What can I do? for more information on international problems with licenses.
If this is something other than a casual decision for you, such as releasing a huge code base formerly owned by a Big Company, you might want to get a real IP lawyer rather than ask a bunch of programmers. :)
Check out some of the summarizes of licenses on line (see this question for links). Just don't write your own!

Resources