Licensing and OSS

When developing any software, the code and resulting binaries that you distribute will have to have some software license governing how the software can be used and redistributed. This is especially important for OSS as your source code, not just built binaries, are available for all to see and use. Being able to control how your source code is used, and being able to limit the amount of liability you hold as the creator from other peoples'/companies'/organisations' use of your software can become very important.

There are many existing OSS licenses, each with their own benefits, downfalls and use cases. Each allows for the software licensed under them to be used for different things and can also control how derivative work can be distributed and used. Here are a few of the most common OSS licenses with links to copies of them.

  • AGPL-3.0 - GNU Affero General Public License, a free copyleft license similar to GPL-3.0 but has an additional term to allow users who interact with the licensed software over a network to receive the source for that program.
  • Apache-2.0 - This copyright license allows anyone modify the original source as long as the source retains its original Apache-2.0 license and the modifications are listed in the distribution of the modified source. Authors of Apache-2.0 licensed source cannot be held liable under this license.
  • BSD-3-Clause - Simple copyright license that allows anyone to do whatever they want with BSD 3-Clause license software as long as the software retains its original BSD 3-Clause license. It also states that contributors of the original source cannot be used to endorse derivative works without explicit prior permission.
  • BSL-1.0 - Simple copyright license that allows anyone to do whatever they want with BSL-1.0 license software as long as the software retains it original BSL-1.0 license unless distributed as a compiled binary.
  • GPL-2.0 - GNU General Public License Version 2, a free copyleft license.
  • GPL-3.0 - GNU General Public License Version 3, a free copyleft license similar to GPL-2.0 but with stricter copyleft requirements.
  • LGPL-3.0 - GNU Lesser General Public License Version 3, a free copyleft license similar to GPL-3.0 but LGPL-3.0 software is able to be used and modified with non-GPL-3.0 license source as long as th originally LGPL-3.0 licensed source retains its original license and the LGPL-3.0 source can be replaced with other sources with no effect on the end users usage of the compiled program.
  • MIT - Simple copyright license allow anyone to do whatever they want with MIT license software as long as the software retains its original MIT license. Authors of MIT-licensed source cannot be held liable under this license.
  • MPL-2.0 - Mozilla Public License Version 2.0, is a middle-ground license that aims to balance the benefits of permissive licenses like MIT and copyleft licenses like GPL-3.0.
  • Unlicense - A license that releases the software into the public domain.