Guidelines on using open-source code
When developing custom code for customers, there is often reuse in publicly available code for that purpose. The important thing to keep in mind is that any code available on the net belongs to somebody and is either explicitly (by attaching a license note) or implicitly (by default, according to relevant laws) licensed for usage. Any custom code that is produce for customers must be, by default, their property, meaning that it is licensed as proprietary code. In order to ensure such compliance, there can only be use in open source code that allows to make derivative works, (modify the code) that are proprietary. All open-source code (leaving aside other types or kinds of source code), can be divided into two categories: permissive and copyleft:
- A “permissive” license is simply a non-copyleft open source license — one that guarantees the freedoms to use, modify, and redistribute, but that permits proprietary derivative works.
- Copyleft provisions apply only to actual derivatives, that is, cases where an existing copylefted work was modified. Merely distributing a copyleft work alongside a non-copyleft work does not cause the latter to fall under the copyleft terms.
Therefore, when considering using an open-source code in any project, there are several rules to remember:
- Only use code that has an explicit license attached.
- Code that is licensed as “permissive” can be freely used.
- Applictions can be bundled with code licensed as “copyleft”, but it cannot be modified, this will prevent licensing it as proprietary code.
- It is important to leave the copyright notice (attribution notice) in the original code, even if it was modified.
Short list of popular licenses
- Apache 2.0
- LGPL v2.1+
- GPL v3+
- MPL 1.1
Igor Gassko, CTO