Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source Software Licenses (for humans)

Shijie F
February 12, 2016

Open Source Software Licenses (for humans)

Inspired by the Python requests library and its "HTTP for humans" tagline, I present to you: "Open Source Software Licenses for humans." I will discuss the core values embodied in the idea of "open source," the origins and the impact of the Free Software Movement, and why you should not use "free software" and "open source" interchangeably in front of Richard Stallman. I will introduce you to the three categories of open source software licenses, focusing on the Permissive and the Strongly Protective (Copyleft) types. I will show you some license notices, but fear not -- I will translate them to a human language that everyone can understand.

Shijie F

February 12, 2016
Tweet

Other Decks in Programming

Transcript

  1. WHAT IS • Computer Program: source code • Development Model:

    peer production • Value System: freedom + community
  2. FREE SOFTWARE MOVEMENT Richard Stallman • GNU Project • GPL

    License • Free Software Foundation Linus Torvalds • Linux Kernel (kernel for GNU, Android, Chrome) • Released under GPLv2
  3. "Linus Torvalds’s style of development – release early and often,

    delegate everything you can, be open to the point of promiscuity – came as a surprise. No quiet, reverent cathedral-building here – rather, the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches (aptly symbolized by the Linux archive sites, who’d take submissions from anyone) out of which a coherent and stable system could seemingly emerge only by a succession of miracles." -- Eric Raymond, The Cathedral and the Bazaar
  4. FREE SOFTWARE v. OPEN SOURCE 4 Freedoms • freedom to

    run software, to study and change it, and to redistribute copies with or without changes • Free speech, not free beer Rebranding • 1998: adopted name “open source” at a strategy session in Palo Alto, after Netscape announced its release of source code
  5. Types of Open Source Licenses Permissive It lets people do

    anything they want with your code as long as they provide attribution back to you and don’t hold you liable. eg. Python, jQuery, Rails, Swift, and Android Strongly Protective It requires anyone who distributes your code or a derivative work to make the source available under the same terms. eg. WordPress, Linux, Bash Weakly Protective It allows integration into proprietary software without being required to release the source code of their own components.
  6. Permissive License • MIT License (most popular) “Do whatever you

    want! Just don’t sue me.” • BSD 3-Clause License
  7. Permissive License • MIT License (most popular) “Do whatever you

    want! Just don’t sue me.” • BSD 3-Clause License MIT + “Don’t use my name in promotion without asking me.”
  8. Permissive License • MIT License (most popular) “Do whatever you

    want! Just don’t sue me.” • BSD 3-Clause License MIT + “Don’t use my name in promotion without asking me.” • Apache 2.0
  9. Permissive License • MIT License (most popular) “Do whatever you

    want! Just don’t sue me.” • BSD 3-Clause License MIT + “Don’t use my name in promotion without asking me.” • Apache 2.0 “I hereby grant you the patent rights.”
  10. Strongly Protective • GPLv2, GPLv3 ◦ share and share alike

    • Copyleft ◦ Copyleft is a method for making a program free software and requiring all modified and extended versions of the program to be free software as well. ◦ Impose redistribution requirements on downstream versions
  11. WHY COPYLEFT? “[I]nstead of putting GNU software in the public

    domain, we ‘copyleft’ it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.”