About 2 years ago I founded a code review group in the Astronomy department of the University of Sheffield. Essentially this is a space for early career researchers to meet up every two weeks and talk about code, ask questions or get feedback.
We’ve discussed a great number of topics over the past couple of years, strike one: What is open source?
It came to my attention that it was not clear to a lot of people, and to be honest I don’t think I fully understood it for a very long time (not that I understand all the subtleties). So I thought it would be a good idea to chair a conversation about this, which I did at our last code review session. But it is also clear that this conversation must happen again as more early career researchers join this group, and since our misconceptions about what is (and is not) Open may be shared by others, I thought I’d summarise it here.
For our brief Open Source 101 crash course let’s use comments from people in our group as a starting point. First of all, misconception number 1:
My code is on GitHub, you can clone it, so it’s open source!
No. Just because people can see your source code and have the ability to download it, does not mean they have the right to do so. Any original content you put out in the world is automatically subject to copyright.
Further in the discussion, a few people made an interesting point:
It must have a specific open source license but I don’t know what that is.
Yes! A license is the key. Telling people in the README.md “do whatever you want” is not enough. A license is a way for you to tell people what they are allowed to do with your work and what they are (and are not) entitled to.
But what are the characteristics of an open source license? Someone else in our group attempts a definition:
Free, accessible to be used and modified. Not used for commercial purposes.
Ah, we’re getting there! But there are a couple more nuggets of misconceptions in there. The first one is “free”. In this case, I know -being present in the room- that they meant the I-don’t-need-to-pay-for-it kind of free. When we are talking about free software, however, the word “free” doesn’t refer to cost but to the freedom people have to see the source, learn from it modify it, etc… It is a synonym of open source and is sometimes referred to as libre software (Libre Office makes sense now, doesn’t it) [1, 2].
The other misconception is “non-commercial purposes”. Just think about Python. It is under an Open Source license , and yet used very commonly across many industries. Many corporations make money based on products and analyses that use Python.
So what is Open Source?
It is an ensemble of criteria that software must abide by to call themselves Open Source. The 10 point definition is given on the Open Source initiative website , but here are the essentials:
How do I get a license? Isn’t it technical?
No! It is easier than ever to put a license on your work. A list of Approved Open Source licenses is given on the Open Source initiative website . It might seem overwhelming, and the differences between them can be quite subtle, so which one should you choose?
The Open Definition
You may have noticed that so far I’ve only been talking about software - standard for a code review group discussion - but I thought it would be nice to briefly talk about licenses that apply to non-software creations or products.
The Open Definition is given by the Open Knowledge International non-profit organisation and has similar standard to Open Source but extends to things like images, data, information .
Open Source licenses specifically deal with software, so we need something else that applies to a broader range of resources. Creative Commons Licenses (CC)  are widely popular because there are versatile (come in different flavours) and made very easy to understand. Note however that not all CC licenses are “open” - some do not allow derivatives (so no modifications) or for-profit use. This does not mean they are “bad”, they have their purpose, but you simply cannot call them “open”.
Open Source is an ensemble of principles that apply to software, including but not limited to making the source code available and allowing modification and redistribution. You NEED a license that tells people they have the right to do these things.