License - noisyboiler/wampy GitHub Wiki

Choosing a License for wampy

Choosing a license has been a bit tricky because of not fully understanding the concepts and language of them and then not being able to find the time to research them all properly. This WIKI page attempts to sort that out, describing the most popular licenses and then identify the most suitable for wampy.

A Permissive software license, sometimes also called BSD-like or BSD-style license, is a FOSS software license with minimal requirements about how the software can be redistributed. Examples include the MIT License, BSD licenses and the Apache license.

Copyright is a legal right created by the law of a country that grants the creator of an original work exclusive rights for its use and distribution. This is usually only for a limited time.

Copyleft is the practice of offering people the right to freely distribute copies and modified versions of a work with the stipulation that the same rights be preserved in derivative works down the line, i.e. derivative work can only be distributed under the same license terms.

What I want from a license

  • encourage open source development
  • wampy should be able to be used freely in other projects whether open source or not
  • i am not liable for any claim, damages or other liabilities arisen by using the software
  • i'd like some idea of how wampy is being used and what modifications are being made
  • i don’t want other people moniterising wampy

I appreciate that the final point here is somewhat incompatible with open source software!

Licenses

GNU General Public License v3

  • strong copyleft
  • insists on open source
  • all changes to the library must be redistributed under the same license
  • force any modifications to be contributed back to you
  • Copyright and license notices must be preserved
  • encouraged to include the license notice in every file

BSD

  • permissive
  • minimal restrictions on the use and redistribution
  • simple
  • requires all code licensed under the BSD license be licensed under the BSD license if redistributed in source code format
  • but does not require that source code be distributed at all

GNU Lesser General Public License

  • copyleft
  • no requirement to release the source code of components using the library
  • still requires modifications of the library itself to be released as open source
  • guarantees the freedom of modification for components licensed under the LGPL
  • does not guarantee the end user's complete freedom in the use of software
  • force any modifications to be contributed back to you

Mozilla public License

  • weak copyleft
  • middle ground between permissive free software licenses and the GNU General Public License (GPL)
  • seeks to balance the concerns of proprietary and open source developers
  • You must make the source code for any of your changes available under MPL
  • can combine the MPL software with proprietary code, as long as you keep the MPL code in separate files, and the propriety code can be released under a propriety license
  • compatible with LGPL and GPL version 2 or greater.

Eclipse Public License

  • weaker copyleft provisions than licenses such as the GNU General Public License (GPL).
  • can use, modify, copy and distribute the work and modified versions, in some cases being obligated to release their own changes
  • not compatible with the GPL, and a work created by combining a work licensed under the GPL with a work licensed under the EPL cannot be lawfully distributed

Apache License 2.0

  • permissive
  • requires preservation of the copyright notice and disclaimer
  • require preservation of copyright and license notices in every licensed file
  • Does not require end user changes to be made available
  • Licensed works, modifications, and larger works may be distributed under different terms and without source code.
  • allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license, without concern for royalties
  • If a NOTICE text file is included as part of the distribution of the original work, then derivative works must include a readable copy of these notices
  • code under GPL version 3 and Apache License 2.0 can be combined
  • includes an explicit contributor's patent license

MIT

  • permissive
  • compatible with almost all other licenses
  • permits reuse within proprietary software provided that all copies of the licensed software include a copy of the MIT License terms and the copyright notice
  • the most popular license
  • does not include an express patent license

The Unlicense

  • no conditions whatsoever which dedicates works to the public domain
  • Unlicensed works, modifications, and larger works may be distributed under different terms and without source code.

My Choice

I am choosing the Mozilla Public License because:

  • It requires modifications to be shared, hence meeting my requirement of encouraging open source development
  • It allows users to use wampy in propriety software
  • By requiring modifications to be share, in theory, i should be able to keep tabs on how wampy is being used
  • I'm not liable if bad stuff happens to a user!
  • Mozilla is a non-profit organisation that I respect
  • it's compatible with the GNU licenses