views:

179

answers:

10

Hello. As part of the work in our research lab, we often code up simple/complex implementations of various algorithms and give them away with a simple "Acknowledgment Request desired, if used" message in the code itself. I want to release them under a proper Open-Source licenses, so as to prevent undesired misuse and also enable others to work on them, improve and pass them on.

I am thinking of GPLv3 for the purpose. To this end, it would be really helpful if you folks could provide me your experiences with something similar..

Thanks in advance..

A: 

I use urbansim a lot and it's written at the University of Washington. They use general GNU license

QRS || on the other hand is sold for profit with a free academic license

i think you should consult your adminstration office. Someone, somewhere have written a policy about it at your school

dassouki
It is general, not generic.
freiksenet
+5  A: 

I think either the MIT or BSD licenses are fine for academic packages. It's not like you're going to have lots of legal resources to chase down GPL violators anyways. I usually throw in a 'remember me if this makes you rich' clause, just in case.

Mark Harrison
A: 

You might want to have a look as well at http://creativecommons.org/ so you will get your acknowledgment. I don't know where you want your code to end up, but if you don't just want acknowledgment, but free as freedom GPLv3 is cool, but might keep some people away from your code. Of course if they want to use your code they should play by the rules.

robert.berger
I believe creative commons were not created for program code, so there might be many legal misunderstandings which you won't have if you use GPL/GPLL.
freiksenet
This might be right, but you can combine GPL/LGPL and CC http://creativecommons.org/software
robert.berger
I googled a bit and found this: http://jay.tuley.name/archives/2006/03/27/5-reasons-not-to-choose-a-Creative-Commons-license-for-codeThe Creative Commons F.A.Q. tells you not to use it for software.
robert.berger
+1  A: 

It is really depends on the purpose of the code and of what permissions do you need.

Several suggestions, if you develop a library... Do not release it under GPL, prefer LGPL, because GPL enforces your users to use GPL.

Now, the question you should ask yourself is: do you want copylft license or not.

  • If you want copyleft, choose GPL or LGPL -- they are polular and well known.
  • If you don't want copyleft license, use MIT or 3 Clause BSD (not 4 clause, that is not GPL compatible).

These are well known licenses that many users know. You may choose other less popular software licenses, you may loose some potential users, because they are harder to understand or because of license compatibility issues, for example: can I use the code licensed under Creative Commons By-Share-Alike in GPL or LGPL project?

Artyom
+2  A: 

I'd recommend GPL over a BSD-style license if you have any concerns that others in the academic community might build on your work, but then distribute it without providing their additional source code. From personal experience, being unable to investigate/fix the code provided 'free' (as in beer) by other academics is annoying and jeopardises the quality of your own research, if you rely on such tools. Using a GPL-style license at least insures that all future contributions/improvements stay open, which is a major help when peer reviewing the quality of other's work. Of course, if they choose not to distribute the code, the licence makes little difference.

ire_and_curses
A: 

Artistic License 2.0 is also good. It allows people to use the code, see the sources, customize it, but you still retain the rights on the "official version".

Stefano Borini
A: 

It depends on what you want to accomplish, if you want to stick with a "Please acknowledge if used" approach then I'd go with a BSD license.

The important thing to remember when using a GPL license is that if a person uses your algorithm by statically linking to it then they are required to distribute their own code under the GPL.

Also it depends on how you're giving the algorithms away, if you're publishing a paper detailing the algorithm then I'd consider looking at the Creative Commons licenses.

daz-fuller
Why do you think that GPL by default has anything to do with static or dynamic linking? There is a prominent to it for glibc, but in general the kind of linking does not matter IMHO.
robert.berger
A: 

I work in a research lab, too, and we've released code under everything from the LGPL to MIT and BSD licenses, so it depends on what you really want the terms of use of your code to be. If you're already releasing under a simple "give us attribution"-type license, and you want to continue releasing under similar terms, then the MIT (or perhaps BSD) license is probably most similar to what you're already doing. Both of those essentially just require attribution or preservation of the code's copyright notice.

mipadi
A: 

LGPL might be a good idea if you wish to allow your algorithms to be used in commercial products.

samoz
A: 

Academics want their work to be used as freely as possible, including in commercial programs.

As a result, a lot of universities have their own form of the BSD licence. The UIUC licence (used for LLVM), the Stanford Licence etc, are all BSD with a different copyright holder.

Paul Biggar