Licences

Why Licences?

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

Licence or License?

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

Copyright

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

Choices

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

Free and Open source

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

Some Choices

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

What to do

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