initial commit
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fonts/*
|
||||
*.pdf
|
||||
BIN
img/anika.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
img/full-bush.png
Normal file
|
After Width: | Height: | Size: 3.2 MiB |
BIN
img/gpl-compat.png
Executable file
|
After Width: | Height: | Size: 69 KiB |
BIN
img/hexley.jpg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
img/hexley.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
img/hexley.webp
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
img/stallman.png
Executable file
|
After Width: | Height: | Size: 1.2 MiB |
1
licensing.pdfpc
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"pdfpcFormat":2,"disableMarkdown":false,"pages":[{"idx":0,"label":1,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":1,"label":2,"overlay":0,"forcedOverlay":false,"hidden":false,"note":"This is a note that only the speaker will see."},{"idx":2,"label":3,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":3,"label":4,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":4,"label":5,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":5,"label":6,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":6,"label":7,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":7,"label":8,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":8,"label":9,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":9,"label":10,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":10,"label":11,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":11,"label":12,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":12,"label":13,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":13,"label":14,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":14,"label":15,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":15,"label":16,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":16,"label":17,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":17,"label":18,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":18,"label":18,"overlay":1,"forcedOverlay":true,"hidden":false},{"idx":19,"label":19,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":20,"label":20,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":21,"label":21,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":22,"label":22,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":23,"label":23,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":24,"label":24,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":25,"label":25,"overlay":0,"forcedOverlay":false,"hidden":false},{"idx":26,"label":26,"overlay":0,"forcedOverlay":false,"hidden":false}]}
|
||||
477
licensing.tex
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
%! TEX program = lualatex
|
||||
|
||||
\documentclass{beamer}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{amsmath,amssymb,lmodern}
|
||||
\usepackage{gensymb}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{lmodern}
|
||||
\usepackage{stackengine}
|
||||
\usepackage[normalem]{ulem}
|
||||
\usetheme{Madrid}
|
||||
|
||||
|
||||
\definecolor{base00}{rgb}{0.004,0.008,0.024}
|
||||
\definecolor{base01}{rgb}{0.118,0.106,0.188}
|
||||
\definecolor{base02}{rgb}{0.314,0.271,0.451}
|
||||
\definecolor{base03}{rgb}{0.455,0.431,0.584}
|
||||
\definecolor{base06}{rgb}{0.922,0.965,1}
|
||||
\definecolor{base07}{rgb}{0.984,0.984,1}
|
||||
\definecolor{base0F}{rgb}{0.639,0.290,0.471}
|
||||
|
||||
\setbeamercolor{palette primary}{fg=base07,bg=base02}
|
||||
\setbeamercolor{palette secondary}{fg=base06,bg=base01}
|
||||
\setbeamercolor{palette tertiary}{fg=base06,bg=base03}
|
||||
\setbeamercolor{palette quarternary}{fg=base06,bg=red}
|
||||
\setbeamercolor{structure}{fg=base06} % itemize, enumerate, etc
|
||||
\setbeamercolor{section in toc}{fg=blue} % TOC sections
|
||||
\setbeamercolor{block title alerted}{bg=base0F,fg=base06}
|
||||
\setbeamercolor{block body alerted}{bg=base0F!75,fg=base00}
|
||||
\setbeamercolor{enumerate item}{fg=base03}
|
||||
\setbeamercolor{background canvas}{bg=base00}
|
||||
\setbeamercolor{normal text}{fg=base06}
|
||||
\newcommand{\tinyscript}{\fontsize{7.5}{8.5}\selectfont}
|
||||
\setbeameroption{show notes on second screen=right} % Both
|
||||
\setbeamertemplate{note page}{%
|
||||
\begin{minipage}[t][\textheight]{\textwidth}
|
||||
\tinyscript
|
||||
\let\olditem\item
|
||||
\renewcommand{\item}{\olditem\tinyscript}
|
||||
\insertnote
|
||||
\end{minipage}
|
||||
}
|
||||
\usefonttheme[onlymath]{serif}
|
||||
\setsansfont{Berkeley Mono}
|
||||
|
||||
%Information to be included in the title page:
|
||||
\title{*Notices your Software*}
|
||||
\subtitle{
|
||||
OwO, is this under a Free, Libre, and Open Source License? \\
|
||||
A crime against legal systems, good writing, and Richard Stallman himself
|
||||
}
|
||||
|
||||
\date{2025-09-19}
|
||||
\author{Mira (ArgentumCation)}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\section{Introduction}
|
||||
\begin{frame}{What's a License}
|
||||
\begin{itemize}
|
||||
|
||||
\note[item] {
|
||||
First up, what is a license? \\
|
||||
A miserable block of text, next question.
|
||||
}
|
||||
\item How you tell other people what they can and can't do with the things you make
|
||||
|
||||
\note[item] {
|
||||
Copyright law is a bitch, Posting your stuff online is a bitch \\
|
||||
Basically a license is your way of telling other people what they can and can’t do with your stuff
|
||||
}
|
||||
\note[item]{New definitions time: Copyright forbids changing stuff and giving it to others, Copyleft forbids forbidding changing stuff and giving it to others}
|
||||
\item By default, works are under All Rights Reserved
|
||||
\note[item] {By default, your stuff is under All Rights Reserved, which means you own it and if anyone wants to use it/look at it/share it/what have you, then they’ve gotta go through you first}
|
||||
\begin{itemize}
|
||||
\item Until big corpo and/or pirates get their mitts on it
|
||||
\note[item] {In practice, that's probably not gonna stop anyone until you get lawyers involved}
|
||||
\end{itemize}
|
||||
\item There's two big classes of license
|
||||
\note[item] {So with the kind of licenses you can get off the shelf, there’s two main types, Permissive and Restrictive, I find it helpful to think of these from the point of view of big corpo}
|
||||
\begin{itemize}
|
||||
\item Permissive
|
||||
\note[item] {
|
||||
Permissive
|
||||
|
||||
\begin{itemize}
|
||||
\item Basically gives downstream people more freedom to do whatever they want. Like making their own copy of your stuff and selling it
|
||||
\item Big companies will generally only use dependencies if they’re under a permissive license
|
||||
\end{itemize}
|
||||
}
|
||||
\item Restrictive
|
||||
\note[item] {
|
||||
Restrictive
|
||||
\begin{itemize}
|
||||
\item Intended to protect specific freedoms, like distribution and modification
|
||||
\item Big companies will generally avoid these like the plague
|
||||
\end{itemize}
|
||||
}
|
||||
\end{itemize}
|
||||
\item Can also control other things
|
||||
\begin{itemize}
|
||||
\item Some licenses have ethics clauses
|
||||
\item Some are royalty-free
|
||||
\note[item] {Licenses can attempt to enforce other things like ethics clauses or royalty free}
|
||||
\note[item] {Royalties in this case are basically a subscription fee to use a copyrighted work}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\section{FOSS Licenses}
|
||||
\begin{frame}
|
||||
\centering
|
||||
\huge FOSS Licenses
|
||||
\note{FOSS stands for Free and Open Source Software, the definition of which is loosely enforced by the Open Source Initiative and Free Software Foundation}
|
||||
\end{frame}
|
||||
\begin{frame}{FOSS Freedoms}
|
||||
|
||||
As outlined by the Stall Man himself, this delineates what's open source or not
|
||||
|
||||
\begin{enumerate}
|
||||
\setcounter{enumi}{-1}
|
||||
\note[item]{This is the general idea of what FOSS is}
|
||||
\item The freedom to run the program to for whatever and whyever
|
||||
\note[item]{Let me use the program however the fuck I want}
|
||||
\item The freedom to see and modify the source code
|
||||
\note[item]{Let me do whatever the fuck I want with the code}
|
||||
\item The freedom to make and distribute copies
|
||||
\note[item]{I can give your code to whoever the fuck}
|
||||
\item The freedom to do that with your modified versions
|
||||
\note[item]{I can give my code to whoever the fuck}
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
\begin{frame}{FOSS Freedoms (cont.)}
|
||||
Everything in this section is gonna have the following requirements:
|
||||
\begin{itemize}
|
||||
\note[item]{The tl;dr for this section, every license in this section needs:}
|
||||
\item Commercial Use
|
||||
\note[item]{Commercial use: you gotta be able to sell my shit}
|
||||
\item Distribution
|
||||
\note[item]{Distribution: woe, my software be upon ye}
|
||||
\item Modification
|
||||
\note[item]{Modification: woe, they made horny fanfic of my software}
|
||||
\item Private Use
|
||||
\note[item]{Private Use: whatever consenting adults do in the privacy of their own home using my software is not my problem}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{GPL: The GNU Pubic Licenses}
|
||||
\note[item]{These are the OG FOSS licenses, sourced directly from Richard Stallman’s sweat glands}
|
||||
\begin{itemize}
|
||||
\item GPLv2
|
||||
\note[item]{This is the original copyleft license}
|
||||
\note[item]{Q: What happened to GPLv1? \\
|
||||
A: I don’t know and I don’t care. I’m gregnant, hungry, and wrote this slide at 4:57 PM, you’re not getting real journalism out of me}
|
||||
\begin{itemize}
|
||||
\item No Warranty
|
||||
\item No Liability
|
||||
\item Disclose Source
|
||||
\item Same License
|
||||
\item State Changes
|
||||
\end{itemize}
|
||||
\item GPLv3
|
||||
\begin{itemize}
|
||||
\item Don’t lock down the hardware
|
||||
\item No DRM
|
||||
\item Patent Grant
|
||||
\item License Interop
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{GPL (cont.)}
|
||||
\begin{itemize}
|
||||
\item AGPLv\{2,3\}
|
||||
\begin{itemize}
|
||||
\item Network use counts as distribution
|
||||
\item Used by Grafana, Mastodon, et al
|
||||
\end{itemize}
|
||||
\item LGPLv\{2,3\}
|
||||
\begin{itemize}
|
||||
\item Linking Freedom
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{BSD Licenses}
|
||||
\begin{itemize}
|
||||
\item On the more permissive end
|
||||
\item BSD 4 Clause
|
||||
\begin{itemize}
|
||||
\item Original BSD license
|
||||
\item Copyright notice
|
||||
\item No endorsement
|
||||
\item Attribution
|
||||
\end{itemize}
|
||||
\item BSD 3 Clause
|
||||
\begin{itemize}
|
||||
\item Removes advertising requirement
|
||||
\end{itemize}
|
||||
\item BSD 2 Clause
|
||||
\begin{itemize}
|
||||
\item Yes endorsement
|
||||
\end{itemize}
|
||||
\item BSD 2 Clause Patent
|
||||
\begin{itemize}
|
||||
\item Same as above with a patent grant
|
||||
\end{itemize}
|
||||
\item BSD 1 Clause
|
||||
\begin{itemize}
|
||||
\item Same as 2 Clause, but only need license for source
|
||||
\end{itemize}
|
||||
\item BSD 0 Clause
|
||||
\begin{itemize}
|
||||
\item Fuck it we ball
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{Creative Commons Part 1}
|
||||
\begin{itemize}
|
||||
\item Intended to sit between public domain and All rights reserved]
|
||||
\item Not specific to software
|
||||
\begin{itemize}
|
||||
\item This presentation is CC-BY-NC-SA 4.0
|
||||
\end{itemize}
|
||||
\item CC-BY
|
||||
\begin{itemize}
|
||||
\item Attribution
|
||||
\end{itemize}
|
||||
\item CC-BY-SA
|
||||
\begin{itemize}
|
||||
\item Attribution + ShareAlike
|
||||
\end{itemize}
|
||||
\item CC0
|
||||
\begin{itemize}
|
||||
\item Public Domain
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{The Permissive Twins}
|
||||
Apache
|
||||
\begin{itemize}
|
||||
\item Keep Notices
|
||||
\item Unmodified code stays under Apache in derivatives
|
||||
\begin{itemize}
|
||||
\item Modified code can be under any license
|
||||
\end{itemize}
|
||||
\item Patent Grant
|
||||
\item State Changes
|
||||
\item GPLv3 Compatible
|
||||
\item LLVM Exception (optional)
|
||||
\item FSF begrudgingly approved
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{The Permissive Twins (cont.)}
|
||||
MIT
|
||||
\begin{itemize}
|
||||
\item Most popular license on GitHub
|
||||
\item Include the license in derivatives
|
||||
\begin{itemize}
|
||||
\item MIT-0 doesn’t even require that
|
||||
\end{itemize}
|
||||
\item No patent grant
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{The Other Public Domain Ones}
|
||||
\begin{itemize}
|
||||
\item Unlicense
|
||||
\begin{itemize}
|
||||
\item Public Domain, with more words
|
||||
\end{itemize}
|
||||
\item WTFPL
|
||||
\begin{itemize}
|
||||
\item "You just DO WHAT THE FUCK YOU WANT TO"
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{Grab Bag}
|
||||
\begin{itemize}
|
||||
\item EUPL
|
||||
\begin{itemize}
|
||||
\item Most popular on GyattHub
|
||||
\item Made by EU
|
||||
\item Compatible with GPL/AGPL/MPL/LGPL/APL/JPL/Both IPLs/BNPL/WTFPL and what have you
|
||||
\item Linking Freedom
|
||||
\item Network Use is distribution
|
||||
\item Royalty Free
|
||||
\end{itemize}
|
||||
\item MPL
|
||||
\begin{itemize}
|
||||
\item Used by Firefox and Thunderbird
|
||||
\item You gotta keep em seperated
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\section{Non-FOSS Licenses}
|
||||
\begin{frame}
|
||||
\centering
|
||||
\huge Non-FOSS Licenses
|
||||
\end{frame}
|
||||
\begin{frame}{Creative Commons Part 2: Tragedy of the Commons}
|
||||
\begin{itemize}
|
||||
\item CC-BY-NC-SA
|
||||
\begin{itemize}
|
||||
\item Attribution
|
||||
\item NonCommercial
|
||||
\item ShareAlike
|
||||
\end{itemize}
|
||||
\item CC-BY-ND
|
||||
\begin{itemize}
|
||||
\item Attribution
|
||||
\item NoDerivatives
|
||||
\end{itemize}
|
||||
\item CC-BY-NC-ND
|
||||
\begin{itemize}
|
||||
\item You're smart, you can figure it out
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{Putting the Pot in Potpurri}
|
||||
\begin{itemize}
|
||||
\item AFPL
|
||||
\begin{itemize}
|
||||
\item Derived from GPL
|
||||
\item Include Source Code
|
||||
\item No selling
|
||||
\end{itemize}
|
||||
\item Anti-996
|
||||
\begin{itemize}
|
||||
\item So back in the old \stackanchor{zhōng}{中} of \stackanchor{guó}{国}, there was this thing called the 996 system
|
||||
\item Don’t be Mr. Krabs, follow labor laws
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{Putting the Pot in Potpurri (cont.)}
|
||||
\begin{itemize}
|
||||
\item Anti-Capitalist Software License
|
||||
\begin{itemize}
|
||||
\item Include License
|
||||
\item Don’t be a capitalist
|
||||
\item ACAB
|
||||
\end{itemize}
|
||||
\item Artistic License
|
||||
\begin{itemize}
|
||||
\item \sout{Is what I’m taking with all these legal definitions}
|
||||
\item Not that important except FSF calls it "Too clever for its own good" which I thought was funny
|
||||
\item I can't even find a link for this
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}{Putting the Pot in Potpurri (cont.)}
|
||||
BSD 3 Clause No Nuclear Warranty
|
||||
\end{frame}
|
||||
\begin{frame}{Rapid Fire since it's 5:49PM and I have to leave in 20 minutes}
|
||||
\begin{itemize}
|
||||
\item BUSL/BSL
|
||||
\begin{itemize}
|
||||
\item GPLv2-ish after 4 years
|
||||
\end{itemize}
|
||||
\item CPOL
|
||||
\begin{itemize}
|
||||
\item No selly
|
||||
\item Can't do shit without permission from author
|
||||
\end{itemize}
|
||||
\item Commons Clause
|
||||
\begin{itemize}
|
||||
\item Not actually a license
|
||||
\item Don't sell my shit
|
||||
\end{itemize}
|
||||
\item Functional Source License
|
||||
\begin{itemize}
|
||||
\item Apache or MIT after 2 years
|
||||
\item No competing with me
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Rapid Fire since it's 5:49PM (cont.)}
|
||||
\begin{itemize}
|
||||
\item HESSLA
|
||||
\begin{itemize}
|
||||
\item No human rights violations pls
|
||||
\item No helping other people do human rights violations
|
||||
\end{itemize}
|
||||
\item JSON
|
||||
\begin{itemize}
|
||||
\item Don't be evil
|
||||
\iem Unless you're IBM
|
||||
\end{itemize}
|
||||
\item PPL
|
||||
\begin{itemize}
|
||||
\item Dont make money off of this unless you're a co-op
|
||||
\end{itemize}
|
||||
\item SSPL
|
||||
\begin{itemize}
|
||||
\item AGPL with extra steps
|
||||
\end{itemize}
|
||||
\item SIL OFL
|
||||
\begin{itemize}
|
||||
\item For fonts
|
||||
\item Don't charge money for it
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Hexley}
|
||||
\begin{itemize}
|
||||
\item WHY THE FUCK DOES APPLE HAVE A FUCKING LICENSE FOR ITS FURSONA
|
||||
\item WHY DOES APPLE HAVE A FURSONA
|
||||
\item WHY THE FUCK dO I HAVE The LICENSE FOR A NON-FOSS FUCKIGN FURSONA IN MY PRESENTATION
|
||||
\item You need to include the copyright statement somewhere
|
||||
\item If you want to mass produce merch, you need to request permission from the copyright holders
|
||||
\begin{itemize}
|
||||
\item derivatives must be related to original work
|
||||
\item derivatives should also should not "dilute the quality" of the work
|
||||
\end{itemize}
|
||||
\item IT'S ONE AM AND THEY HIT THE SECOND FUCKING BRAINCELL
|
||||
\item I AM HAVING A DTROKE APPLE NAS TEO FURSONAE
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
%% Anika + Hexley slide
|
||||
\begin{frame}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Hippocratic License}
|
||||
This one is pretty modular actually
|
||||
\begin{itemize}
|
||||
\item no charge
|
||||
\item no royalty
|
||||
\item can remix/redistribute etc
|
||||
\item has patent grant
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Hippocratic License Core}
|
||||
\begin{itemize}
|
||||
\item Don't murder people
|
||||
\item Don't slavery
|
||||
\item Don't child labors
|
||||
\item No Cruel and Unusual Punishment
|
||||
\item No racism/sexism/etc
|
||||
\item Right to a fair trial?
|
||||
\item No search and seizure without a warrant or random arrests?
|
||||
\item No invasions of home or privacy, or communications
|
||||
\item No eminent domain
|
||||
\item No Trail of Tearsing people
|
||||
\item No unionbusting
|
||||
\item No hurting the environment
|
||||
\item equal pay for equal work
|
||||
\item reasonable working hours and periodic paid holidays
|
||||
\item Verify your supply chain
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Hippocratic License Optional Sections}
|
||||
\begin{itemize}
|
||||
\item Don't be a fossil fuel company
|
||||
\item No hurting the environment (again?)
|
||||
\item No mineral or fossil fuel mining
|
||||
\item Don't be on the BDS list
|
||||
\item Don't be the Taliban
|
||||
\item Don't be the Myanmar government
|
||||
\item Don't do business in/with the Xinjiang Uygur Autonomous Region of China?
|
||||
\item Don't have beef with Customs and Border Protection for Forced Labor
|
||||
\item Don't do mass surveillance
|
||||
\item Don't be a military
|
||||
\item Don't be law enforcement
|
||||
\item Don't be a media entity that promotes violence
|
||||
\item Don't unionbusting (again?)
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Resources that can help with picking a license}
|
||||
\begin{itemize}
|
||||
\item Most of these are only gonna help with FOSS licenses
|
||||
\item \href{https://choosealicense.com/}{choosealicense.com} is maintained by GitHub, has the most common licenses
|
||||
\item \href{https://interoperable-europe.ec.europa.eu/collection/eupl/solution/licensing-assistant/find-and-compare-software-licenses}{EU Licensing Assistant} makes it easier to compare licenses in my opinion
|
||||
\item \href{https://spdx.org/licenses/}{SPDX} is gonna be the most thorough source, has a list of like every license on earth, and licenses are typically identified using their entry in the SPDX list
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\end{document}
|
||||
425
licensing.typ
Normal file
|
|
@ -0,0 +1,425 @@
|
|||
#import "@preview/polylux:0.4.0": *
|
||||
#import "@preview/rubby:0.10.2": get-ruby
|
||||
|
||||
// Make the paper dimensions fit for a presentation and the text larger
|
||||
// #set page(paper: "presentation-16-9", fill: rgb("#010206"))
|
||||
#set page(width: 297.0mm * 2,height: 168.0625mm, fill: rgb("#010206"), columns: 2,
|
||||
background: [
|
||||
#place(
|
||||
top + left,
|
||||
rect(
|
||||
width: 50%,
|
||||
height: 100%,
|
||||
fill: rgb("#010206"),
|
||||
)
|
||||
)
|
||||
#place(
|
||||
top + right,
|
||||
rect(
|
||||
width: 50%,
|
||||
height: 100%,
|
||||
fill: rgb("#1e1b30"),
|
||||
)
|
||||
)
|
||||
])
|
||||
#set columns(gutter: 4%)
|
||||
#set text(size: 18pt, font: "TX-02", fill: rgb("#EBF6ff"), fallback: true,weight: 400)
|
||||
#set align(top)
|
||||
#let sections-band = toolbox.all-sections( (sections, current) => {
|
||||
align(left)[
|
||||
#box(
|
||||
width: 50%,
|
||||
{
|
||||
set text(fill: gray, size: .8em)
|
||||
sections
|
||||
.map(s => if s == current { strong(s) } else { s })
|
||||
.join([ • ])
|
||||
}
|
||||
)
|
||||
]
|
||||
})
|
||||
#let ruby = get-ruby(
|
||||
size: 0.5em, // Ruby font size
|
||||
dy: 0pt, // Vertical offset of the ruby
|
||||
pos: top, // Ruby position (top or bottom)
|
||||
alignment: "center", // Ruby alignment ("center", "start", "between", "around")
|
||||
delimiter: "|", // The delimiter between words
|
||||
auto-spacing: true, // Automatically add necessary space around words
|
||||
)
|
||||
#show link: underline
|
||||
|
||||
|
||||
// Use #slide to create a slide and style it using your favourite Typst functions
|
||||
#slide[
|
||||
#set align(horizon)
|
||||
#set align(center)
|
||||
= \*Notices your Software\*
|
||||
|
||||
== _OwO is this under a Free, Libre, \
|
||||
and Open Source license?_
|
||||
|
||||
\
|
||||
A crime against legal systems, good writing,\ and Richard Stallman himself
|
||||
|
||||
\
|
||||
By Mira Volitaris (ArgentumCation)
|
||||
|
||||
2025-09-19
|
||||
|
||||
]
|
||||
|
||||
#set page(footer: sections-band)
|
||||
|
||||
#slide[
|
||||
#toolbox.register-section("Intro")
|
||||
= What’s a License?
|
||||
#toolbox.pdfpc.speaker-note("This is a note that only the speaker will see.")
|
||||
- How you tell other people what they can and can't do with the things you make
|
||||
#toolbox.pdfpc.speaker-note("TEST")
|
||||
- By default, works are have All Rights Reserved
|
||||
- Until big corpo and/or pirates get their mitts on it
|
||||
- There’s two big classes of license
|
||||
- Permissive
|
||||
- Restrictive
|
||||
- Can also control other things
|
||||
- Some licenses have ethics clauses
|
||||
- Some are royalty-free
|
||||
#colbreak()
|
||||
#set text(size: 13pt)
|
||||
Q: First up, what is a license?
|
||||
|
||||
A: A miserable block of text, next question
|
||||
|
||||
- Copyright law is a bitch, Posting your stuff online is a bitch
|
||||
|
||||
- Basically a license is your way of telling other people what they can and can’t do with your stuff
|
||||
|
||||
- By default, your stuff is under All Rights Reserved, which means you own it and if anyone wants to use it/look at it/share it/what have you, then they’ve gotta go through you first
|
||||
|
||||
- In practice, that's probably not gonna stop anyone until you get lawyers involved
|
||||
|
||||
- So with the kind of licenses you can get off the shelf, there’s two main types, Permissive and Restrictive, I find it helpful to think of these from the point of view of big corpo
|
||||
- Permissive: Basically gives downstream people more freedom to do whatever they want. Like making their own copy of your stuff and selling it
|
||||
- Big companies will generally only use dependencies if they’re under a permissive license
|
||||
- Restrictive: Intended to protect specific freedoms, like distribution and modification
|
||||
- Licenses can attempt to enforce other things like ethics clauses or royalty free
|
||||
- Royalties in this case are basically a subscription fee to use a copyrighted work
|
||||
|
||||
]
|
||||
|
||||
#slide[
|
||||
#toolbox.register-section("FOSS Licenses")
|
||||
#set align(center)
|
||||
#set align(horizon)
|
||||
= FOSS Licenses
|
||||
|
||||
#colbreak()
|
||||
#set align(left)
|
||||
#set align(top)
|
||||
FOSS stands for Free and Open Source Software, the definition of which is loosely enforced by the Open Source Initiative and Free Software Foundation
|
||||
// inset: 0.5em,
|
||||
]
|
||||
#slide[
|
||||
= FOSS Freedoms
|
||||
#toolbox.side-by-side[
|
||||
- As outlined by the Stall Man himself, this outlines what’s open source or not
|
||||
0. The freedom to run the program to for whatever and whyever
|
||||
1. The freedom to see and modify the source code
|
||||
2. The freedom to make and distribute copies
|
||||
3. The freedom to do that with your modified versions
|
||||
][
|
||||
#figure(
|
||||
image("img/stallman.png",height: 325pt))
|
||||
]
|
||||
#colbreak()
|
||||
This is the general idea of what FOSS is
|
||||
- Let me use the program however the fuck I want
|
||||
- Let me do whatever the fuck I want with the code
|
||||
- I can give your code to whoever the fuck
|
||||
- I can give my code to whoever the fuck
|
||||
]
|
||||
|
||||
#slide[
|
||||
= FOSS Freedoms (cont.)
|
||||
|
||||
- Everything in this section is gonna require the following:
|
||||
- Commercial Use
|
||||
- Distribution
|
||||
- Modification
|
||||
- Private Use
|
||||
]
|
||||
|
||||
#slide[
|
||||
#toolbox.side-by-side(columns: (4fr,3fr))[
|
||||
= GPL: The GNU Pubic Licenses
|
||||
|
||||
- GPLv2
|
||||
- No Warranty
|
||||
- No Liability
|
||||
- Disclose Source
|
||||
- License notice
|
||||
- Same License
|
||||
- State Changes
|
||||
- GPLv3
|
||||
- Don’t lock down the hardware
|
||||
- No DRM
|
||||
- Patent Grant
|
||||
- License Interop
|
||||
][
|
||||
#set align(bottom)
|
||||
#figure(
|
||||
image("img/gpl-compat.png"))
|
||||
]
|
||||
]
|
||||
|
||||
#slide[
|
||||
= GPL (cont.)
|
||||
|
||||
- AGPLv{2,3}
|
||||
- Network use counts as distribution
|
||||
- Used by Grafana, Mastodon, et al
|
||||
- LGPLv{2,3}
|
||||
- Linking Freedom
|
||||
]
|
||||
|
||||
#slide[
|
||||
= BSD Licenses
|
||||
On the more permissive end
|
||||
#toolbox.side-by-side()[
|
||||
- BSD 4 Clause
|
||||
- Original BSD license
|
||||
- Copyright notice
|
||||
- No endorsement
|
||||
- Attribution
|
||||
- BSD 3 Clause
|
||||
- Removes attribution requirement
|
||||
][
|
||||
- BSD 2 Clause
|
||||
- Yes endorsement
|
||||
- BSD 2 Clause Patent
|
||||
- Same as above with a patent grant
|
||||
- BSD 1 Clause
|
||||
- Same as 2 Clause, only need license for source
|
||||
- BSD 0 Clause
|
||||
- Fuck it we ball
|
||||
]
|
||||
]
|
||||
#slide[
|
||||
= Creative Commons
|
||||
Intended to sit between public domain and All rights reserved
|
||||
- Not specific to software
|
||||
- This presentation is CC-BY-NC-SA 4.0
|
||||
- CC-BY
|
||||
- Attribution
|
||||
- CC-BY-SA
|
||||
- Attribution + ShareAlike
|
||||
- CC0
|
||||
- Public Domain
|
||||
]
|
||||
#slide[
|
||||
= The Permissive Twins
|
||||
Apache:
|
||||
- Keep Notices
|
||||
- Unmodified code stays under Apache in derivatives
|
||||
- Modified code can be anything
|
||||
- Patent Grant
|
||||
- State Changes
|
||||
- GPLv3 Compatible
|
||||
- LLVM Exception (optional)
|
||||
- FSF begrudgingly approved
|
||||
]
|
||||
|
||||
#slide[
|
||||
= The Permissive Twins (cont.)
|
||||
MIT:
|
||||
- Most popular license on GitHub
|
||||
- Include the license in derivatives
|
||||
- MIT-0 doesn’t even require that
|
||||
- No patent grant
|
||||
]
|
||||
|
||||
#slide[
|
||||
= The Other Public Domain Ones
|
||||
|
||||
- WTFPL
|
||||
- “You just DO WHAT THE FUCK YOU WANT TO.”
|
||||
- Unlicense
|
||||
- Basically the same thing, doesn’t say the fuck word
|
||||
]
|
||||
|
||||
#slide[
|
||||
= Grab Bag
|
||||
- EUPL
|
||||
- Most popular on GyattHub
|
||||
- Made by EU
|
||||
- Compatible with GPL/AGPL/MPL/LGPL/APL/JPL/Both IPLs/VPL/BNPL/WTFPL and what have you
|
||||
- Linking Freedom
|
||||
- Network Use is distribution
|
||||
- Royalty Free
|
||||
- MPL
|
||||
- Used by Firefox and Thunderbird
|
||||
- You gotta keep em seperated
|
||||
]
|
||||
#slide[
|
||||
#toolbox.register-section("Non-FOSS Licenses")
|
||||
#set align(center)
|
||||
#set align(horizon)
|
||||
= Non-FOSS Licenses
|
||||
#set align(bottom)
|
||||
]
|
||||
|
||||
#slide[
|
||||
= Creative Commons Part 2
|
||||
|
||||
- CC-BY-NC-SA
|
||||
- Attribution
|
||||
- NonCommercial
|
||||
- Sharealike
|
||||
- CC-BY-ND
|
||||
- Attribution
|
||||
- NonCommercial
|
||||
- CC-BY-NC-ND
|
||||
- I’ll let you figure this one out
|
||||
]
|
||||
#slide[
|
||||
= Putting the Pot in Potpourri
|
||||
|
||||
- AFPL
|
||||
- Derived from GPL
|
||||
- Include Source Code
|
||||
- No selling
|
||||
- Anti-996
|
||||
- So back in the old #ruby[zhōng][中] of #ruby[guó][国], there was this thing called the 996 system
|
||||
|
||||
Don’t be Mr. Krabs, follow labor laws
|
||||
]
|
||||
#slide[
|
||||
= Putting the Pot in Potpourri (cont.)
|
||||
|
||||
- Anti-Capitalist Software License
|
||||
- Include License
|
||||
- Don’t be a capitalist
|
||||
- ACAB
|
||||
- Artistic License
|
||||
- #strike[Is what I’m taking with all these legal definitions]
|
||||
- Not that important except FSF calls it "Too clever for its own good" which I thought was funny
|
||||
- I can't even find a link for this
|
||||
|
||||
]
|
||||
#slide[
|
||||
= Putting the Pot in Potpourri (cont.)
|
||||
|
||||
- BSD 3 Clause No Nuclear Warranty
|
||||
#show: later
|
||||
#place(top+center,dy: -75pt, image("img/full-bush.png", height: 150%))
|
||||
|
||||
]
|
||||
#slide[
|
||||
= Rapid Fire since it’s 5:49PM
|
||||
|
||||
- BUSL/BSL
|
||||
- GPLv2 ish after 4 years
|
||||
- CPOL
|
||||
- No selling this
|
||||
- Don’t do shit without my permission
|
||||
- Commons Clause
|
||||
- Don’t sell this shit
|
||||
- Not a license
|
||||
- Functional Source
|
||||
- Apache or MIT after 2 years
|
||||
- No competing with me
|
||||
]
|
||||
#slide[
|
||||
= Rapid Fire since it’s 5:49PM
|
||||
|
||||
- HESSLA
|
||||
- No human rights violations pls
|
||||
- No helping other people do human rights violations
|
||||
- JSON
|
||||
- Don’t be evil
|
||||
- Unless you’re IBM
|
||||
- PPL
|
||||
- Don’t make money off of this unless you’re a co-op
|
||||
- SSPL
|
||||
- AGPL with extra steps
|
||||
- SIL OFL
|
||||
- For fonts
|
||||
- don’t charge money for it
|
||||
]
|
||||
#slide[
|
||||
= Hexley
|
||||
|
||||
- WHY THE FUCK DOES APPLE HAVE A FUCKING LICENSE FOR ITS FURSONA
|
||||
- WHY DOES APPLE HAVE A FURSONA
|
||||
- WHY THE FUCK dO I HAVE The LICENSE FOR A NON-FOSS FUCKIGN FURSONA IN MY PRESENTATION
|
||||
- You need to include the copyright statement somewhere
|
||||
- If you want to mass produce merch, you need to request permission from the copyright holders
|
||||
- derivatives must be related to original work
|
||||
- derivatives should also should not "dilute the quality" of the work
|
||||
- IT'S ONE AM AND THEY HIT THE SECOND FUCKING BRAINCELL
|
||||
- I AM HAVING A DTROKE APPLE NAS TEO FURSONAE
|
||||
]
|
||||
#slide[
|
||||
#toolbox.side-by-side[
|
||||
#box(image("img/anika.png"))
|
||||
][
|
||||
#box(image("img/hexley.png"))
|
||||
]
|
||||
]
|
||||
#slide[
|
||||
= Hippocratic License
|
||||
This one is pretty modular actually
|
||||
- no charge
|
||||
- no royalty
|
||||
- can remix/redistribute etc
|
||||
- has patent grant
|
||||
]
|
||||
#slide[
|
||||
= Hippocratic License Part 2
|
||||
#toolbox.side-by-side[
|
||||
- Don't murder people
|
||||
- Don't slavery
|
||||
- Don't child labors
|
||||
- No Cruel and Unusual Punishment
|
||||
- No racism/sexism/etc
|
||||
- Right to a fair trial?
|
||||
- No search and seizure without a warrant or random arrests?
|
||||
- No invasions of home or privacy, or communications
|
||||
- No eminent domain
|
||||
- No Trail of Tearsing people
|
||||
- No unionbusting
|
||||
][
|
||||
- No hurting the environment
|
||||
- equal pay for equal work
|
||||
- reasonable working hours and periodic paid holidays
|
||||
- Verify your supply chain
|
||||
]
|
||||
]
|
||||
#slide[
|
||||
= Hippocratic License Part 3
|
||||
|
||||
#toolbox.side-by-side[
|
||||
- Don't be a fossil fuel company
|
||||
- No hurting the environment (again?)
|
||||
- No mineral or fossil fuel mining
|
||||
- Don't be on the BDS list
|
||||
- Don't be the Taliban
|
||||
- Don't be the Myanmar government
|
||||
- Don't do business in/with the Xinjiang Uygur Autonomous Region of China?
|
||||
- Don't have beef with Customs and Border Protection for Forced Labor
|
||||
][
|
||||
- Don't do mass surveillance
|
||||
- Don't be a military
|
||||
- Don't be law enforcement
|
||||
- Don't be a media entity that promotes violence
|
||||
- Don't unionbusting (again?)
|
||||
]
|
||||
]
|
||||
#slide[
|
||||
= Some resources that can help with picking a license
|
||||
|
||||
- Most of these are only gonna help with FOSS licenses
|
||||
- #link("https://choosealicense.com/")[choosealicense.com] is maintained by GitHub, has the most common licenses
|
||||
- #link("https://interoperable-europe.ec.europa.eu/collection/eupl/solution/licensing-assistant/find-and-compare-software-licenses")[EU Licensing Assistant] makes it easier to compare licenses in my opinion
|
||||
- #link("https://spdx.org/licenses/")[SPDX] is gonna be the most thorough source, has a list of like every license on earth, and licenses are typically identified using their entry in the SPDX list
|
||||
]
|
||||