I recently read an article titled “GitHub needs to take open source seriously” from InfoWorld, and it was all kicked off by this tweet:
younger devs today are about POSS – Post open source software. f*** the license and governance, just commit to github. – slightly edited 😉
Whilst I don’t consider myself one of the “Post Open Source Software” types licensing isn’t something I think about and not an area I relish delving in to.
Too many licences
Part of the problem is that there are so many licenses available to choose from some with very subtle differences that, without realising, could have major consequences for your project. Look on wikipedia and there are no less than 42 open source licenses in their comparison chart.
A plan for growth
In a rush to get code out into the open developers often miss the point that, in order for their open source project to become popular, people and companies are going to need to use it.
Any reputable company is going to first check the licence of an open source project before incorporating it into their code (or using outright) to protect themselves from legal action or from having to extract that library from their code at a later date – potentially at huge cost.
Remember that, in general, not including a licence means that anyone using or editing your code is in breach of your copyright. Therefore, it’s essential that we start providing licences with our projects in order to help them grow.
Most popular open source licenses
So in saying all of this, what are the top 3 licences and what do they mean?
Apache v2.0
- Anyone can use the code at no cost, ever
- Any rights you have to the code apply forever and wherever you are, and they can’t be taken away
- There are some rights around redistributing the code, mainly around giving credit to those that have worked on the code
- All copies, modified or unmodified, must be accompanied by a copy of the licence
- All modifications must be identified as work by the modifier
GPL
- You can use the code at no cost
- Copy the software where ever you want, even charge to redistribute it
- Modify the code however you want
- All derivative projects must also be GPL
MIT
- You can use, copy, and modify the code however you want.
- All code must be accompanied by a copy of the licence
- Anyone can use the code at no cost
- Basically says: “do whatever you want, just include a copy of the licence“
Summary
If you want your open source project to grow and flourish people are going to need to use it. To protect themselves when doing so there is going to need to be some sort of licence in place, you have a duty to your project to help it grow by sticking a licence on it. Make sure you know what your licence means or you may be unpleasantly surprised.
At Surevine the default license for our projects is currently the GPL v3 after legal advice from our open source solicitors. For my personal projects, whilst MIT seems to be the way to go, much of the code I produce is related to other projects which use the Apache 2.0 license. It therefore seems most sensible to use the same licence so there’s no issues for others wanting to make use of all of the code together.





