laforge-slides/2011/beyond_gpl_compliance-kr2011/beyond_gpl_compliance.tex

310 lines
10 KiB
TeX

% $Header: /cvsroot/latex-beamer/latex-beamer/solutions/conference-talks/conference-ornate-20min.en.tex,v 1.7 2007/01/28 20:48:23 tantau Exp $
\documentclass{beamer}
% This file is a solution template for:
% - Talk at a conference/colloquium.
% - Talk length is about 20min.
% - Style is ornate.
% Copyright 2004 by Till Tantau <tantau@users.sourceforge.net>.
%
% In principle, this file can be redistributed and/or modified under
% the terms of the GNU Public License, version 2.
%
% However, this file is supposed to be a template to be modified
% for your own needs. For this reason, if you use this file as a
% template and not specifically distribute it as part of a another
% package/program, I grant the extra permission to freely copy and
% modify this file as you see fit and even to delete this copyright
% notice.
\mode<presentation>
{
\usetheme{Warsaw}
% or ...
\setbeamercovered{transparent}
% or whatever (possibly just delete it)
}
\usepackage[english]{babel}
% or whatever
\usepackage[latin1]{inputenc}
% or whatever
\usepackage{times}
\usepackage[T1]{fontenc}
% Or whatever. Note that the encoding and the font should match. If T1
% does not look nice, try deleting the line with the fontenc.
\title{Beyond Legal Compliance}
\subtitle
{Embracing the FOSS community}
\author{Harald Welte}
\institute
{gpl-violations.org\\gnumonks.org\\hmw-consulting.de}
% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.
\date[2011 KFOSS CON] % (optional, should be abbreviation of conference name)
{Korean FOSS confeerence, November 2011}
% - Either use conference name or its abbreviation.
% - Not really informative to the audience, more for people (including
% yourself) who are reading the slides online
\subject{Embedded Linux}
% This is only inserted into the PDF information catalog. Can be left
% out.
% If you have a file called "university-logo-filename.xxx", where xxx
% is a graphic format that can be processed by latex or pdflatex,
% resp., then you can add a logo as follows:
% \pgfdeclareimage[height=0.5cm]{university-logo}{university-logo-filename}
% \logo{\pgfuseimage{university-logo}}
% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
%\AtBeginSubsection[]
%{
% \begin{frame}<beamer>{Outline}
% \tableofcontents[currentsection,currentsubsection]
% \end{frame}
%}
% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command:
%\beamerdefaultoverlayspecification{<+->}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}{Outline}
\tableofcontents
% You might wish to add the option [pausesections]
\end{frame}
% Structuring a talk is a difficult task and the following structure
% may not be suitable. Here are some rules that apply for this
% solution:
% - Exactly two or three sections (other than the summary).
% - At *most* three subsections per section.
% - Talk about 30s to 2min per frame. So there should be between about
% 15 and 30 frames, all told.
% - A conference audience is likely to know very little of what you
% are going to talk about. So *simplify*!
% - In a 20min talk, getting the main ideas across is hard
% enough. Leave out details, even if it means being less precise than
% you think necessary.
% - If you omit details that are vital to the proof/implementation,
% just say so once. Everybody will be happy with that.
\begin{frame}{About the speaker}
\begin{itemize}
\item Programming computers since 1989
\item Linux user + application developer since 1994
\item Linux kernel development since 1999
\item GNU GPL license enforcement since 2003
\item IT security expert, network protocol security
\item Board-level Electrical Engineering
\item System-level Software for PPC, ARM, x86
\item IANAL, but companies not complying with the license forced me to spend lots of time with legal issues
\end{itemize}
\end{frame}
\section{Historical Development}
\begin{frame}{Historical development}
\begin{itemize}
\item 1970ies: Softare becomes copyrightable
\item 1980ies: GNU project, GPLv1
\item 1990ies: Linux kernel, GPLv2, servers
\item 2000s: Linux and FOSS is everywhere
\end{itemize}
\end{frame}
\subsection{FOSS is everywhere}
\begin{frame}{Linux and Free Software (FOSS) everywhere}
\begin{figure}[h]
\centering
\includegraphics[width=100mm]{linux_netfilter_singapore_entertainment.jpg}
\end{figure}
\end{frame}
\begin{frame}{More Linux - More License Violations}
\begin{itemize}
\item Boom of Linux results in many {\em new companies} using it in products
\item Such Linux newbies do not have a history in the FOSS community
\item They also do not share the same culture, values and norms
\item They simply use Linux to reduce royalty cost for proprietary OS
\item They run into trouble (GPL violations)
\end{itemize}
\end{frame}
\subsection{GPL enforcement}
\begin{frame}{More License Violations - More Enforcement}
\begin{itemize}
\item New Linux based products continue to enter the market
\item License compliance often very bad
\item Community is deeply upset about the violation of its rules
\item Often percieved as insult of the FOSS community culture
\item Lack of respect of corporations towards community
\item Legal enforcement is often the only possible way for community to educate corporations
\end{itemize}
\end{frame}
\begin{frame}{GPL enforcement}
\begin{itemize}
\item Before 2003: Mostly Free Software Foundation
\item 2003-now: gpl-violations.org (Europe), ~ 200 cases
\item 2005-now: SFLC (United States)
\item publicly invisible enforcement
\begin{itemize}
\item e.g. MySQL (dual-licensing)
\item e.g. Asterisk (dual-licensing)
\end{itemize}
\end{itemize}
\end{frame}
\section{Beyond minimal license compliance}
\subsection{FOSS communities vs. license terms}
\begin{frame}{FOSS community is technical, not legal}
\begin{itemize}
\item FOSS is created by software developers working together in
colalborative ways, often without any formal structure
\item Individuals, Universities as well as Corporations
contribute their work
\item Cooperation in a culture of sharing
\item Even direct competitors like Intel and AMD cooperate in Linux
development, because everyone needs it
\item FOSS communities are deeply technical. They hate company
politics.
\item License is {\bf just} a last resort of protection against
those who absolutely don't understand FOSS
\end{itemize}
\end{frame}
\begin{frame}{Beyond pure legal compliance with licenses}
\begin{itemize}
\item Compliance with the legal terms of the license is the
absolute bare minimum that companies have to do
\item If you use FOSS in your products, please consider
establishing a healthy relationship with the communities that drive
development of this software
\item It is not a customer / supplier relationship!
\item The community expects you to participate in development
\end{itemize}
\end{frame}
\subsection{Becoming part of the community}
\begin{frame}{Why should you join?}
Benefits to Embedded electronics companies
\begin{itemize}
\item Larger number of engineers can help you improve your product
\begin{itemize}
\item optimize performance (battery, speed, ...)
\item fix more bugs than your in-house R\&D
\item have more ideas/innovation than all engineers combined inside your company!
\end{itemize}
\item Be recognized within the community as {\em somebody who understands}
\begin{itemize}
\item allows you to attract skilled developers from the FOSS world who would otherwise never consider working for you
\item makes you more attractive to most technical customer base of {\em early adopters}
\end{itemize}
\item Reduce cost of maintaining your code base
\end{itemize}
\end{frame}
\begin{frame}{How to become part of the community}
\begin{itemize}
\item Permit your engineers to engage in technical discussions on mailing lists
\item Submit your modifications to the respective upstream projects
\item Join technical conferences and discuss technical issues
\item Encourage the community to innovate and extend your products
\end{itemize}
\end{frame}
\begin{frame}{When and how to release source code}
\begin{itemize}
\item Legal requirement:
\begin{itemize}
\item You're used to release source code at the time product ships because the license forces you to
\end{itemize}
\item Community norm:
\begin{itemize}
\item Your engineers interact with the project maintainers during R\&D
\item Source code of your modifications undergoes review + inclusion in mainline
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Quality of the source code release}
\begin{itemize}
\item Legal requirement / Reality:
\begin{itemize}
\item {\em complete and corresponding} source code
\item Often does not compile
\item Often contains proprietary kernel modules of questinable legality
\item Often provides no (simple) way of installing re-compiled program on the actual device
\end{itemize}
\item Community norm:
\begin{itemize}
\item {\em complete and corresponding} source code
\item no proprietary kernel modules that constrain e.g. updates to later kernels
\item complete utilities to install modified version of software on the device
\item maybe even some instructions on how to do so
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Summary}
\begin{itemize}
\item Show respect for the FOSS development model based on
mutual respect and understanding
\item Actively engage and discuss with the community
\item Don't try to cheat your way out of license compliance
\item Treat community as partner in development of your products
\item Don't treat them like your enemy (DRM, Tivo-ization)!
\end{itemize}
\end{frame}
\begin{frame}{Panel Discussion}
\begin{itemize}
\item Thanks for your attention
\item We will now have a panel discussion on the subject of FOSS community interaction beyond license compliance
\item Contact me at \href{mailto:laforge@gpl-violations.org}{laforge@gpl-violations.org} with questions, feedback and comments
\end{itemize}
\end{frame}
\end{document}