add slides for upcoming Korean public domain + FOSS conference
This commit is contained in:
parent
b3256853d9
commit
e06e1ffd84
|
@ -0,0 +1,299 @@
|
|||
\documentclass[11pt]{beamer}
|
||||
\usetheme{default}
|
||||
%\setbeamertemplate{frametitle}{}
|
||||
\newenvironment{myline}
|
||||
%{\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\vfill\centering}
|
||||
{\usebeamerfont{frametitle}\vfill\centering}
|
||||
{\par\vfill}
|
||||
|
||||
\usetheme{Warsaw}
|
||||
\usecolortheme{whale}
|
||||
|
||||
\title{GNU GPL enforcement cases in Germany}
|
||||
%\subtitle{Subtitle}
|
||||
\author{Harald~Welte}
|
||||
\date[June 2019, Seoul/Korea]{Public Domain \& Open Source Conference, June 2019}
|
||||
\institute{gpl-violations.org}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Outline}
|
||||
\tableofcontents[hideallsubsections]
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{About the speaker}
|
||||
\begin{itemize}
|
||||
\item I'm not a lawyer, this is not legal advice
|
||||
\item Free Software developer for more than 20 years
|
||||
\item Used to work on the Linux kernel from 1999-2009
|
||||
\item By coincidence among the first people enforcing the GNU GPL in court
|
||||
\item Since 2009 developing FOSS in cellular communications (Osmocom)
|
||||
\item Living and working in Berlin, Germany.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\section{History: First GPL enforcement in German court}
|
||||
|
||||
\begin{frame}{History leading to the case (2003)}
|
||||
\begin{itemize}
|
||||
\item Linux started to get used in consumer DSL/WiFi routers
|
||||
\item 2003 Linksys WRT54G enforcement in US / FSF-led coalition
|
||||
\item some dissatisfied at slow progress / little results
|
||||
\item more similar devices are showing up in German market
|
||||
\item I was head of netfilter/iptables development back then
|
||||
\item companies disrespecting our development model made me very upset
|
||||
\item I did some research on the legal situation and was looking for a competent lawyer
|
||||
\item Luckily I found Dr. Till Jaeger, who had already published extensively on FOSS back then
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Welte vs. Sitecom (2004)}
|
||||
Timeline
|
||||
\begin{itemize}
|
||||
\item March 18, 2004: Warning Letter to Sitecom
|
||||
\item March 22, 2004: Sitecom asks for extension of deadline, granted by plaintiff
|
||||
\item March 30, 2004: No declaration to cease+desist received
|
||||
\item April 1, 2004: Request for grant of preliminary injunction filed
|
||||
\item April 2, 2004: Injunction granted by district court Munich
|
||||
\item April 13, 2004: Preliminary injunction served to Sitecom
|
||||
\item April 20, 2004: Sitecom files appeal against injunction
|
||||
\item May 19, 2004: Court issues ruling, upholding injunction
|
||||
\end{itemize}
|
||||
LG München, Az~21~O~6123/04
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Welte vs. Sitecom (2004)}
|
||||
\begin{itemize}
|
||||
\item Timeline reflects standard procedural code in copyright infringements in Germany
|
||||
\item preliminary injunction can only be requested in {\em urgent} cases, which typically means {\em no less then 30 days after plaintiff knows about infringement}
|
||||
\item short amount of time for declaration to cease and desist and fixing GPL compliance
|
||||
\item if product is sold (or firmware downloadable) all over Germany, all courts are competent, plaintiff can chose
|
||||
\item District court of Munich (LG München) didn't show any doubt about validity of GPL under German law
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Welte vs. Sitecom aftermath}
|
||||
\begin{itemize}
|
||||
\item Sitecom did some half-hearted attempts at fixing that one first product we found
|
||||
\item preliminary injunction is not on a single product, but on the software netfilter/iptables
|
||||
\item Unfortunately, Sitecom didn't change their habits / processes
|
||||
\item April 20, 2005: Sitecom has to pay 5000 EUR to the court for a GPL violation in another product (WL-111), infringing the preliminary injunction.
|
||||
\item May 22, 2006: Found another incompliant product: Warning notice about WL-105i
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{After that first German case}
|
||||
more lawsuits
|
||||
\begin{itemize}
|
||||
\item Welte vs. Fortinet (2005)
|
||||
\item Welte vs. D-Link (2006)
|
||||
\item Welte vs. Skype (2008)
|
||||
\item gpl-violations.org slows down from 2008 onwards
|
||||
\item Welte vs. Fantec (2013)
|
||||
\end{itemize}
|
||||
many more out of court enforcements (hundreds) with companies ranging from Siemens to Sun
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{gpl-violations.org becomes dormant}
|
||||
\begin{itemize}
|
||||
\item I'm an engineer. Anything except writing code or designing electronics is a distraction
|
||||
\item Legal work of license enforcement with gpl-violations.org took a lot of time
|
||||
\item It was a great team working with Armijn Hejmel, Till Jaeger and colleagues
|
||||
\item Ultimately, I am personally liable in all copyright lawsuits
|
||||
\begin{itemize}
|
||||
\item Requires deep personal involvement in lots of details
|
||||
\end{itemize}
|
||||
\item We had successfully demonstrated to the industry the GPL is upheld by court, and GPL compliance matters
|
||||
\begin{itemize}
|
||||
\item at least parts of the industry began to change their habits
|
||||
\item mission accomplished
|
||||
\end{itemize}
|
||||
\item gpl-violations.org became dormant / inactive
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
fast-forward to 2016
|
||||
\end{frame}
|
||||
|
||||
\section{Enforcement by Patrick McHardy}
|
||||
|
||||
\begin{frame}{Patrick McHardy GPL enforcement caeses}
|
||||
\begin{itemize}
|
||||
\item Patrick McHardy was another German Linux Kernel developer starting GPL enforcement
|
||||
\item by coincidence he was also involved with netfilter/iptables
|
||||
\item he started his enforcement around the time he stopped contributing actual code
|
||||
\item enforcement process is similar to what was described before
|
||||
\item unfortunately, enforcement doesn't seem to be compliance-centric but profit-driven
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Patrick McHardy GPL enforcement caeses}
|
||||
\begin{itemize}
|
||||
\item Patrick secluded himself from Linux and netfilter developers
|
||||
\item for many years he refuses to respond to any of our inquuries
|
||||
\item his enforcement often seems to emphasize on minor infractions or grey areas like requiring a German translation of the GPL
|
||||
\item he's not publishing his actions, but acting in secret
|
||||
\item many assume he's largely financially motivated
|
||||
\item suspended from netfilter team as a result
|
||||
\item other netfilter core team members sign {\em principles of community oriented GPL enforcement}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{McHardy vs. Geniatech (2016-2018)}
|
||||
From a high level, pretty similar to other infringement cases
|
||||
\begin{itemize}
|
||||
\item test purchase is made
|
||||
\item warning notice is filed
|
||||
\item no declaration to cease and desist
|
||||
\item preliminary injunction applied for at LG Köln; granted (Az~14~O~188/17)
|
||||
\item appeal against preliminary injunction turned down
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{The details matter}
|
||||
\begin{itemize}
|
||||
\item Scope of preliminary injunction is very broad:
|
||||
\item Defendant shall cease and desist from
|
||||
\begin{itemize}
|
||||
\item ever publishing, selling, offering for download any version of Linux (whether Patrick McHardy has any copyright in that or not)
|
||||
\item putting hyperlinks on their website to any version of Linux
|
||||
\item asking users to download ant version of Linux
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Appeal at OLG Köln (2018)}
|
||||
\begin{itemize}
|
||||
\item More than 1000 pages of filings of the parties (!)
|
||||
\item Linux kernel development model makes McHardy {\em modifying author}, not {\em co-author}.
|
||||
\item modifying author can only ask for cease and desist on those portions he wrote, not entire work
|
||||
\item McHardy did not sufficiently show what exactly his contributions were and how they were forming themselves copyrightable works
|
||||
\item McHardy did not substantiate what copyrightable contributions he has made outside of netfilter/iptables
|
||||
\item McHardy decided to withdraw his case at this point, avoiding the higher district court to ever get to issue a verdict on the case.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Legal concept: Miturheber vs. Bearbeiterurheber}
|
||||
German copyright distinguishes between
|
||||
\begin{itemize}
|
||||
\item {\em Miturheber} (co-author)
|
||||
\begin{itemize}
|
||||
\item multiple authors plan and create a work together
|
||||
\item any of the co-authors can claim cease+desist for the full work
|
||||
\end{itemize}
|
||||
\item {\em Bearbeiterurheber} (modifying author)
|
||||
\begin{itemize}
|
||||
\item a pre-existing work gets edited/modified by another author
|
||||
\item the modifying author can only claim cease+desist on his part
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
This turns out to be one of the more important legal formalities discussed in recent GPL enforcement cases.
|
||||
\end{frame}
|
||||
|
||||
\section{Enforcement by Christoph Hellwig}
|
||||
|
||||
\begin{frame}{Hellwig vs VMware (2016-2019)}
|
||||
\begin{itemize}
|
||||
\item not a classic (embedded) Linux GPL violation case
|
||||
\item Linux kernel not used as a whole / as OS kernel
|
||||
\item parts of Linux, such as SCSI-mid-layer, USB stack, radix tree and tons of device drivers used inside proprietary ESXi vmkernel
|
||||
\item no preliminary injunction involved
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{First court case at LG Hamburg (Az~310~O~89/15)}
|
||||
\begin{itemize}
|
||||
\item initial lack of understanding of the court on how the parts are pieced together
|
||||
\item large focus on legal formalitiies such as standing
|
||||
\item co-authorship (Miturheberschaft) vs.\ editor authorship (Bearbeiterurheberrecht)
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Second court case at OLG Hamburg (Az~5~U~146/16)}
|
||||
Hearing on Nov. 28, 2018
|
||||
\begin{itemize}
|
||||
\item court has difficulties understanding which functionalities / code Hellwig is basing his claims on
|
||||
\item court states Hellwig cannot claim editing copyright (Bearbeiterurheberrecht) on Linux as a whole
|
||||
\item court believes the ruling at the previous court is a valid ruling based on the filings made
|
||||
\begin{itemize}
|
||||
\item editing copyright only on the part edited
|
||||
\item no rights on the original program
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Second court case at OLG Hamburg (Az~5~U~146/16)}
|
||||
\begin{itemize}
|
||||
\item general statements and pointers to public sources are insufficient to prove authorship/rights
|
||||
\item the concrete copies of code sections must be pointed out
|
||||
\item it is insufficient if only an expert witness can show something
|
||||
\item in some of the code, copyright statements hint that co-authorship might exist, while the claims were all based on editing authorship
|
||||
\item difficulties with "what is a work". If the entire vmkernel+vmklinux and linux derived portions are one work, then Hellwig's parts are proportionally small.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Second court (OLG Hamburg): Case dismissed}
|
||||
\begin{itemize}
|
||||
\item case was dismissed entirely based on formal grounds
|
||||
\item court claims Hellwig didn't demonstrate clearly enough that his copyrighted work ended up in VMwares product
|
||||
\item court didn't actually have to rule on the merits of the case
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Why is this happening all in Germany?}
|
||||
\begin{itemize}
|
||||
\item no copyright registration required
|
||||
\item preliminary injunction must be applied for very quickly
|
||||
\item preliminary injunction granted without hearing defendant
|
||||
\item preliminary injunction doesn't require injunction bond
|
||||
\item lots of precedent primarily due to the 2004 to 2008 cases
|
||||
\item legal costs are regulated and not as insanely expensive as some other jurisdictions that shall not be named
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Further Reading}
|
||||
\begin{itemize}
|
||||
\item gpl-violations.org cases
|
||||
\begin{itemize}
|
||||
\tiny
|
||||
\item \url{http://gpl-violations.org/} (News section)
|
||||
\end{itemize}
|
||||
\item McHardy cases
|
||||
\begin{itemize}
|
||||
\tiny
|
||||
\item \url{https://www.netfilter.org/files/statement.pdf}
|
||||
\item \url{https://netfilter.org/licensing.html}
|
||||
\item \url{https://blog.fossa.io/patrick-mchardy-and-copyright-profiteering-44f7c28c0693/}
|
||||
\item \url{http://laforge.gnumonks.org/blog/20180307-mchardy-gpl/}
|
||||
\item \url{https://ifosslr.org/index.php/ifosslr/article/view/128/246}
|
||||
\end{itemize}
|
||||
\item Hellwig / VMware
|
||||
\begin{itemize}
|
||||
\tiny
|
||||
\item \url{https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html}
|
||||
\item \url{http://laforge.gnumonks.org/blog/20151029-vmware_gpl/}
|
||||
\item \url{http://laforge.gnumonks.org/blog/20160225-vmware-gpl/}
|
||||
\end{itemize}
|
||||
\item List of judgements / verdicts (not only) in Germany
|
||||
\begin{itemize}
|
||||
\tiny
|
||||
\item \url{https://ifross.github.io/ifrOSS/Cases}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Thanks}
|
||||
Thanks for your attention.
|
||||
|
||||
You have a General Public License to ask questions now :)
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
|
@ -0,0 +1,92 @@
|
|||
Osmocom and LTE
|
||||
===============
|
||||
:author: Harald Welte <laforge@gnumonks.org>
|
||||
:copyright: 2019 by Harald Welte (License: CC-BY-SA)
|
||||
:backend: slidy
|
||||
:max-width: 45em
|
||||
|
||||
|
||||
== Osmocom and LTE
|
||||
|
||||
* most of Osmocom CNI is written by paid developers these days
|
||||
* developments mostly determined by customer requirements
|
||||
* sysmocom isn't facing any significnat LTE requirements for years
|
||||
* Result: No _native_ LTE support in any Osmocom components
|
||||
* However: we do have small LTE related bits
|
||||
** SI2quater for broadcasting eUTRAN neighbors over GSM
|
||||
** SGs interface for 2G/3G side of CSFB and for SMS-over-SGs
|
||||
|
||||
== Irrespective of Osmocom...
|
||||
|
||||
What do we need to run a combined 2G/4G network?
|
||||
|
||||
1. shared subscriber database (HLR + HSS)
|
||||
2. advertisement of respective neighbor cells
|
||||
3. shared PS tunnel endpoint (GGSN + P-GW)
|
||||
|
||||
optionally:
|
||||
|
||||
* SGs interface in MME and MSC for CSGB + SMS-over-SGs
|
||||
* Inter-RAT PS handover
|
||||
* SRVCC (Single Radio Voice Call Continuity)
|
||||
|
||||
|
||||
== Shared Subscriber Database
|
||||
|
||||
* Required mainly for Authentication
|
||||
* poor man's hack: Simply install same IMSI/Key material in both HLR and HSS
|
||||
** will result in auth re-sync on every authentication due to non-synchronized SEQ/SQN of UMTS AKA
|
||||
* proper solution:
|
||||
** Single HLR with both GSUP and DIAMETER, or
|
||||
** DIAMETER-to-GSUP translator (to make LTE use OsmoHLR), or
|
||||
** GSUP-to-DIAMETER translator (to make OsmoMSC/SGSN use HSS)
|
||||
|
||||
== Advertisement of neighbor cells
|
||||
|
||||
* GSM must advertise eUTRAN neighbors
|
||||
** we have SI2quater support in osmo-bts
|
||||
** TEMS phones show proper/valid decode
|
||||
* LTE must advertise GSM neighbors
|
||||
** no "OML" for S1-AP
|
||||
** configuration mechanism is vendor-proprietary
|
||||
|
||||
== Shared PS tunnel endpoint
|
||||
|
||||
* if the MS/eUE moves from GPRS to LTE, it wants to keep PDP/PDN contexts
|
||||
* solution: implementing P-GW and GGSN functionality in one element
|
||||
** ergw might be able to do that (untested, complex)
|
||||
** OsmoGGSN doesn't speak GTPv2C (required for P-GW)
|
||||
** nextepc P-GW doesn't speak GTPv1C (required for GGSN)
|
||||
|
||||
Solution:
|
||||
|
||||
* play with ergw, or
|
||||
* adopt nextepc GTPv2C code generator to use msgb/libosmo* and add GTPv2C to OsmoGGSN
|
||||
|
||||
== SGs interface
|
||||
|
||||
* Osmocom already implements full SGs interface
|
||||
* Interaction with MME on LTE side needs only interop testing
|
||||
|
||||
|
||||
== Inter-RAT PS handover
|
||||
|
||||
* inter-RAT HO offers seamless migration between GERAN + eUTRAN
|
||||
* uses S3 interface between MME and SGSN (GTPv2C based)
|
||||
* uses S4 interface between S-GW and SGSN (GTPv2C based)
|
||||
* tbh, I don't know the details here.
|
||||
* any help appreciated
|
||||
* https://www.tech-invite.com/3m23/toc/tinv-3gpp-23-401_zh.html
|
||||
* probably a long way for Osmocom to support it, given that we don't really do any inter-SGSN HO even inside a single RAT.
|
||||
|
||||
== Conclusions
|
||||
|
||||
The logical steps to improve our LTE interworking are:
|
||||
|
||||
1. split HLR/HSS and split GGSN/P-GW (today)
|
||||
2. GSUP-to-DIAMETER translator for shared HLR/HSS
|
||||
3. shared GGSN/P-GW for
|
||||
|
||||
== EOF
|
||||
|
||||
End of File
|
Loading…
Reference in New Issue