What is open source...

…and why it’s not about just putting code out there

Sign up for the newsletter Join our Slack Donate to QOSF   

What happens when I put code on GitHub or Gitlab

The source code of a software project is considered creative work and as such, in the absence of other arrangements, default copyright laws apply. Simply making the source code of the project publicly available, i.e. as publishing it on a code hosting site such as GitHub does not release the project into the public domain and does not make it open source. On the contrary, code that is made public without a licence is still considered proprietary and as such, not free to be used, shared or modified, even for non-commercial or research purposes.

How to choose a licence

Therefore the act of including a licence with the code – formally referred to as releasing the code under a given licence – is what is granting users and developers a set of rights to use, modify and share the project’s source code.

For choosing a licence, we recommend following resources:

Permissive or copyleft

In general, the open source software licences are divided into two groups – so called permissive and copyleft. Permissive licences tend to not restrict the users and developers, and allow the inclusion of the licenced code within commercial software. Some licences include less severe restrictions, such as preserving attribution (i.e. The Apache 2.0 Licence). Copyleft licences, on the other hand, require the authors of the derivative works to redistribute their work under the same, or compatible copyleft licence. The advantage of using a copyleft licence is in enforcing the open access even to the works that extend or otherwise build upon the original work. However, that might be seen as restrictive, especially in commercially driven settings.