Free software

Free software licenses permit or guarantee access to the human-readable source code used to make the software. This ensures the software can be modified.

See also | :sharing:api

Notes

Why?

Ownership

Device ownership
If you own a device, you should have full control of it. A computer is controlled by the software that runs it, therefore you should have full control of the software. To truly control software, it must be modifiable.

Vendor independence
If you install software, you should not be unfairly bound to it or the company who supplied it. To avoid this, it must be modifiable by you (or someone else of your choosing).

Additional benefits

Permits sharing
As with any free license, sharing software is easier with a free software license. While copying software does not neccessarily require access to the source code, modification is not feasible without it.

Device independence
Modification may be required if copying the software in order to run it on a different device.

Transparency
Access to source code permits more programmers to inspect the code. This improves (but does not guarantee) flaw detection and therefore :safety

More reasons

TODO: FSF link, OSI link?, talks

Choosing a license (end-user)

A software license applies to you as an end-user when you use software on a computer that you own. You are looking for software that allows you to copy and modify it freely. This allows you to install it on a new computer, ask a programming company to fix a bug for you, or modify it yourself.

All free software licenses give you these permissions. Programmers may charge you for their time, but they can't stop you from reusing their changes, or asking someone else next time. And if you learn to program, you could modify it yourself!

Choosing a license (new work)

If you are a programmer making a new piece of software, your choice affects everyone who wants to copy, modify or link to your new software. You may require that anyone using your software must:

Always share code
When copying the software, the source code must always be provided. Other software that links to this software (including over a network) must also provide source code. This is the strongest protection of user freedom. Pick AGPL3+

Share only local code
When copying the software, the source code must always be provided. Other software that links to this software must also provide source code, unless linking over a network, in which case it can be withheld. Pick GPL3+

Share only library code
When copying the software, the source code must always be provided. Other software that links to this software may withhold source code. Pick LPGL3+

Share or restrict code
When copying or linking to the software, any source code may be withheld. Pick Apache 2.0

Choosing a license (modifying programs)

A software license applies to you as a programmer when you modify or link to the software. The simplest approach is to continue using the original license.

TODO: finish this: note on copyleft

Reference (software)

Other links



Backlinks: about:copying

CC0 / Public domain dedication To the extent possible under law, d3vid seaward has waived all copyright and related or neighboring rights to "Free software in Grasmere notebook, including code snippets" (why? how?)