I am aware of some teachers that own or collaborate with IT companies, so sometimes the assignments that they provide, to the students, are supposed to solve a specific problem that the company may have.

Although I believe that it is always better to solve a real problem, than to use the same old training problems, is this ethical?

I know that, probably, the schools have their own intellectual property rules, but who should be the owner of the code?

Can a teacher use the code freely? Can the student use the code freely? What is your experience on this?

  • 10
    $\begingroup$ Look up your institutions policy. The code is either the universities (if the policy says so) or the students (if the policy doesn't say anything), but never the professor and can certainly not be used by a 3rd party without consent of the student or university (depending on whom the code belongs). $\endgroup$
    – Polygnome
    Jul 12, 2017 at 11:33
  • $\begingroup$ @Polygnome Or potentially both the student and the university, as sometimes they co-own the code. $\endgroup$
    – reirab
    Jul 12, 2017 at 15:53
  • 2
    $\begingroup$ Not a lawyer, but I would say I don't care what your policy is, it is my work and I do not have a contract with you, to assign the copyright to you. If there is no reciprocal clause (what I get out of assigning copyright to you), then it is an unfair contract, and therefore invalid. (policy is not statute, as I often remind companies) $\endgroup$ Jul 12, 2017 at 16:00
  • 1
    $\begingroup$ " it is my work and I do not have a contract with you, to assign the copyright to you." Actually, when enrolling, you have to sign lots of papers stating lots of things. One of those is usual the university policy... So yes, if the university didn't sleep you had to sign exactly such a contract. $\endgroup$
    – Polygnome
    Jul 12, 2017 at 16:27
  • 1
    $\begingroup$ You asked is this ethical?, while the hidden, and answered, question is is this legal? For many centuries it has been known that ethical ≠ legal. If the student has legal representation at the same level as the school and the business, that's not obligated to either for payment, then an "ethical" situation might be achieved, otherwise it cannot. $\endgroup$ Jul 12, 2017 at 17:08

4 Answers 4


Who should and who does are often different. There are laws and contracts to consider as well as "common law." In my own view, forcing a faculty member to give up all rights to the intellectual property (IP) that he/she develops is just wrong. However the law is the law. Contracts intervene. A program developed in a class for a client is normally done under contract and the client likely owns everything. But you know this going in.

However, a faculty member can't, morally at least, appropriate a student's work unless contracts are in place. Faculty member should, of course, give proper attribution for anything used and also seek permission if there is something useful to be reused. I don't think it is wise for a professor to assume otherwise.

One possibly useful suggestion is to ask the students at the beginning of a term to agree that code they write is done so under GPL or similar license. But it needs to be agreed to.

In general, though, "if you create it, you own it". That is probably not universal, but widely held.

In situations in which contract or the law do give faculty rights to IP created by students everyone is better served, I think, if the faculty member still respects the more general rights of the student. Just because you can appropriate someone else's work doesn't imply that you should.

On the other hand, if the professor provides the question and guidance in the solution, he/she may have some IP rights to the product.

For what it is worth, companies also appropriate the work of employees, but under contract. That is mostly well justified and needed, but there are some variations on it that are also immoral in my view. Preventing a researcher from ever working on the same problems after employment ends should not be allowed in a contract and such should be struck down. But, then, I'm not a lawyer or judge.

Beyond the narrow question it is possible to think "outside the box." If a faculty member normally publishes work on a website he/she can, with the student's permission, publish a student's work under the student's name. This gives the student some visibility and adds a bit of the professor's reputation to that of the student, providing a boost.

I've also heard of situations in which a student and prof go into business together based on joint work.

  • 3
    $\begingroup$ GPL would require the company consuming the code to release the code base leveraging it as GPL, right? This may be a case where MIT would be a good fit. $\endgroup$
    – Robert
    Jul 12, 2017 at 14:38
  • 1
    $\begingroup$ I will never sign an NDA which exceeds the time of my association with the other party. I will consider an NDA, with proper review, that does terminate at the end of any other relationship with the other party. $\endgroup$ Jul 12, 2017 at 17:11

In the software practicum that I teach, students develop new software for a real customer. My school has a standard software license agreement that the students, customer, and I must sign at the start of the semester. The agreement basically gives ownership to everyone involved. The software becomes, in a sense, open source. The agreement has two separate clauses. One gives more "ownership" to the customer. There is some flexibility; one past customer worked with the university to modify the agreement. Also, students could hire their own lawyers to represent them. But I have yet to see that happen.

  • 1
    $\begingroup$ I think "open source" and "owned by a group" mean different things. To open source something means formally yielding your normal rights to the world. It implies, of course, that you have those rights to yield in the first place, as you surely do in the case you cite. $\endgroup$
    – Buffy
    Jul 12, 2017 at 12:43
  • 1
    $\begingroup$ I think you mean that all contributors have individual rights to copy and re-licence the code (maybe along the lines of Apache-2.0?) but it would be useful if you could provide more detail of this standard license. $\endgroup$ Jul 12, 2017 at 14:30
  • $\begingroup$ You have yet to see that happen, because there is an imbalanced relationship (Where one party takes advantage of another). In a lot of jurisdictions this would make the contract invalid. $\endgroup$ Jul 12, 2017 at 16:05
  • 1
    $\begingroup$ @Buffy Open Source does not involve yielding rights, it involves giving rights. Unless you count the right to deprive rights. $\endgroup$ Jul 12, 2017 at 16:49

The 'best' approach is debatable, but you could argue that the easiest approach is to use a permissive license which places few restrictions on who can use the code and what they can do with it. Commercial organisations may have preferences for the particular license you chose, and may be concerned about any obligations that the licence places on them or their future (potentially revenue generating) use of the code. GPL for example is more restrictive about the licensing of derivative works.

Doing nothing (in the absence of any underlying agreements) is unlikely to make the code free-for-all, generally copyright remains with the student (and any other contributors).

A proprietary licence might be acceptable if the project is sufficiently interesting, but is legally more complex to draft.

Regardless of the approach you take, you might want to make sure that if your license affects the student's default rights as the creator of the work, then they are in a position to agree to grant the new license. This in itself ought to be part of the syllabus you're teaching.

  • $\begingroup$ Hey @SeanHoulihane. You often have very keen insights. I miss seeing you around the site! $\endgroup$
    – Ben I.
    Jul 31, 2017 at 2:57
  • $\begingroup$ @BenI. Still here - but SW is not my field (more cpu HW), so IP questions are easier... $\endgroup$ Jul 31, 2017 at 9:04
  • $\begingroup$ What's the acronym SW? $\endgroup$
    – Ben I.
    Jul 31, 2017 at 11:48
  • $\begingroup$ Software... Which is what most people talk about when the think of computer science. $\endgroup$ Jul 31, 2017 at 11:49

The lawyers of most organisations, write the contracts as if they are about property rights, and to protect their own rights. The organisation does not want to loose their own property rights.

However software is not like apples: If I have an apple, and you have an apple, and then we swap apples, then we both have one apple. If I have a program, and you have a program, and we both give each other a copy of the program, then we both have two programs. The programs have not diminished. Therefore to give one person rights we do not have to take them away form another.

Therefore with software there is no need to deprive others, for you to have a right over it. (software/music/etc is not property.)

The best way to do this, and protect the students is to allow the pupil to keep her/his copyright, and only giving copyright to the school, with a clause that they can not re-licence (This only gives the school power to prosecute infringement, but not to abuse their power. The pupil could not be prosecuted, as it is impossible for them to infringe the copyright, as they are a full copyright holder. You will need to see a lawyer for advice on this. Or better to talk to the FSF). And then to use the GPL licence (a copyleft licence). Other licences, including the MIT licences (that are permissive), but especially proprietary licences can abuse the power that the school (or anyone else) has over the students.

This imbalance of power, may also invalidate any contract that you may think you have.

I believe that a permissive licence is just as bad in this situation, as it can use this permission to take advantage; It would allow the school to create proprietary derivatives, of the pupils work. As the school may be in a better position to sell the software, this may not be fair.

Where as a copyleft licence such as the GPL, makes it much harder to take advantage of the author.

Any work that is licensed under the GPL gives anyone that has a copy of the program the following freedoms:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

However there freedoms are immutable, no one can, legally, distribute it without also giving these freedoms.

\begin{array}{|l|l|l|} \hline & Student\ has\ copyright & Student\ does\ not\ have\ copyright \\ \hline Propratory & Student\ can\ use,\ modify,\ distribute. & \\ \hline GPL & Anyone\ can\ use,\ modify,\ distribute. & Anyone\ can\ use,\ modify,\ distribute. \\ \hline Permissive& Anyone\ can\ use,\ modify,\ distribute. & Anyone\ can\ use,\ modify,\ distribute. \\ \hline \end{array}

\begin{array}{|l|l|l|} \hline & Student\ has\ copyright & Student\ does\ not\ have\ copyright \\ \hline Propratory & Student\ can\ fork\ and\ change\ licence. & \\ \hline GPL & Student\ can\ fork\ and\ change\ licence. & \\ \hline Permissive& Anyone\ can\ fork\ and\ change\ licence. & Anyone\ can\ fork\ and\ change\ licence. \\ \hline \end{array}

  • 1
    $\begingroup$ I was not the DV, but you say that the MIT license is "abusing the power that the school has over the students". How so? If I require a student to use GPL, they are not free to fork their own code and use it to seed their own proprietary software; that is theft. MIT allows them to do literally anything they want with it, (particularly if they never publish it publically). $\endgroup$
    – Ben I.
    Jul 19, 2017 at 0:36
  • 1
    $\begingroup$ @BenI This is not so. The thing that would stop the student from creating a proprietary fork, would be if the school took the copyright from the student. The GPL licence will not do it. If a software is licences under GPL then any copyright holder is free to re-licence under any licence that they wish. Including proprietary. $\endgroup$ Jul 19, 2017 at 15:51
  • $\begingroup$ "The GPL is a copyleft license, which means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are widely used examples." (Emphasis mine) (Link) $\endgroup$
    – Ben I.
    Jul 19, 2017 at 16:01
  • 1
    $\begingroup$ @BenI. A licence is a contract between 2 parties. In this case the copyright holder, and anyone that need to be to avoid being in copyright infringement. As you can not be in breach of contract with yourself, and the student is the copyright holder. Then the student is free from the contract, and thus may re-licence any way they like. See fsf.org/blogs/rms/selling-exceptions for the Free Software Foundations thoughts on this practice. $\endgroup$ Jul 19, 2017 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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