diff options
| author | Jan Altenberg <jan@linutronix.de> | 2019-03-12 22:13:42 +0100 |
|---|---|---|
| committer | John Ogness <john.ogness@linutronix.de> | 2019-03-26 10:57:00 +0106 |
| commit | 335151d1029663b64d5836375ff5b2fc4db06442 (patch) | |
| tree | 996aca7d88b3ed05e6c0db9e9428da69d799265e | |
| parent | 4a9442bd2c70f2ef1b4bee6328499113efcde4a1 (diff) | |
Adding a new chapter for management related topics. Currently the following
topics are covered:
- History of Free Software an Open-Source
- Commercial benefits of Open-Source
- How to use Open-Source in a company
- Ideas about setting up an Open-Source program
- License compliance
Signed-off-by: Jan Altenberg <jan.altenberg@linutronix.de
31 files changed, 968 insertions, 0 deletions
@@ -26,5 +26,6 @@ source "frameworks/middleware/Kconfig" source "kernel-devel/Kconfig" source "linux-basics/Kconfig" source "misc/Kconfig" +source "management/Kconfig" source "protocols/socketcan/Kconfig" source "realtime/Kconfig" diff --git a/images/choosealicense.png b/images/choosealicense.png Binary files differnew file mode 100644 index 0000000..e937326 --- /dev/null +++ b/images/choosealicense.png diff --git a/images/contract_work.dia b/images/contract_work.dia Binary files differnew file mode 100644 index 0000000..aa51bf2 --- /dev/null +++ b/images/contract_work.dia diff --git a/images/contract_work.jpg b/images/contract_work.jpg Binary files differnew file mode 100644 index 0000000..fe363c6 --- /dev/null +++ b/images/contract_work.jpg diff --git a/images/dejacode_conditions.png b/images/dejacode_conditions.png Binary files differnew file mode 100644 index 0000000..697687b --- /dev/null +++ b/images/dejacode_conditions.png diff --git a/images/dejacode_overview.png b/images/dejacode_overview.png Binary files differnew file mode 100644 index 0000000..025e7a7 --- /dev/null +++ b/images/dejacode_overview.png diff --git a/images/derived_work.dia b/images/derived_work.dia Binary files differnew file mode 100644 index 0000000..491ce09 --- /dev/null +++ b/images/derived_work.dia diff --git a/images/derived_work.jpg b/images/derived_work.jpg Binary files differnew file mode 100644 index 0000000..f5965e8 --- /dev/null +++ b/images/derived_work.jpg diff --git a/images/fossology.png b/images/fossology.png Binary files differnew file mode 100644 index 0000000..2a40a21 --- /dev/null +++ b/images/fossology.png diff --git a/images/fossology_browser.png b/images/fossology_browser.png Binary files differnew file mode 100644 index 0000000..e04095a --- /dev/null +++ b/images/fossology_browser.png diff --git a/images/kernel_user.dia b/images/kernel_user.dia Binary files differnew file mode 100644 index 0000000..95449b6 --- /dev/null +++ b/images/kernel_user.dia diff --git a/images/kernel_user.jpg b/images/kernel_user.jpg Binary files differnew file mode 100644 index 0000000..a1a90f4 --- /dev/null +++ b/images/kernel_user.jpg diff --git a/images/knowhow.dia b/images/knowhow.dia Binary files differnew file mode 100644 index 0000000..001f8cc --- /dev/null +++ b/images/knowhow.dia diff --git a/images/knowhow.jpg b/images/knowhow.jpg Binary files differnew file mode 100644 index 0000000..63c9048 --- /dev/null +++ b/images/knowhow.jpg diff --git a/images/license_overview.png b/images/license_overview.png Binary files differnew file mode 100644 index 0000000..078d13e --- /dev/null +++ b/images/license_overview.png diff --git a/images/logo_openchain.png b/images/logo_openchain.png Binary files differnew file mode 100644 index 0000000..203bdbb --- /dev/null +++ b/images/logo_openchain.png diff --git a/images/osadl_checklist.png b/images/osadl_checklist.png Binary files differnew file mode 100644 index 0000000..46aeac8 --- /dev/null +++ b/images/osadl_checklist.png diff --git a/images/osadl_matrix.png b/images/osadl_matrix.png Binary files differnew file mode 100644 index 0000000..ddc56a4 --- /dev/null +++ b/images/osadl_matrix.png diff --git a/images/oss_integration.dia b/images/oss_integration.dia Binary files differnew file mode 100644 index 0000000..7bac2b0 --- /dev/null +++ b/images/oss_integration.dia diff --git a/images/oss_integration.jpg b/images/oss_integration.jpg Binary files differnew file mode 100644 index 0000000..d87696c --- /dev/null +++ b/images/oss_integration.jpg diff --git a/images/scancode_result.png b/images/scancode_result.png Binary files differnew file mode 100644 index 0000000..0f9afaf --- /dev/null +++ b/images/scancode_result.png diff --git a/images/tldr_legal.png b/images/tldr_legal.png Binary files differnew file mode 100644 index 0000000..5ee52f1 --- /dev/null +++ b/images/tldr_legal.png diff --git a/knowhow.dia b/knowhow.dia Binary files differnew file mode 100644 index 0000000..001f8cc --- /dev/null +++ b/knowhow.dia diff --git a/knowhow.jpg b/knowhow.jpg Binary files differnew file mode 100644 index 0000000..63c9048 --- /dev/null +++ b/knowhow.jpg diff --git a/management/Kconfig b/management/Kconfig new file mode 100644 index 0000000..c571129 --- /dev/null +++ b/management/Kconfig @@ -0,0 +1,19 @@ +menuconfig MANAGEMENT + bool "Management related topics" + +if MANAGEMENT +config FOSS_BASICS + bool "History and basics about FOSS" + default y + help + Basic introduction to Free Software and Open-Source. + Including history and commercial aspects. + +config LICENSE_COMPLIANCE + bool "License compliance, Copyright, Compliance process" + default y + help + Introduction to Copyright, License Compliance and related + tools and processes +endif + diff --git a/management/foss_basics/Makefile b/management/foss_basics/Makefile new file mode 100644 index 0000000..e343f40 --- /dev/null +++ b/management/foss_basics/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_FOSS_BASICS) += pres_foss_basics_en.pdf diff --git a/management/foss_basics/pres_foss_basics_en.tex b/management/foss_basics/pres_foss_basics_en.tex new file mode 100644 index 0000000..3c446a1 --- /dev/null +++ b/management/foss_basics/pres_foss_basics_en.tex @@ -0,0 +1,300 @@ +\input{configpres} + +\title{\lq FOSS Basics\rq} +\maketitle + +\subsection{The history of Open-Source} + +\begin{frame} +\frametitle{Understanding the history} +\begin{figure}[h] +\centering +\includegraphics[width=8cm]{images/Thompson-sitting-Richie-standing-PDP11-1972.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{Understanding the history} +\begin{itemize} +\item Open-Source is not a new idea +\item In the early days of big server systems it was common to deliver the source +\item The HW manufacturers only did the HW +\item Customers basically had to do bugfixing on their own +\item There was no business model behind the Operating System Software +\end{itemize} +\end{frame} + +\begin{frame} +\begin{figure}[h] +\centering +\includegraphics[width=7cm]{images/800px-IBM_PC_5150.jpg} +\end{figure} +The computer market changed and components became exchangable. So did +Operating Systems. +\end{frame} + +\begin{frame} +\frametitle{Change of the business model} +\begin{itemize} +\item Companies changed their business model and Operating Systems turned into +products +\item Also the most common UNIX Systems became proprietary +\item So, people using UNIX now had to pay just to use their +existing software +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{The FSF} +\begin{itemize} +\item In 1983 Richard Stallman founded the Free Software Foundation +\item He announced to implement a Free UNIX and to give it for free to anyone who wants to use it +\item So, he also implemented a licensing model +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{The FSF} +\begin{itemize} +\item The FSF was quite successful in implementing a lot of tools +\item But they didn't finish (even not until today) their operating system (GNU HURD) +\end{itemize} +\end{frame} + +\subsection{The story of Linux} + +\begin{frame}[fragile] +\frametitle{Linux enters the scene} +\begin{verbatim} +Hello everybody out there using minix - + +I'm doing a (free) operating system (just a hobby, +won't be big andprofessional like gnu) for +386(486) AT clones. This has been brewing +since april, and is starting to get ready. +\end{verbatim} +Linus Torvalds (1991 / Minix newsgroup) +\end{frame} + +\begin{frame} +\frametitle{Linux} +\begin{itemize} +\item Linux was implemented as a UNIX derivative / clone +\item In 1992 Linux was relicensed under GPLv2 (the license designed by the FSF) +\item Now, the Linux Kernel and the available tools from the FSF resulted +in a completely free UNIX!! +\item That was the start of a big success story +\end{itemize} +\end{frame} + +\subsection{Free Software} + +\begin{frame} +\frametitle{Misunderstandings about Free Software} +One of the main questions asked about Free Software is: How can I earn +money with a software if it's free? +\end{frame} + +\begin{frame} +\frametitle{Misunderstandings about Free Software} +\begin{itemize} +\item The most popular explanation of Free Software is: ''Free as in FREEdom +and not as in free beer...'' +\item It gives you the FREEDOM to use, study and re-distribute it. +\item You can charge for the re-distribution! +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{More misunderstandings about Free Software} +Another common misunderstanding is, that software which is published as +Open-Source is not copyrighted: +\begin{itemize} +\item Licensing and Copyright are two different things! +\item For sure: Also Open-Source software is copyrighted!!! +\item It's just licensed under a Open-Source license! +\end{itemize} +\end{frame} + +\subsection{Why using Open-Source} + +\begin{frame} +\frametitle{Focus on your knowledge} +\begin{itemize} +\item Concentrate on the things which are "unique" to your product +\item For the ''rest'' co-operate with others +\item We call this Open-Innovation (which is neither a new idea) +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{What makes your product unique?} +You have to define the level of your specific know-how: +\begin{figure}[h] +\centering +\includegraphics[width=7cm]{images/knowhow.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{Faster time to market} +\begin{itemize} +\item Focussing on your knowledge results in a faster ''time to market'' +\item Sharing common things with others results in faster innovations +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Open Innovation also results in:} +\begin{itemize} +\item Lower costs +\item Faster development +\item Better products +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Flexibility} +\begin{itemize} +\item Huge choice of ex-changable componentes +\item You can do adjustments on your own +\item You can build the know-how on your own +\item You can work with MANY contractors and you're not bound to one manufacturer +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{How Open-Source changed business} +\begin{itemize} +\item Over the years companies more and more took advantage of Open-Source +\item Companies adjusted to the benefits of Open-Source +\item Many modern business models just won't work without OSS (just think +about Social Media and Web Services) +\item So, Open-Source became also commercially driven +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Free Software vs. Open-Source} +...or the shift in terminology. +\end{frame} + +\begin{frame} +\frametitle{Free Software vs. Open-Source} +\begin{itemize} +\item The idea of Free Software was originally based on the FREEDOM of using +software +\item A lot of explanation was needed for the term ''Free Software'' +\item During the 90s the term Open-Source was created +\item This shift in the terminology also reflects the commercial success +\end{itemize} +\end{frame} + +\subsection{A different mindset} + +\begin{frame} +\frametitle{But, ...} +Open-Source also adds some complexity! +\end{frame} + +\begin{frame} +\frametitle{Formerly you had...} +\begin{figure}[h] +\centering +\includegraphics[width=7cm]{images/contract_work.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{With Open-Source you have...} +\begin{figure}[h] +\centering +\includegraphics[width=7cm]{images/oss_integration.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{It's faster, it's cheaper, it's more flexible...} +...but it doesn't come for free! +\end{frame} + +\subsection{How to use Open-Source} +\begin{frame} + +\frametitle{Adopt to this mindset!} +Working with Open-Source is mostly "integration work": +\begin{itemize} +\item So, you need a common process for integrating OSS software +\item You need to understand which quality assurance is done by the +community and what needs to be done on your own +\item You need a concept for maintaining the software +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Setting up an Open-Source program in your company} +\begin{itemize} +\item License compliance +\item Selecting components +\item Maintaining components +\item Community Participation +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Selecting and packaging components} +\begin{itemize} +\item Define a responsible team / person for selecting new OSS components +\item Define clear criterias for acceptable OSS components +\item Build a database for existing components in your company +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Maintaining components} +\begin{itemize} +\item Define a responsible team / person for maintaining existing components +\item Setup processes for bugfixes, security updates and change requests +\item The ideal case is having some kind of ''internal linux distribution'' +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{How will these processes help} +\begin{itemize} +\item Share bugfixing amongst projects (do not underestimate this advantage!!!) +\item Speed-up estimations for new projects +\item Speed-up license compliance topics +\item Reduce the overhead of maintaining the components +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{What can you do to participate} +\begin{itemize} +\item Well, ''participate'' ;-) +\item Sponsoring +\item Hiring +\item Conferences (presentations, ...) +\end{itemize} +It's always good to be known and accepted by the community / communities. +\end{frame} + +\begin{frame} +\frametitle{Why should I participate?} +It's always good to be known and accepted by the community / communities! +\begin{itemize} +\item Bring in your own interests +\item Getting support from the community +\item Push back changes and bugfixes to hand-over maintainance to the community +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Now, ...} +...let's get the hands dirty and implement the processes...\\ +But, don't forget: Before implementing processes you have to +define a strategy and derive adequate policies. +\end{frame} + +\input{tailpres} diff --git a/management/license_compliance/Makefile b/management/license_compliance/Makefile new file mode 100644 index 0000000..d792c32 --- /dev/null +++ b/management/license_compliance/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_LICENSE_COMPLIANCE) += pres_license_compliance_en.pdf diff --git a/management/license_compliance/pres_license_compliance.tex b/management/license_compliance/pres_license_compliance.tex new file mode 100644 index 0000000..dbdc97a --- /dev/null +++ b/management/license_compliance/pres_license_compliance.tex @@ -0,0 +1,12 @@ +\input{configpres} + +\title{\lq FOSS Basics\rq} +\maketitle + +\subsection{Copyright and License compliance} + +\begin{frame} +\frametitle{Copyright} +\end{frame} + +\input{tailpres} diff --git a/management/license_compliance/pres_license_compliance_en.tex b/management/license_compliance/pres_license_compliance_en.tex new file mode 100644 index 0000000..f949ddf --- /dev/null +++ b/management/license_compliance/pres_license_compliance_en.tex @@ -0,0 +1,633 @@ +\input{configpres} + +\title{\lq License compliance\rq} +\maketitle + +\begin{frame} +This training and the related materials are based on best-practice +and recommendations. This training doesn't reflect any legal advice! +No content created from Linutronix should be considered / used as legal advice. +For legal advice consult an Attorney. +\end{frame} + +\subsection{Copyright} + +\begin{frame}[fragile] +\frametitle{Copyright} +\begin{verbatim} +''...Copyright is a legal right, existing in many countries, that grants +the creator of an original work exclusive rights to determine whether, +and under what conditions, this original work may be used by others...'' +\end{verbatim} +source: https://en.wikipedia.org/wiki/Copyright +\end{frame} + +\begin{frame}[fragile] +\frametitle{The berne convention} +\begin{itemize} +\item First accepted in 1886 +\item Standardized copyright law +\item Before the berne convention copyright was specific to the different countries +\item Copyright exists from the moment when the work is done +\item No registration is required!! +\item So, Copyright is given ''automatically'' +\item As of today more than 170 parties are signees of the ''berne convention'' +\item https://copyrighthouse.org/countries-berne-convention +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Copyright: Granting permissions} +\begin{itemize} +\item Copyright gives the owner the right to control the use of his work +\item Usage needs to be explicitely granted by the copyright owner +\item The copyright owner can license the use to another party +\item So, with a software license the copyright holder grants a third party the usage of the software in a specific way +\item That's why we need to talk about licenses +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Copyright: Who can hold the copyright} +\begin{itemize} +\item Individual / Author +\item Employer +\item Organization +\end{itemize} +\end{frame} + +\subsection{Open-Source licenses} + +\begin{frame} +\frametitle{Why you have to care about licensing} +\begin{itemize} +\item Ensuring license compliance +\item Protect your intelectual property +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{What is Open-Source} +Definition by the Open-Source Initiative (OSI): +\begin{itemize} +\item Free Redistribution +\item Source Code +\item Derived Works +\item Integrity of The Author's Source Code +\item No Discrimination Against Persons or Groups +\item No Discrimination Against Fields of Endeavor +\item Distribution of License +\item License Must Not Be Specific to a Product +\item License Must Not Restrict Other Software +\item License Must Be Technology-Neutral +\end{itemize} +See: https://opensource.org/osd +\end{frame} + +\begin{frame} +\frametitle{OSI approved licenses} +https://opensource.org/licenses/ +\end{frame} + +\begin{frame} +\frametitle{Copyleft: How to get it right ;-)} +\begin{itemize} +\item A common misunderstanding is, that Copyleft might be the opposite +of Copyright ;) +\item BUT...LEFT comes from: to leave, left, left +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Copyleft} +It basically means that you give someone the right to modify and +redistribute copies of a work, BUT when redistributing the original +rights need to be preserved! Preserving the rights of receiving, +modifying and redistributing is what we call ''Copyleft''. +\end{frame} + +\begin{frame} +\frametitle{Copyleft licenses / Reciprocal licenses} +Copyleft based licenses are also referred as ''reciprocal licenses'' +\end{frame} + +\begin{frame} +\frametitle{Strict and weak Copyleft} +\begin{itemize} +\item For strong Copyleft all derived works inherit the Copyleft license +\item For weak Copyleft not all derived works inherit the Copyleft license +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Protecting your intelectual property} +Now that you know the concept of Copyleft, you might realize why license +compliance is also about protecting your intelectual property. +\end{frame} + +\begin{frame} +\frametitle{Permissive licenses} +Open-Source licenses without Copyleft are usually referred as ''permissive +licenses'' +\end{frame} + +\begin{frame} +\frametitle{Overview of reciprocal and permissive licenses} +\begin{figure}[h] +\centering +\includegraphics[width=8cm]{images/license_overview.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{Licenses: GPLv2} +\begin{itemize} +\item Strong Copyleft +\item Code changes have to be documented +\item License and Copyright notice has to be included +\item Source-Code must be made available when re-distributing +\begin{itemize} +\item Deliver the source-code with your software / product, or: +\item Deliver a written offer which is at least valid for three years +\end{itemize} +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{GPL: Example for a written offer} +\begin{verbatim} +To obtain a copy of the source code +being made publicly available by FooBar, +Inc. (“FooBar”) related to software used +in this FooBar product (“Product”), you +should send your request in writing to +opensourcecompliance@foobar.com. +[...] +\end{verbatim} +Source: Open-Source compliance in the enterprise by Ibrahim Haddad +\end{frame} + +\begin{frame}[fragile] +\frametitle{Other obligations of GPL licenses} +\begin{itemize} +\item Building the code +\item Running the code +\item The user has to be able to run the modified executable! +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: AGPLv3} +\begin{itemize} +\item STRONGEST Copyleft license!! +\item Distribution also covers the use-case of services over a network!! +\item So, network use IS distribution!! +\item Code changes have to be documented +\item License and Copyright notice has to be included +\item Source-Code must be made available when re-distributing +\begin{itemize} +\item Deliver the source-code with your software / product, or: +\item Deliver a written offer which is at least valid for three years +\end{itemize} +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: LGPLv2} +\begin{itemize} +\item Weak Copyleft +\item If only used as library, re-distributing the resulting program doesn't need the same license +\item BUT the library itself always needs to be re-distributed under the same license +\item Code changes have to be documented +\item License and Copyright notice has to be included +\item Source-Code must be made available when re-distributing +\begin{itemize} +\item Deliver the source-code with your software / product, or: +\item Deliver a written offer which is at least valid for three years +\end{itemize} +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: (L)GPL v2 vs. v3} +\begin{itemize} +\item v3 released in 2007 +\item Patent use is covered +\item Tivoization is covered in GPLv3: ''...Installation Information for a User Product means any methods, procedures, \textbf{authorization keys}, ...'' +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: MIT} +\begin{itemize} +\item Permissive license +\item Very simple +\item It basically only requires the preservation of license and copyright notice(s) +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: Apache} +\begin{itemize} +\item Permissive license +\item It basically only requires the preservation of license and copyright notice(s) +\item Code changes have to be documented +\item Express grant of patent rights from contributors +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Licenses: BSD 2-Clause License (AKA simplified BSD)} +\begin{itemize} +\item Permissive license +\item Two versions of BSD license available: 2-clause and 3-clause +\item Preservation of license and copyright notice(s) +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Protecting your intelectual property ctd.} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/kernel_user.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{A detailed look into ''derived work''} +Be careful not only linking or copying code might result in a derived +work: +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/derived_work.jpg} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{So, how does that work for the Linux Kernel} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/kernel_user.jpg} +\end{figure} +The kernel takes a license exception for the syscall interface: +\begin{verbatim} +SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note +\end{verbatim} +\end{frame} + +\subsection{Working on / with FOSS} +\begin{frame} +\frametitle{First of all:} +\begin{itemize} +\item License decisions are NOT a developer decision +\item License decisions are NOT a decision of team leader or the group leader +\item IT'S A DECISION OF YOUR LEGAL DEPARTMENT +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Which licenses are allowed} +A process has to be established: +\begin{itemize} +\item Who is allowed to select new Open-Source components? +\item The responsible person should have a list of accepted (and by the legal department approved) licenses +\item The responsible person should know who to ask when a new license comes in +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Copyright notice: When is it needed?} +\begin{itemize} +\item When you add a new file +\item When you make \textbf{significant} changes to a file +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Copyright notice: How should it look like} +\begin{itemize} +\item You can use (c), Copyright or Copr. +\item First publication and date of last significant change needs to be stated +\item Full name of the copyright holder needs to be provided: Author, employer or organization +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Copyright notice: Examples} +\begin{verbatim} +/* + * Copyright 2019, Linutronix GmbH + */ + +/* + * (c) 1991, Linus Torvalds + */ + +/* + * Copyright 2014,2018, Jan Altenberg + */ + +/* + * Copyright 2000-2008, Linutronix GmbH + */ +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Copyright notice: Examples} +Redundancy is allowed: +\begin{verbatim} +/* + * Copyright (c) 2019, Linutronix GmbH + */ +\end{verbatim} +Statements can be combined: +\begin{verbatim} +/* + * Copyright 2013,2015-2019 Jan Altenberg + */ +\end{verbatim} +\end{frame} + +\begin{frame} +\frametitle{License reference} +There are several ways to reference the corresponding license in the source code: +\begin{itemize} +\item Standard license header +\item URL reference +\item SPDX license identifier +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{License reference: License header} +\begin{verbatim} +[...] + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; version 2. + +This program is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA. +\end{verbatim} +Source: https://spdx.org/licenses/GPL-2.0-only +\end{frame} + +\begin{frame}[fragile] +\frametitle{License reference: URL reference} +\begin{verbatim} +/* + * http://opensource.org/licenses/GPL-2.0 + */ +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{License reference: SPDX license identifier} +\begin{verbatim} +/* + * SPDX-License-Identifier: GPL-2.0 + */ +\end{verbatim} +\end{frame} + +\begin{frame} +\frametitle{File notice} +EVERY file should contain a copyright notice AND a License reference:\\ +copyright notice + license reference = file notice +\end{frame} + +\begin{frame} +\frametitle{The SPDX standard} +\begin{itemize} +\item http://spdx.org +\item S oftware P ackage D ata E xchange format +\item SPDX is a standard for exchanging ''bill of material information'' of software (licenses, copyright, ...) +\item Well established (industry standard!) +\item Many tools available +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{File notice: Example} +\begin{verbatim} +/* + * Copyright 2019, Linutronix GmbH + * SPDX-License-Identifier: LGPL-3.0 + */ +\end{verbatim} +\end{frame} + +\begin{frame} +\frametitle{Example of a license list} +\begin{tabular}{|c|c|c|c|c|c|} +\hline +\textbf{License} & \textbf{internal} & \textbf{Linux Kernel} & \textbf{Lib} & \textbf{Application} & \textbf{Webservice}\\ +\hline +AGPLv3 & YES & NO & NO & NO & NO\\ +\hline +GPLv2 & YES & YES & NO & NO & YES \\ +\hline +LGPLv2 & YES & YES & CHECK & CHECK & YES\\ +\hline +GPLv3 & YES & NO & NO & NO & YES\\ +\hline +\end{tabular} +\end{frame} + +\subsection{Related ressources} +\begin{frame} +\frametitle{Dejacode/licenses} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/dejacode_overview.png} +\end{figure} +https://enterprise.dejacode.com/licenses/ +\end{frame} + +\begin{frame} +\frametitle{Dejacode/licenses} +\begin{figure}[h] +\centering +\includegraphics[height=6cm]{images/dejacode_conditions.png} +\end{figure} +https://enterprise.dejacode.com/licenses/ +\end{frame} + +\begin{frame} +\frametitle{tldrlegal.com} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/tldr_legal.png} +\end{figure} +https://tldrlegal.com +\end{frame} + +\begin{frame} +\frametitle{choosealicense.com} +\begin{figure}[h] +\centering +\includegraphics[height=6cm]{images/choosealicense.png} +\end{figure} +https://chossealicense.com +\end{frame} + +\begin{frame} +\frametitle{Recommended reading} +\begin{itemize} +\item Free Linux Foundation eBook on FOSS compliance:\\ +https://www.linuxfoundation.org/blog/2018/12/new-ebook-offers-comprehensive-guide-to-open-source-compliance/\\ +\item Free Linux Foundation online seminar on FOSS compliance for developers:\\ +https://training.linuxfoundation.org/training/compliance-basics-for-developers/\\ +\end{itemize} +\end{frame} + +\subsection{Tools} +\begin{frame}[fragile] +\frametitle{Scancode} +Getting scancode: +\begin{verbatim} +git clone git://github.com/nexB/scancode-toolkit.git +\end{verbatim} +Running scancode: +\begin{verbatim} +./scancode --html results_detail.html \ +--license \ +--copyright \ +../busybox-1.30.1 +\end{verbatim} +\end{frame} + +\begin{frame} +\frametitle{Scancode} +\begin{figure}[h] +\centering +\includegraphics[height=6cm]{images/scancode_result.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{FOSSology} +\begin{figure}[h] +\centering +\includegraphics[height=6cm]{images/fossology.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{FOSSology} +\begin{figure}[h] +\centering +\includegraphics[height=4cm]{images/fossology_browser.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{Commercial tools} +\begin{itemize} +\item Black Duck +\item Protecode +\item FlexNet Code Insight +\item ... +\end{itemize} +\end{frame} + +\subsection{What else} + +\begin{frame} +\frametitle{Re-Distribution of a distribution} +\begin{itemize} +\item Please be also aware of trademarks +\item Distribution names are usually registered trademarks +\item You might need to re-name it or to ask for permission +\item Legal assessment from OSADL (available for members) +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Re-Distribution of a distribution} +Example Ubuntu: +\begin{verbatim} +Ubuntu: “[...] Any redistribution of modified versions of Ubuntu must +be approved, certified or provided by Canonical if you are going to +associate it with the Trademarks. Otherwise you must remove and +replace the Trademarks [...]" +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Re-Distribution of a distribution} +Example Debian: +\begin{verbatim} +"Derivative distributions must not be named Debian" +\end{verbatim} +\end{frame} + +\subsection{Establishing a compliance process} + +\begin{frame} +\frametitle{How to establish a compliance process in your company} +\begin{itemize} +\item License compliance is only one aspect in handling Open-Source +\item It's part of a Open-Source program in your company +\item Stick to existing standards if you can +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Existing standards} +\begin{figure}[h] +\centering +\includegraphics[width=6cm]{images/logo_openchain.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{OpenChain} +\begin{itemize} +\item http://www.openchain-project.org +\item Provides a core set of requirements for a compliance program +\item Provides training materials +\item Certification is available +\end{itemize} +\end{frame} + +\subsection{Who can help} + +\begin{frame} +\frametitle{Organisations: OSADL} +\begin{itemize} +\item Legal advice for members +\item License checklist project +\item Offers compliance audit as a service +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{OSADL License checklist} +\begin{figure}[h] +\centering +\includegraphics[width=6cm]{images/osadl_checklist.png} +\end{figure} +\end{frame} + +\begin{frame} +\frametitle{OSADL: License compatibility matrix} +\begin{figure}[h] +\centering +\includegraphics[width=6cm]{images/osadl_matrix.png} +\end{figure} +\end{frame} + + + +\input{tailpres} + diff --git a/management/section.tex b/management/section.tex new file mode 100644 index 0000000..4c80de6 --- /dev/null +++ b/management/section.tex @@ -0,0 +1 @@ +\section{Management relates topics} |
