Open Source Licenses For Academic Work?
An anonymous reader writes "We're in the process of submitting a scientific paper describing some techniques for data analysis. We'll be releasing the associated code, so we're faced with choosing an appropriate license. My supervisor insists there should be a citation clause, requiring any published article that uses results of the software to cite our paper. Of course, ideally, free software shouldn't have such encumbrances, and I initially tried to talk him out of it. However, in academia, the issue of attribution and citation is very important. Also, it is not a restriction on use of the software per se, only on publication of results. Unfortunately, I couldn't find any such license. So I wondered: what do other academic Slashdotters do?"
Not one of 'em crazy academics but wouldn't this do?
http://creativecommons.org/licenses/by/2.5/
So, if you were to get such a license and then somebody published a result without citing your software (as opposed to mentioning that they used the software), how would you (or your boss) enforce it?
Would your boss really sue another academic for not citing the software?
Of course, as an academic myself, not citing the paper for some software that I used, is sloppy anyway.
I see no issue with attribution, in terms of referencing the original authors for the results of any work done with the software.
How would this be contrary to open source ideals?
Creative Commons - Attribution
libertarian: (n) socially liberal, financially conservative; neither left, nor right.
The NAMD license has a similar clause. It might be worth looking into.
The Attribution-Share Alike 2.0 Generic license looks
like what you need
http://creativecommons.org/licenses/by-sa/2.0/
It allows others to modify and adapt your work as long
as they attribute the original in the manner specified by you.
Your academic papers don't have such a licensce. They are cited because it's considered unethical not to do so. The same would apply to using your source code.
Also, your license can't actually enforce the citation clause. I mean whoever uses the code won't necessarily be the same person who writes the paper. Additionally I have some doubts that the kind of clause you are interested in would be legally enforceable.
Science works because we trust other scientists to cite our work if they use it. If we kept our work secret unless other scientists signed agreements to do so nothing would get done.
If you liked this thought maybe you would find my blog nice too:
It's not like they can use your work without attribution in academic papers, since that would be plagiarism, right? So any specific clause that required citation would be unnecessary.
How in the world would you enforce such a licensing clause? Unless the output is DRMed in some way, they could just remove any markings that indicate it came from your program. Besides, an ethical researcher using your program would already cite the source of the data and an unethical researcher would just ignore any stipulations in the license.
Use a BSD License. This license goes back to the 1970s.
When I was young, I had to rub sticks together to compute.
To be honest, I think your best option is: "Ask nicely."
Seriously, academia and publishing and citation is a massive reputation system. It almost entirely works on the honor system, with formal inquiries occurring (rarely) when there are major transgressions. Let's say you find or write some complicated open-source license that requires citation. The code will still be available. Unscrupulous people could still use the code and publish without citation. Do you really think you (or your supervisor) would ever bother suing them? I highly doubt it. But you would certainly spread the word that these researchers don't cite properly. You would certainly bring up this issue during peer review. This is where the real damage to them will occur.
So, my recommendation is to just skip the middle-man, and don't bother with the unconventional FOSS license (which would just confuse people who want to use the software but won't ever publish anything). Wherever you post the code, just include a prominent request (on webpage, in README, and code headers) along the lines of "If you publish any work that uses this software, please cite XXX." Most scientists would be happy to add that citation. The only ones who wouldn't are the ones who try to pass off other's work as their own: do you really think they care about respecting copyright?
This is, at least, the procedure used in my field. Publish your paper. Release the code using a standard FOSS license.. Add a citation request. Done.
The BSD license is from UC Berkeley, the MIT license is of course from MIT, llvm is from the University of Illinois / NCSA and uses a license almost identical to the BSD license, etc. For some reason, this sort of "free as in knowledge" type license seems to be rather popular among educational institutions.
My supervisor insists there should be a citation clause, requiring any published article that uses results of the software to cite our paper.
That is a restriction on how it can be used, and I seriously doubt it is at all compatible with Open Source. It certainly wouldn't be compatible with Free-as-in-FSF software.
If they use your software in a manner that, from an academic point of view, requires citation, then they are going to cite you anyway if they are honest.
If they use your software in a manner that, from an academic point of view, does not require citation, then your clause puts them in a difficult position. For example, their editor might insist the citation be removed, but then your license kicks in.
Besides, how are you going to enforce this anyway? Are you going to sue? What kind of damages and remedies are you going to put in there?
Just pick a standard OSI license, tell people who want to cite it how they can, and trust that it will work out. Don't try to force people to use your software in any peculiar way, even if that way does not seem "evil."
I asked a related question here several years ago. I have completed my schooling and released some open source software, some of which has been used and cited.
Copyright licenses generally protect holders from having others distribute their works in a way that they do not want. They do not place many restrictions on how the legally obtained work can be used. You might be able to use an end user license agreement that attempts to mandate citation & worse restrictions (such as not being able to publish software benchmarks) have certainly been imposed. Some authors even mandate registration before others can receive the source code & can then see who may be using but not citing their software. But I think this may actually be counterproductive & it certainly wouldn't be considered free software.
Academic integrity necessitates describing your work accurately in such a way that others can reproduce it. To do this, others will need to say what software they used to obtain the results they publish & they should choose to cite you. This won't always happen, but it will probably happen more frequently than you or your advisor think. It is certainly valid to write or call other academics who you know use your program and ask that they cite your paper in the future. In extreme situations, you can send a note to the editor of the journal that considers such papers that didn't cite your work & most editors will err on the side of strongly encouraging authors to add a citation.
Most other free/open source software that is used a lot in the sciences does not have a EULA of the type you subscribe, yet many are popular & are cited. They may have a FAQ entry or a mention in their README on what should be cited, but they don't try to make it legally binding.
You should ask yourself why you want to release it as free and open source software. Presumably, you hope that others will use it (obscurity is a worse threat than piracy) & maybe even to help you improve it. You also probably want to obtain some kind of academic prestige (which can come not only in the form of citation, but also from name recognition of both the program and the authors of that software). The best way to get this to happen is to write a solid piece of work that can do something that other works that cost (financially, time invested, and responsibilities involved) the same or less can't do as well and that other people want to do. Use a standard FSF/DFSG/OSI license (such as the GPL) & trust that everything else will work out. Getting quirky will discourage use of your software.
You can state that the materials can be reproduced as long as the copyright note is maintained showing authorship.
You'll give the rest of us a bad name if you actually produce anything. Stop that.
They were right - the revolution did not get televised. It was posted on YouTube instead. All in 120 characters. SLOOSH!
Licensing software is a copyright concept (unless you've patented it). Folks only need a license (and can only be bound by one) if they're infinging on one of the copyright monopolies: making copies, distributing copies, and making derivative works.
So you can only attach conditions of any sort if your proposed licensees will be doing any of those acts. It doesn't sound to me like you could build a license to covers your desire to get credit in papers when somebody has simply used your software. Use of software is not (under most reasonable interpretations of the law, MAI vs. Peak notwithstanding) something that triggers the need for a copyright license.
Why not incorporate the paper and the code together in the forms of extreme commentary? That should strike an appropriate balance I would think.
In my field, researchers have usually just published it with an open source license and relied on the standard academic citation expectations to lead the people that use it to cite their work. It has worked pretty well. The drawback is that after a few years they become a part of the general knowledge base that doesn't get cited anymore for standard usage...but that seems to be about as it should be.
Re-write the paper putting a restriction that it not mention the code.
The important thing to have cited is your results in your paper, not your software. Many academic institutions have been writing open source software for a long time, in fact many of the open source licensees that are used every day come from software that was developed in academic institutions. Things like MIT license, much of the motivation behind the GNU license, BSD, the list goes on. None of them require attribution.
There is already a system for enforcing citation.
It's called referees and editors. It works a lot
better than licenses and lawyers ever will.
I currently have 8 contributed packages on
CRAN.
All have conventional open source licenses.
None say anything about citation.
However R does have a "citation" function that
tells users how to cite R and how to cite R
packages.
Citations are cheap. Scientists will cite if
you just tell them how. It helps if you are
part of a well understood system, so citation
is simple.
I publish a paper on new research, I get priority, no amount of pissing about by other people removes that priority, regardless of what may be attempted.
I am, and remain, the originator of that work, it cannot be patented by anyone else, or copyrighted, because my own work precedes that of any other. My permission must be sought, and even if given, cannot ever remove my priority.
Further developments based on it may be copyrightable by others, but this again does not remove my priority on the original research.
That's been the case for hundreds of years.
If you're wanting to ensure others cannot use your work for anything without express permission, that's a different issue, and why would you want to do that for academic research?
If its being done for business, and being financed by a company, the issue is moot, they own it.
If not, quit whining, you are either a scientist who wants to share their work openly (for which priority is fine), or a scientifically minded businessman who wants to turn a buck. Either is fine, but if your a business type, don't screw around, admit you want to make money and copyright/patent your work.
In the UK all you have to do is write your name on a work, and its copyrighted anyway, not sure about the US.
As for code? Well I've used the GPL for all my research related code, and I've had no problems.
A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
What I've commonly seen is the GPL / MIT / whatever license with an extra condition tacked in. The MIT license for example, has a section for additional restrictions sitting right there. In some software I've released, I wanted to use the MIT license, but depending on how the user builds it, it acquires the GPL restrictions. So I just put that rider in the MIT extra-stuff section.
The problem is that the OP (or his boss) wants people who use their software to cite their paper which also uses this software. I make sure to cite the software in my papers but I generally link to the homepage of software.
You can release the software under GPL and add a ReadMe requesting that the user cite your paper instead of linking to the webpage. May be adding the BibTex of the paper as well. I am sure that researchers would be glad to add the citation considering they have to cite anyways (researchers are morally and ethically bound to)
Looking from the outside, it seems to me your supervisor wants to use a "citation clause" to artificially inflate the citation count for this paper. The number of citations is a metric for academic performance when your super comes up for promotion or tenure. The administration at your school may think that's fine and dandy, but to me it's called "gaming the system". Please reveal the super's name so I can look for other more "authoritative" references and avoid giving him citations. People who work that way should be flipping burgers, not doing research. That's my way of gaming the system!
In any code I release, the comments at the top state which paper should be cited if this code is used. Academics are all smart enough to know that they should cite papers and code, so just make it easy by pointing to what you want the citation to say. Everyone of importance will cite your paper/code without issue.
Take a look at http://cran.r-project.org/doc/FAQ/R-FAQ.html#Citing-R
Most papers to use R (or other statistical software) will in fact cite it. R makes this easy, by providing built-in citation strings. Do this, and well-behaved researchers will cite your software.
If you are the individual owner of a copy of this book, we hereby authorize you to type into your computer, for your own personal and noncommercial use, one machine-readable copy of each program. You are not authorized to transfer or distribute a machine-readable copy to any other person.
In my experience in the academic world very rarely somebody uses (code, ideas, etc.) without citing. And if that happens you can name-them-and-shame-them.
The only reason scientists write articles is to be cited!
Seriously, citations are the currency with which a professor gets promoted, tenured, and invited to give talks. There are awards for being highly cited.
Besides, citation is basically an acknowledgement. Using someone else's work without acknowledgement, is, to me, pretty wrong.
Licenses can and should restrict use of source code.
Results are obtained by using the software, not by using the source code. A source code license cannot restrict use of the compiled software, because it is out of the scope of copyright law.
There is no law against using source code you were able to download and doing what you like with the results. You don't have to accept a software license of any kind to be able to do what you want with the results.
Your end user has to accept and follow a software license to modify and distribute a copyright work, or to perform other acts restricted by copyright law.
The data in a table of results is not a copyright work; they're just the facts of that run of a computer program.
To legally restrict use of results: you require instead a EULA or a contract. Which also makes the software not considered 'Open'
It is better to use a license that requires maintaining copyright disclaimers for distributions of the source code, for example, GPLv2 (since GPLv3 is considered bad).
Or say the Open Software License
Or if you wish to not require source code distribution in derivative works: MIT License, Academic Free License, or a Creative Commons Attribution license.
How about you talk to the lawyers your school keeps around for this kind of stuff? Since you're going to be obligated to follow whatever their rules are anyway, you might as well defer to them now instead of after their lawsuit.
Dude,
Just go with the old BSD license. I believe you're looking at Clause 4, iirc.
> Also, it is not a restriction on use of the software per se...
Yes it is, and with it your software will never be included in any major Linux distribution.
BTW is your suoervisor actually the author of any of the software? If not perhaps you could keep him happy by attaching his terms to the copies of the software distributed with the paper and then release it under your preferred terms elsewhere.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
In the Diamond Age, ownership of an idea is significant. For example, the blinking light on an Ethernet card. The inventor of the concept patented the idea, another company used the idea without communicating it to the inventor. The inventor's resulting favorable ruling can be found at. WAIT! You sound like a pretty smart person, go find it yourself. And of course, after all those hours of searching, I maybe not telling you the truth. Personally speaking, it's good to see students learning the various aspects of knowledge. I hope you use the same energy in your "Ethics, and Logic" class, that you used in your introduction to elementary software engineering class.
"Don't worry about people stealing your ideas. If you're ideas are any good, you'll have to ram them down people's throats."
--Howard Aiken (maybe)
"Not an actor, but he plays one on TV."
Algorithms and Libraries for Physics Simulations has two licenses, one for the basic libraries and one for applications. They both require citations as a condition of use. Library license and applications license.
The important bit is common to both licenses:
Aside from this clause, the library and application licenses are based (loosly) on the (version 2) LGPL and GPL respectively.
Ask people to cite it at the beginning. You could have a lawyer do a "by turning to page 2, you agree...," but I think it would basically never be worth the cost of enforcing that agreement--although it might make people more likely to take your request seriously.
(Or is might make them think you're an blowhard.)
...is to tell people which paper they should cite. People will cite something when referencing your software. Because it is required and because there is no reason NOT to cite your paper.
However, sometimes, you don't know which paper to cite. To avoid this, you should tell people which of your papers describes best your software. Moreover, it will concentrate citation on a single paper which is usually better.
I think that a clause that impose citation on program results is always void. A clause that require citation on paper based on program result is probably always void. From a paper can derive others papers and for sure these cannot be under your license.
A license is valid only if there is the copyright statement:
Copyright (C) Year1, Year2, ... YearN Name1, Name2, ... NameN
where
* YearX is a year where the code has been modified
* NameX is the name of a copyright holder
Also you can add WEB address:
site: http://myuniversity.univ/myresearch_paper.html
You can use as NameX your name, your professor's name, ... the institute name, ...
When one person use your software to make a derivate work or distribute it unaltered he must not cancel or alter the copyright statement (if the license do not let do that). So all people can see that the original work is your and can see the WEB address that you have choose.
If one make a new paper with your software or a derived one, he can must distribute the source (if you have choose a right license, for example GPL, AGPL, ...) and if one read the source he found your copyright.
Now I only know that AGPL give you a better protection: it require that it someone make a derivate work and let people to access the binary program with a network (for example internet), than he must also redistribute the source with the modification (and your copyright statement).
So all people who look the source can see something like this:
####
Copyright (C) 2008 MyName, MyProfessor, MyUniversity
E-Mail: MyProjectEmail
home: http://myprojectsite/
This file is distributed under AGPL license.
####
For more detail read the AGPL text on http://www.gnu.org/
If you accept the basic premise of EULA's, which specify a contract, then that contract can do basically anything it likes, within the law.
But once you've gone that route, you've probably already given up the idea of using an OSI approved open source license.
We've never had a problem with someone using our software without citing us appropriately. Most cases people *want* to cite us because it justifies how they used it in their own work and helps them get the paper accepted by the reviewers. If your boss is worried about people not citing your software, then your software is completely derivative anyways (your software does more than just compute the mean, right?).
We were worried about big-pharma companies using our software for drug discovery, so we had UC give us license text that does the following...
- Gives full rights for non-commercial entities to use and modify the software as long as the notice is retained.
- Absolves UC of any damages that might result from using the software
- If you are a commercial entity, you cannot use the software until you contact the University and setup a licensing agreement.
Here is that license text....
-----------------
Citation: First Author, et al. Journal of Whatever (2008)
-----------------
Copyright 2008 The Regents of the University of California
All Rights Reserved
Permission to use, copy, modify and distribute any part of this software for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above citation and copyright notice, this paragraph and the following three paragraphs appear in all copies.
Those desiring to incorporate this software into commercial products or use for commercial purposes should contact the Technology Transfer & Intellectual Property Services, University of California,
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE SOFTWARE PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. THE UNIVERSITY OF CALIFORNIA MAKES NO REPRESENTATIONS AND EXTENDS NO WARRANTIES OF ANY KIND, EITHER IMPLIED OR EXPRESS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY PATENT, TRADEMARK OR OTHER RIGHTS.
Ok, let's say someone breaks your precious license. Are you actually going to sue them?
Also, if people are going to plagiarise then most Universities I know of will kick you out whether your a student or a professor
I agree with the previous poster. Don't invent your own license, and use a general purpose free software license (like the GPL). In addition, usually academic software (particularily in fields which are not computer science) is very often extremly specialized, and very often only academics will want to use it. Hence, in practice, your concern should be more that your software is used (and hence, academic credit is given thru citations) than anything else. Your fellow researchers will certainly cite you if they try your software.
Sounds to me like your supervisor has completely missed the point of open source and proper academic procedure. Hats off!
"in academia, the issue of attribution and citation is very important" - true, but strictly speaking it's the attribution and citation of other research, not the research tools. After all, you don't find many research papers citing that they were typed on Microsoft Word with tables created in Microsoft Excel.
However, you've tried to convince them of this and they still want to go ahead, and it's your job to sort it out to their specifications. So...
The ideal solution would be to make the software so damn good that citing the use of your software in their publications is a good way for the external researchers to prove the integrity of their data analysis.
I might even suggest a reverse-psychology strategy with something along the lines of:
"You may only cite the use of {SOFTWARE} to guarantee the integrity of your data analysis if all data analysis has been done with {SOFTWARE}."
...and then provide a few suitable icons like this one:
http://validator.w3.org/images/valid_icons/valid-xhtml10
the lazarus corporation
"...what do other academic Slashdotters do?"
I always provide attribution because it's part of the rest of the ethics of science. But for code, don't expect everyone to continue to attribute the paper itself, just the source lab and university. We use the EEG system most common to labs like ours. Everyone mentions the vendor in their work, but nobody mentions the validation papers and review of same. Similarly, everyone mentions what statistical analyses they use, but hardly anyone would even know where to begin to find the original publications validating them. If the code becomes widely accepted, expect it to become commonplace enough that the lab and university get mentioned, but not the paper.
And to be that widely accepted, you'd need to either provide ample validation in this publication, or better plan on doing a validation paper as a follow up. Enlisting similar labs for the latter would give your analysis more weight and them a worry-free pub, and everyone wins. If your analysis doesn't happen to be novel enough to warrant this (say, it's a mash up of previously known analyses) then your validation is reference of the sources, but it's not something you can expect much referencing to.
"I may be synthetic, but I'm not stupid." -- Bishop 341-B
A couple of points.
First, I would go with one of the Creative Commons license which require attribution and possibly share alike, and put the citation info in the README or similar file. Most people will *gladly* cite your work, and if you make it easy for them to know which citation needs to be used you make their life *much* easier -- not: I have spent weeks trying to track this kind of thing down in the past. I also have a project on the back burner looking into a numerical instability in an open source package. When the analysis is completed I will need to document the impact to the community and the literature. While the original publication has been cited a couple hundred times there is also a few thousand projects (mostly in the grey literature) that has used it and not properly cited the reference. So, improper citation happens all the time (from sloppiness), but there is little you can do about it but my experience is that most people are glad to cite the original work.
Second, in the US anybody can sue anybody...
There has been a number of court cases where CC, GPL, and other such licenses has been tried in US and international courts, and yes they hold up. For example, from wikipedia :
launched a bus stop ad campaign promoting their cellphone text messaging service using the work of amateur photographers who uploaded their work to Flickr using a Creative Commons-by (Attribution) license. Users licensing their images this way freed their work for use by any other entity, as long as the original creator was attributed credit, without any other compensation required. Virgin upheld this single restriction by printing a URL leading to the photographer's Flickr page on each of their ads. However, one picture, depicting 15 year-old Alison Chang at a fund-raising carwash for her church,[20] caused some controversy when she sued Virgin Mobile. The photo was taken by Alison's church youth counselor, Justin Ho-Wee Wong, who uploaded the image to Flickr under the Creative Commons license.[20]
" The case hinges on privacy, the right of people not to have their likeness used in an ad without permission. So, while Mr. Wong may have given away his rights as a photographer, he did not, and could not, give away Alison's rights. In the lawsuit, which Mr. Wong is also a party to, there is an argument that Virgin did not honor all the terms of the nonrestrictive license.
Besides, if they do not properly cite eventually the reputation gets around for them either being sloppy or disreputable -- and that is rarely good. Also, everyone drops a citation, acknowledgment, or may simply not know about some obscure reference, so why attribute to disreputability or malice what could easily be explained by laziness or a bad day. So, my thought on the matter is to just be clear and make it easy...
Easy.
Put comments in the code pleasantly stating your appropriate, legitimate request that users of your code make an attribution in their publication that they used your software to produce data used in the paper.
Right after that comment, code a section that puts, on every page of output or every X output records in the datafile, something like "Output produced by XXX program developed by YYY at ZZZ".
So, the output has your reference in either (or both) a page header/footer and embedded in the output data file. That "stamp" is unavoidable unless someone edits the output files or the program code.
So, that way, you've asked nicely and put your desired attribution in the code; only the people who you couldn't prevent from ignoring your request anyway will bother to defeat your output "stamp".
QED
The guys from NEST initiative [http://nest-initiative.org/index.php/Main_Page] had to deal with same issue. They have their own version of GPL, requiring a citation [http://nest-initiative.org/index.php/Software:License].
I have a related question, but is slightly OT.
I've gone several rounds with one of the universities tech. transfer legal staff...
I have a a couple of projects before that I have literally thousands of hours invested in before coming to the university. I wanted to be clear about what they, my prior employers, and I own. Basically they said anything that I do while there, they own -- even the bug fixes. At one point the lawyer started yelling at me about circumventing the universities rights when I brought up the topic of open source licensing. In the end I basically told my bosses that I cannot work on the following 6 projects, due to conflict of interest, until I have a memorandum of understanding with the U...
So, my question is how did you get open sourcing past your universities tech. transfer legal staff?
I think what many of the other posts are saying is that you should go with a GPL license and then hope that fellow academics do the right thing and give credit where due. I'd like to further suggest that you request, near the license statement, that the person cite your work. Afterall, the other posts are right, you're not going to sue if someone uses your software without proper citation, so why make it part of the license? Put at the top of each file a polite request to cite and you'll probably get more people doing so than if you bury it in the middle of a license that, honestly, most researchers won't bother to read.
FWIW, I publish my materials for conferences, etc. under the GNU Free Documentation License. I have had people ask "So I understand what this means if I want to print your paper and distribute it to my department. What if I want to take your project and modify it for my classes?"
I reply that this is really my hope, and that if they publish it or present on the project, as a fellow academic, I would expect them to cite me as a source. I would also hope that if they improve the materials, they would let me know so that I could benefit.
This is the way the academic world functions.
We use BSD that includes a statement about our institutes that cannot be removed from any derivative work. That's the only limitation of the BSD license.
Citations are generally a matter of academic integrity (giving credit where it's due), and assistance to the reader (pointing out sources for statements that are argued for or proved elsewhere, and further reading). I rather dislike attempts to interfere in that judgment process.
Generally of course I do cite the paper for software I use, though it depends somewhat on the journal style (some journals prefer footnotes for software instead of normal references, unless the software's paper is something other than a manual, e.g. also proved some new result that you rely on).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
A clause like this is attempting to inflate citation counts beyond what would normally be expected, mainly by forcing even marginal use to result in a citation when often it wouldn't merit one (I don't cite, say, the manual for the Dell computer I use).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
NCBI ( http://ncbi.nlm.nih.gov ) requests this with several of their software packages, you might have some good luck finding boilerplate text in their downloads that you could copy over.
Other replies have noted that a citation requirement is difficult to enforce but that citation is also a canon of academic ethics. The journal I edit thus "asks nicely" for citation. See http://journal.sjdm.org/copyright.htm
the GPL does have a detailed description of the attribution issue in their preamble. Asking for attribution on GPLed work as a condition of use is perfectly compatible with the GPL license.
(The above refers to GPL v.2)
--Sam
Ask nicely in the "How To" doc you distribute with the code and everywhere else. Put a comment in the code that asks nicely.
Right after that comment, hardcode into the output (page header/footer or every X records of the output data file) "Data Produced by XXX Program Developed by YYY at ZZZ".
That way the output will be "stamped" with the attribution you seek and only those who wouldn't do what you ask anyway will bother to edit the code or output files.
QED
Like noted by another slashdotter, the citation is only relevant in case someone else uses your program to create results that are later described in a scientific journal.
In such cases, academic authors will cite your paper anyway. At least they should, and such things is one of the things that reviewer s will check.
My advice is to use an already existing free software license. GPL will give you the maximum protection as an author of academic software. In the README file, put a notice giving the reference to your paper, and state that you'd appreciate a citation. In other words, don't make it a part of the license, which will also make it difficult to include your software in various distributions.
If you are refereeing a paper for a scientific journal, and the article just says 'then we crunched the numbers and the answer was 42', then the referee should reject the paper until they cite their computational methods. Otherwise the research isn't reproducible and then it's not science.
Two points to keep in mind:
You may be able to convince your supervisor by citing the examples of BSD Unix and X11, which brought fame and money to their creators (the CSG at Berkeley, and project Athena at MIT) while using extremely liberal licenses -- the MIT/X11 license (which is what I use for my research) and the 4-clause BSD license, albeit with the advertising clause not being enforced.
You may also want to cite the following anegdote. Two years ago, I was compiling a Linux LiveCD for our first, second and third year undergrads. One of the pieces of software I wanted to include was a Prolog compiler from a well-known Portuguese university which we use in third-year courses.
Unfortunately, the Prolog implementation was covered by a fairly strict license that would significantly complicate our distribution process. After a few exchanges of e-mail with the copyright holders, they told us that we were welcome to do whatever we wanted, but they'd not change the license for us.
After consulting with our legal department, we decided we could not include the Prolog compiler.
Ask nicely in the "How To" doc you distribute with the code and everywhere else. Put a comment in the code that asks nicely. Right after that comment, hardcode into the output (page header/footer or every X records of the output data file) "Data Produced by XXX Program Developed by YYY at ZZZ".
That way the output will be "stamped" with the attribution you seek and only those who wouldn't do what you ask anyway will bother to edit the code or output files.
QED
Mr Supervisor, ok I did the research. What you want conflicts with all of the standard Open Source software licenses that are out there. It's a legal thing about how Open Source licenses usually work. The only way to do it would be to have a lawyer write a custom license. I'm not sure how much it would cost, but the real problem is that using custom untested license could be a real mess.
I do have some good news though, Mr Supervisor! A lot of academic software development like ours does get released under the standard licenses. It's standard practice for papers to give citations when they use software like ours, and citation is virtually always given when software comes with some polite non-license note that such citation is expected.
A citation request really works about as well as putting it into the license. We wouldn't want to actually go to court over it, would we? If not, then really isn't much difference anyway.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
The important thing to have cited is your results in your paper, not your software.
That's making an assumption that there is no intellectual value in the software, only in the underlying theory. I'd say both are valuable, and both should be cited by other researchers who depend on them.
It has to be worked out by you, your employer, your funding body, your university policies, and everybody's egos and lawyers. Any one of them can wind up preventing the sensible others from a sensible answer, especially federal regulatory policy on publicly funded research.
I prefer to use GPL myself, and encourage my employers to do so. It's well documented, easy to follow, and there is now a reasonable body of case law to work with. Whatever you do, don't invent your own, special, unique license. Dan Bernstein did that, and it helped keep djbdns, daemontools, and djbdns from becoming default system components in any OS distribution that I've ever worked with, despite their technical advantages over most other such tools.
I've seen this a few times myself, and I'm also in the process of releasing some research software as open source. People are usually happy to cite your software, because it adds weight to what they do (they haven't just made it up themselves, but they're building on a published base). You can't force them anyway, and if somebody is going to rip you off or use your software without mentioning it, there's no way you can stop them.
You can save yourself a lot of unnecessary work and headaches by just letting go and using an off-the-shelf FOSS license like GPL or better LGPL. That way at least, people will actually use your stuff, which should be the whole point of releasing it.
EagerEyes.org: Visualization and Visual Communication
For my own papers-about-data-analysis-programs, I've had good success with a simple "Please cite this paper" request, but nothing explicit in the license (I use BSD as my university preferred it to GPL). By success, I mean plenty of use of code(s), plenty of citations, and very few cases where I know of code being used and not cited. My observation (as an author and journal referee) is that most authors are happy to cite the papers for the data analysis algorithms with "We used Foo1.2[Barr, et al]" as it is a simple way to explain away details that are important, but not the point of their paper. So my view is that "you MUST cite ..." is best left out of the license.
The Cloudy software package (http://www.nublado.org) as been around since the 70's. It has averaged over 50 citations each year for the past decade, and has well over 100 citations so far this year. Their only license is this text at the beginning of the user manual:
Use of this program is not restricted provided each use is acknowledged upon publication. The bibliographic reference to this version of Cloudy is "version xx.xx of the code last described by Ferland, G.J., et al 1998, PASP, 110, 761-778." The version number, shown here as "xx.xx", should be given and can be found on the first lines of the code's output.
This is a FAQ about free software licences, see http://people.debian.org/~bap/dfsg-faq.html question 12.g.
If you have made an original contribution, and your software merely demonstrates or implements that contribution, then your advisor is acting in an anti-collegial manner by demanding citation.
Clearly, anyone extending your results would be foolish indeed not to cite your paper (and there's already a fine reputation-based system for enforcing this social norm, thank you very much), but it sounds as though your advisor is looking to pad the number of citations he has.
Tell us, does your advisor have tenure?
I don't know. This one: http://creativecommons.org/licenses/by/2.5/ seems to be OSI approved. Provided the authors state what attribution they require (in the case in point: "requiring any published article that uses results of the software to cite our paper"), the line: "You must attribute the work in the manner specified by the author or licensor." seems to be cover such a requirement.
"Engineering is the art of making what you want from things you can get" - Jerry Avins
In my science software, I've written it to keep track of the methods used in the software. When a user is done using it, the software tells her or him (via display to terminal and output to a log) which methods have been used and the appropriate citations for each (I am often not an author on the appropriate citation) as well as the appropriate citation for the software itself. It makes it easier for users to do the right thing (especially in regards to citation of methods, which are often under-cited) without requiring users to agree to a use license. The software itself is GPL'ed.
Also, enter a comment section in the program code that makes the same request.
Then code into the program a section that prints as a head/footer in the formatted output or as every Nth line in the unformatted output file text such as "Data created by Program X developed by Person Y at Place Z".
You'll have your attribution, and likely only those who weren't going to comply anyway will bother to edit the output or program code to remove it.
QED
This space intentionally left blank.
If you were being paid by the university/company for the research, then it is theirs to do with as they will. If OTOH it was paid for by a government grant as most research is, then your supervisor cannot dictae wht terms you distribute it under.
Since you are asking which license to publish under, it sounds like you haven't done this within the framework of whatever institution where you are working.
It could very well be (probably be?) that the license you have to publish under is already set and that you are legally bound to follow it.
Depending on who funded the research, there could be other restrictions and obligations as well.
Certain funding institutions require there be no copyright at all, while others may have some agreement in place that you might violate if you don't investigate this first.
Stuff like this is how you can lose funding - not just for yourself, but for the institution. And the legal issues, under the wrong circumstances, could end up haunting you.
SocialText, makers of wiki software, created a license that may be just what the OP is looking for and it is OSI approved.
Provided the authors state what attribution they require (in the case in point: "requiring any published article that uses results of the software to cite our paper"), the line: "You must attribute the work in the manner specified by the author or licensor." seems to be cover such a requirement.
But if you read the text of the license, you find that the attribution requirement kicks in only if the modified work is a Collective Work or a Derivative Work of the covered work. If a program doesn't copy parts of itself into the output, then its output is not a Derivative Work of the program, as the FAQ for another license explains.
using any old EULA, but putting restrictions on the download that say they agree to cite the software were appropriate.
It only affects it if the academic downloaded the software directly from you, but its not like the citation clause is practically enforcable, and what you really want is to keep your boss happy.
It also avoids the issue of a clause which persists long after the original purpose expires, since if the software is forked, the new developers may need to cite the original, but users of the new software will not.
It depends on your school, but I know of some school legal teams that are stuck in the mindset of locking everything up in hopes of making a buck for the university down the road. It's not really their fault. It's what the administration (i.e. management) keeps asking them to do. But it is also totally opposed to the academic spirit.
Bottom line, if you call in the legal team, you will have to play by their rules. If you keep quiet, you might not get noticed by them and you can do what ever you want (within reason).
Zlib license
http://opensource.org/licenses/zlib-license.php
Just take out the:
"""
an acknowledgment in the product documentation would be
appreciated but is not required.
"""
And replace it with:
"""
an acknowledgment in the product documentation is required.
"""
Or some other wording that you like better.
You could do similar things with licenses such as the MIT or BSD. But, for the love of god, do NOT use the [L]GPL. If you respect the academic freedom of others, you'll stay *very* far away from that license.
I never really looked into how they might work it into their license, but Gaussian provides a template for their *required* citation when you publish, so they're presumably doing it somehow. http://www.gaussian.com/citation_g03.htm
As several people have said earlier, it would be sloppy not to include a citation to any software you use when you write a scientific text. I've more often experienced the opposite problem; trying to find an article to cite for a piece of software I've needed to use. At times you cannot find such articles and hence you are forced to refer to some web page inststead. Which of course will be down the exact day the referee reads your article. I've never met anyone who are reluctant to cite the software they use. After all, a scientific article on the software frees them from the responsibility of describing every piece of it themselves.
So, to the licensing issue; I'd strongly recommend sticking to one of the standard licenses. It really helps the people who want to use your code (and hence will cite your articles). For every new license your users must consider, they will be forced to decide wether or not they can use your code together with other stuff they need. If they want their program released as free software, and particularly if they want it included in e.g. Debian they will probably steer away from unusual or non-DFSG-compliant licenses. Your supervisor wants them to use your software (even though he might not know that) because usage generates citations.
Trust your users, they will cite you. (And give them the BibTeX entry to your article to make it easier for them.)
Publish your work in a reputable Open Access Journal or make it available as part of the Digitalcommons. Making it visible on the Internet is the best protection against someone taking credit for your work.
Hmmm. IANAL, but I reckon running the program counts as "digital performance" of the work and, as such, clause 4.b. kicks in: "to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work" it might not quite get to "cite our paper", but it's pretty close.
"Engineering is the art of making what you want from things you can get" - Jerry Avins
http://www.mfa.kfki.hu/~labar/ProcDif.htm
Labar published an article describing the work in a scholarly, refereed journal and then distributed the code(he chose an executable) with a request for citation.
You could also look at the EMAN2 project
http://blake.bcm.tmc.edu/eman/eman2/
EMAN2 is distributed as open source. The authors also published the work in a scholarly, refereed journal.
Compare LaTeX output of math/statistics literate programming examples with bodies of math/statistics papers. The only significant differences are that the literate code is runnable and makes the research reproducible. The question is the academic institution's rights with respect to intellectual property in general and the answer is that science application should not be hindered by rules that encourage academic institutions to capitalize on their research findings. See "reproducible research" "literate programming".