Adding a licence to your software makes no difference to you, unless you are prepared to employ lawyers and get involved in court cases
But it makes a difference to other people because it lets them know where they stand
So you should add a licence to any project of any significance that you write and make public, to establish the rules for your software
In British English, "licence" is the noun, and "license" is the verb (as with "advice" and "advise")
In American English, "license" is used for both
In either case, they are both pronounced the same
Software is generally regarded as being protected by copyright law (with the one exception of the USA, where a contract law approach seems to be preferred)
That means it the text which is protected, rather than the ideas, and there is no registration process, you can just go ahead and add a licence
Legally, you own the copyright to your own software whether you do anything about it or not, so a licence just claims ownership and clarifies the permissions you are granting
There are three main choices, in order of severity:
These notes assume you don't want to make your software proprietary
Making your work public domain is tricky (how can you make a statement about
the software without claiming ownership? try
the CC0
licence) and not recommended for software
A good choice for software is a Free and Open Source Software (FOSS) licence
These are very permissive licences, which make it clear what people can do (almost anything) and can't do (claim ownership, or sue you), and there are many to choose from
In general, contributing to the open source community while at Uni is good for your CV, and it doesn't prevent commercial exploitation later in a spinoff company
Here are the licences which are (perhaps) the simplest:
If you want to read more about the legal implications of the FreeBSD licence, for example, and comparisons with GPL-style licences, see the BSD licence discussion
Many software projects have the full licence at the start of every source code file - that is surely just 'lawyer paranoia'
A simple approach is to put "see licence.txt
" at the top of
each file, and put the licence in a file licence.txt
, with the year
and owner filled in appropriately