My advisor sets the problem. I implement the solution for this particular problem and for the set of similar problems using a programming language.

My question is, can I put the code in the public domain, if I decide to do so. And can I run the code for other people in exchange of co-authorship for their papers?

Again, my advisor did not ask me to write the code, he asked me to solve the problem.

  • 9
    Github != public_domain. – Federico Poloni Mar 23 '13 at 20:01
  • 2
    You don't state whether you work on this problem under an employment. If yes, then typically the employer will hold copyright, otherwise you should retain copyright in your work. – silvado Mar 23 '13 at 20:04
  • 3
    Also, this depends on your country. – cbeleites unhappy with SX Mar 23 '13 at 21:22
  • 1
    Is your supervisor OK with that? – Piotr Migdal Mar 24 '13 at 1:21
  • Regarding the second part (authorship for using) - it deserves a separate question; could yo ask it? – Piotr Migdal Mar 24 '13 at 1:22

Most of the universities I've worked for have been quite explicit that they consider such material as "work for hire" meaning that they own the rights. In that case you need to find out what the university policy is.

Often you are allowed to open-source the code, but you have to find out.

I'm in the United States.

| improve this answer | |
  • My question is about the difference between finding a solution for a particular problem, and implementing it (maybe in my spare time) as a program for some general-case scenario. – NPcompleteUser Mar 23 '13 at 19:41
  • 3
    As I read the paperwork they make me sign every year, anything I do to solve a problem I've been given is claimed to belong to the uni. In principle you could fight that claim, but there is some risk. IANAL, but if you are planning to take this work with you, you should (1) talk to a lawyer and (2) firewall it carefully: only work on it on personal computers, using personal software, not while sitting in your office, not communicating with anyone about it over your employer's network, etc. etc. – dmckee --- ex-moderator kitten Mar 23 '13 at 20:11
  • @dmckee It may depend on place. Also, if it is not patentable (etc), it is very unlikely that he will get into legal problems for sharing work (especially without license claims). Anyway, I did put some code (for my paper) on GitHub and used Creative Commons license, and I am still alive (as of today ;)). – Piotr Migdal Mar 24 '13 at 1:24
  • @dmckee thanks for the IANAL part, will keep in mind. – NPcompleteUser Mar 24 '13 at 1:46
  • 2
    @dmckee Sure, if it is about making business (or has potential for that) then it is a different story. Anyway (at least for research-only stuff) even if one cannot open-source something, perhaps one can still publish something (e.g. on GitHub) with appropriate (e.g. (C) Univ. of XXX) license. – Piotr Migdal Mar 24 '13 at 13:30

Copyright differs a lot between countries. However, here I'd recommend to come to a mutual agreement without thinking about copyright fights in the first place.
That is, try to convince instead of trying to win a copyright fight.

In my experience, in academic context some strong arguments for FOSS licensing are

  • Reproducibiliy is becoming more important. And this includes calculations. Questions about correctness can easiest be answered by "look at the code".

  • The academic currency are citations. It may be much easier to convert a software into citations (by requiring users to cite you) than into money (this requires a whole lot of infrastructure)

  • if it is a larger software: in academia people change institutions fairly often. FOSS licensing is a way to make it clear and legal that you have the right to maintain (and use) code even after you leave that university.

  • If you stay in science, this makes a steady state of technology clear and legal: when you change institution, your new institute profits from the work you bring, and your old institution can profit from the fact that you can still look at this work. You profit by not re-writing wheels.

As for

can I run the code for other people in exchange of co-authorship for their papers?"

Only running code IMHO is something that would be acknowledged, but it isn't enough of a scientific contribution for becoming co-author. So: No.
However, what you can do: write a paper and require users to cite this paper.

A few points about the German copyright in this situation:

| improve this answer | |
  • "Copyright differs a lot between countries." Used to. Not so much these days as hammering out a consistent set of rules on the matter is big business in diplomatic circles. But sometimes the small differences that remain can make a big difference in the outcome of a dispute. – dmckee --- ex-moderator kitten Mar 24 '13 at 2:20
  • @dmckee: I guess one of the practical differences is what rights employers get automatically. Put for the program you are right, that is very similar nowadays. – cbeleites unhappy with SX Mar 24 '13 at 10:06
  • 1
    Only running code IMHO is something that would be acknowledged, but it isn't enough of a scientific contribution for becoming co-author. So: No. I think that depends on how involved running the code is. An advanced model can be quite involved to run, and considering input and parameters there may be several iterations between people. In my opinion, in some cases, I think running code can be enough for co-authorship. – gerrit Mar 25 '13 at 22:14

You really have to ask someone at your department, or take a look at the employment agreement you signed.

My experience is that I often just discuss with my advisor what we are going to do with the code, release it or not, and if so, under which license. A lot of the more general code I wrote is released under a GPL2 license. The problem of ownership often only arises when money is involved. The institutes where I worked until now where very positive towards making any software available under a public license.

| improve this answer | |
  • +1 for discussing the fate of the code before writing it. – kmm Mar 29 '13 at 2:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.