Last night I went to my first Cheltenham Geek night and I was impressed by groups organisation and the turnout. The theme of the night was Open Source with a talk from Upayavira titled a ‘Talk and Discussion on Using and Contributing To Open Source Projects‘. Upayavira is a the VP of Fundraising at the Apache Software Foundation. He runs a Odoko Ltd which provides Open Source training and consultancy.
I came away realising what little I knew of software licenses and how important they are to the developer, community and company. I have released software to the open source world which is being used in University’s and in content management systems. At the time of releasing the software I fell into the trap that most developers fall into and that was to rush the release process. At the time I only cared if the software worked rather being concerned with how to protect myself and other developers using it. I quickly got fed up of reading license clauses and in some cases picked the simplest one to implement or worse still didn’t bother including a license at all. I think that most of us can admit that some where down the line we have published stuff on a public repository without including a license file.
What I found most interesting about the talk was that by not providing a license you are not contributing to the open source community as effectively as you could. Without a license the user will not know how to use the software and how that software can be used in conjunction with other software. What normally happens in this case is the person wishing to use the software will either go somewhere else or re-develop the software themselves. This is like saying to the world:
Hi, Heres this great idea that I have, Heres the source code but I’m not going to tell you what rights you have to it!
This is what took away from the talk:
- Some licenses can be used together – Some cannot
- Some licenses protect the code or the developer or the company
- Its best to have a license than non at all
- You can include multiple licenses or sub license the code
- Code can only be licensed if it has creative merit – You cannot fix a line of code by adding a semicolon and take the rights of the license from the originator of that line.
- The deeper you look at what is protected the fuzzier it gets – What is creative about that bit of code?
- In most cases software patents are just wrong
- Small reversible changes is the way to go
- Open Source projects are often created by a good idea which at first is poorly coded
- You need to earn committing rights to a project by providing good patches
Geek nights is held once a month in Cheltenham and you can follow them on Twitter