summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2019/korea/gpl-germany.tex299
-rw-r--r--2019/osmodevcon2019-osmocom_and_lte/osmodevcon2019-osmocom_and_lte.adoc92
2 files changed, 391 insertions, 0 deletions
diff --git a/2019/korea/gpl-germany.tex b/2019/korea/gpl-germany.tex
new file mode 100644
index 0000000..519b6c5
--- /dev/null
+++ b/2019/korea/gpl-germany.tex
@@ -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}
diff --git a/2019/osmodevcon2019-osmocom_and_lte/osmodevcon2019-osmocom_and_lte.adoc b/2019/osmodevcon2019-osmocom_and_lte/osmodevcon2019-osmocom_and_lte.adoc
new file mode 100644
index 0000000..bd71b2f
--- /dev/null
+++ b/2019/osmodevcon2019-osmocom_and_lte/osmodevcon2019-osmocom_and_lte.adoc
@@ -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
personal git repositories of Harald Welte. Your mileage may vary