commit aee5cc45a89e62bc3f2e108fdf746c10146656de Author: Tobias Olausson Date: Thu May 21 18:06:04 2020 +0200 initial commit, add slides on permissive licenses diff --git a/README.md b/README.md new file mode 100644 index 0000000..6cac480 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# Slides for foss-north podcast +This repo contains source files for the slides we use when recording the foss-north +podcast/screencast, starting with the series on licenses. + +# License +The different slides are under different licenses depending on what license the material included in +the slides are under. This should be marked in each slide deck somehow. In general, we try to make +the slides available as CC-BY-SA 4.0 International diff --git a/permissive/Makefile b/permissive/Makefile new file mode 100644 index 0000000..def980c --- /dev/null +++ b/permissive/Makefile @@ -0,0 +1,7 @@ +all: + pandoc slides.md -t beamer -o permissive.pdf --slide-level=2 +ppt: + pandoc slides.md -o permissive.pptx --slide-level=2 + +clean: + rm permissive.pdf permissive.pptx diff --git a/permissive/license-flow.png b/permissive/license-flow.png new file mode 100644 index 0000000..1dd7080 Binary files /dev/null and b/permissive/license-flow.png differ diff --git a/permissive/slides.md b/permissive/slides.md new file mode 100644 index 0000000..7f53dbe --- /dev/null +++ b/permissive/slides.md @@ -0,0 +1,143 @@ +--- +title: Permissive Software Licenses +subtitle: foss-north pod +author: foss-north +license: CC-BY-SA 3.0 +header-includes: | + \usepackage{xcolor} + \definecolor{fossorange}{HTML}{ffcc33} + \setbeamercolor{background canvas}{bg=black} + \setbeamercolor{section in head/foot}{bg=black,fg=fossorange} + \setbeamercolor{subsection in head/foot}{bg=fossorange,fg=black} + \setbeamercolor{normal text}{fg=fossorange} + \setbeamercolor{block title}{fg=black,bg=fossorange} + \setbeamercolor{titlelike}{fg=fossorange} + \setbeamercolor{itemize item}{fg=fossorange} + \setbeamercolor{itemize subitem}{fg=fossorange} + \setbeamerfont{caption}{size=\tiny} + \setbeamerfont{footnote}{size=\tiny} + \setbeamerfont{footnote mark}{size=\tiny} +theme: Malmoe +aspectratio: 169 + +--- + +# Background +## BSD History +- BSD was based on Research Unix by AT&T[^1] +- Early versions subject to AT&T license +- Networking code first released under BSD license 1989 +- Rest of BSD rewritten to remove all AT&T code 1991 + +[^1]: https://en.wikipedia.org/wiki/History_of_the_Berkeley_Software_Distribution + +## BSD History +- AT&T sued[^AT&T] +- Slowed development, helped Linux gain popularity[^LinuxBSD] +- BSD 4.4 released afterwards + - FreeBSD, OpenBSD, NetBSD etc + +[^AT&T]: https://en.wikipedia.org/wiki/USL_v._BSDi +[^LinuxBSD]: https://gondwanaland.com/meta/history/interview.html + +## MIT history +- MIT, IBM and DEC (now HP) collaboration + - X window system + - Kerberos +- Wanted to make it public domain - IBM didn't like that[^IBM] +- New license created with MIT lawyers[^MITLawyer] +- X license and MIT license not the same but very similar + +[^IBM]: https://opensource.com/article/19/4/history-mit-license +[^MITLawyer]: https://twitter.com/JimGettys/status/1112782559937789953 + +## Why permissive? +- Allows proprietary changes +- Usually allows relicensing as proprietary +- Easier to understand +- Highly compatible (allow further restrictions) + +![FOSS license flow: CC-BY-SA 3.0 (C) 2017 David Wheeler https://dwheeler.com/essays/floss-license-slide.html](license-flow.png){ width=50% } + +# BSD licenses and friends + +## Original BSD license +- 4 clauses + - Source distribution requires copyright notice + - Binary distribution requires copyright notice in documentation + - Advertisement material requires acknowledgement of original authors + - May not use original authors as promotion +- Incompatible with GPL - imposes extra restrictions + +## New BSD license +- 3 clauses +- Advertisement clause removed +- Used by CMake, tcpdump, XMonad + +## Simplified BSD license +- 2 clauses +- Non-endorsement clause removed +- Used by FreeBSD, OpenH264 + +## Other BSD +:::::::::::::: {.columns} +::: {.column width="45%"} +### Zero-clause BSD +- Used by ToyBox +- Busybox is GPL-licensed +::: +::: {.column width="45%"} +### ISC license +- Similar to BSD +- OpenBSD +::: +:::::::::::::: + +## MIT license +- Also known as the Expat license +- Very similar to the simplified BSD license +- Used by .NET Core, Rails + +# Modern permissive licenses + +## Apache License 2.0 +- Can't relicense unmodified parts +- Need to state what's been changed in changed files +- Grants a license to any patent + - OpenBSD doesn't like this![^BSDCopy] +- Used by Kubernetes and PDF.js + +[^BSDCopy]: http://www.openbsd.org/policy.html + +## Other permissive licenses +:::::: {.columns} +::: {.column width="45%"} +### Satirical licenses +- WTFPL +- Beerware + +### Permissive with reservations +- Commons clause (controversial!) +::: +::: {.column width="45%"} +### Public domain-ish +- Unlicense +- CC-0 + +### Zlib license +- Zlib and libpng +- Require license notice in source distributions +- May not be misrepresented +::: +:::::: + + +## Mozilla Public License 2.0 +- Grants patent rights, just like Apache license +- A weak copyleft license + - "File-level copyleft" + - Combined works may be proprietary + - But original MPL licensed works must be freely available +- Explicitly compatible with the GPLs + +- Used by Firefox, Syncthing, LibreOffice