There is a lot of Open Source software available which subject to license agreements formulated by the [www.gnu.org GNU] project. Complete information on the various and most recent versions of these licenses are available at the GNU Web site 1.
In a nutshell:
- Using a library that is protected by the GNU Public License (GPL) forces you to make your application's source code available.
- Using a library that is protected by the Lesser GNU Public License (LGPL) allows you to keep your application source code private, but you must make it possible for users to replace the LGPL'ed portion of your application with new versions independently of your proprietary binaries. This is most easily achieved if you use the LGPL'ed code as a DLL or shared library.
Richard Stallman, spokesman/founder of the GNU Project, strongly recommends that library developers use the GPL, in order to encourage free software. However, the LGPL seems nonetheless to be very commonly in use for Open Source libraries. (I suspect the Open Source developers are more interested in the satisfaction of a large audience for their work than they are in forwarding the philosophies of the GNU Project.)
There are numerous other license agreements in common use, as well as custom licenses designed for a single project. Take a careful look at the licensing for any free software that you consider using for Spooky Distance projects.