Skip to content
memo.d.foundation / about / playbooks / licenseConnect

Playbooks/Engineering practice

Licensing

What copyright and copyleft mean for our code, and the rules for licensing our work and using open source in client projects.

Use with AI

1Why license?

By definition, license is a permit from an authority to own or use something. In software development, the term expanded to the permission to use the software as well as the source code itself.

Understanding licenses will help you to prevent a lot of painful situation in the future, including lawsuit involvement.

In general, copyright law is used by an author to prohibit recipients from reproducing, adapting, or distributing copies of their work.

When you make a creative work (such as writing, graphics, or code), that work is under exclusive copyright by default. That is, the law assumes that as the author of your work, you have a say in what others can do with it.

Copyleft, distinguished from copyright, 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 created later.

Copyleft software licenses are considered protective or reciprocal, as contrasted with permissive free-software licenses.

3Common licenses at a glance

General industry summary, not legal advice. The rules in the next section decide what we do on client projects.

LicenseTypeWhat it asks of youClient project
MITPermissiveKeep the copyright and license noticeAllowed; keep notice, tell the client
BSD (2 or 3 clause)PermissiveKeep the noticeAllowed; keep notice, tell the client
Apache 2.0PermissiveKeep the notice; includes an explicit patent grantAllowed; keep notice, tell the client
LGPLWeak copyleftChanges to the library itself stay open; linking rules applyDo not use (copyleft)
GPLStrong copyleftDerivative work must be released under the same licenseDo not use
No licenseAll rights reservedNothing is grantedDo not use

4Complicated, but just a few things to remember

4.1Your work

  • If you do not include any Opensource license in your source code, that mean that no one have the rights to use it.

  • If you want your code to be freely used, modified, distributed, simply include the MIT License in it.

  • If you want anyone that uses your code have to public theirs as well, put GNU General Public License in your license file.

4.2Using other's work

  • Never, ever use anyone code/product without the proper license (Cracked software, Unauthorize licenses...).

  • If you use an opensource that is under any copyleft license (Example: GNU General Public License), you should understand that your code must be under the same license, meaning, it must be public.

  • Don't use any code that under copyleft license OR does not have any license associated (copyrighted) in client project.

  • Do include the approriate license.md in your source code

  • Inform clients about all of the opensource that you are about to use in your code and in an official document

  • If you are not sure about licensing, contact your supervisor or lawyer for their opinion