diff --git a/talks-public/2019-02-04-copyleftconf/2019-02-04-copyleftconf.org b/talks-public/2019-02-04-copyleftconf/2019-02-04-copyleftconf.org index 5bb003a..94d57ce 100644 --- a/talks-public/2019-02-04-copyleftconf/2019-02-04-copyleftconf.org +++ b/talks-public/2019-02-04-copyleftconf/2019-02-04-copyleftconf.org @@ -1,44 +1,46 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Outsourcing Source Code Distribution Requirements #+AUTHOR: Alexios Zavras, Stefano Zacchiroli #+BEAMER_HEADER: \date[CopyleftConf 2019]{4 February 2018\\CopyleftConf\\Brussels, Belgium} #+DATE: 4 February 2019 #+INCLUDE: "this/prelude-swh+intel.org" :minlevel 1 #+INCLUDE: "../../common/modules/169.org" #+BEAMER_HEADER: \institute[Intel \& Software Heritage]{Intel, alexios.zavras@intel.com\\Software Heritage, zack@upsilon.cc} #+BEAMER_HEADER: \setbeamertemplate{background}{\includegraphics[width=\paperwidth,height=\paperheight]{world-169}} #+LATEX_HEADER_EXTRA: \usepackage{tikz} #+LATEX_HEADER_EXTRA: \usetikzlibrary{arrows,shapes} #+LATEX_HEADER_EXTRA: \definecolor{swh-orange}{RGB}{254,205,27} #+LATEX_HEADER_EXTRA: \definecolor{swh-red}{RGB}{226,0,38} #+LATEX_HEADER_EXTRA: \definecolor{swh-green}{RGB}{77,181,174} * Real-world compliance #+INCLUDE: "this/intel-use-case.org::#main" :minlevel 2 :only-contents t * Software Heritage #+INCLUDE: "../../common/modules/swh-overview-sourcecode.org::#mission" :minlevel 2 #+INCLUDE: "../../common/modules/principles-short.org::#principles" :minlevel 2 #+INCLUDE: "../../common/modules/status-extended.org::#dataflow" :minlevel 2 #+INCLUDE: "../../common/modules/status-extended.org::#archive" :minlevel 2 * Outsourcing CCS distribution #+INCLUDE: "../../common/modules/deposit.org::#overview" :minlevel 2 #+INCLUDE: "../../common/modules/deposit.org::#prepare" :minlevel 2 #+INCLUDE: "../../common/modules/deposit.org::#send" :minlevel 2 #+INCLUDE: "../../common/modules/deposit.org::#status" :minlevel 2 #+INCLUDE: "../../common/modules/deposit.org::#access" :minlevel 2 #+INCLUDE: "../../common/modules/vault.org::#vault-short" :minlevel 2 :only-contents t +* Next steps + #+INCLUDE: "this/intel-next-steps.org::#main" :minlevel 2 :only-contents t ** Wrapping up *** - long-term _hosting of CCS_ archives can be onerous in the real-world - it is A-OK to _outsource_ that responsibility to third parties - Software Heritage crawls (pull) _all FOSS_ and can now accept push deposits - Intel and Software Heritage are working together on _practical FOSS tooling_ to outsource CCS hosting to the Software Heritage archive *** Come and join us! - =alexios.zavras@intel.com= , =zack@upsilon.cc= - https://www.softwareheritage.org + - https://archive.softwareheritage.org - https://deposit.softwareheritage.org - - https://archive.softwareheritage.org (FOSDEM 2018 preview!) diff --git a/talks-public/2019-02-04-copyleftconf/this/intel-next-steps.org b/talks-public/2019-02-04-copyleftconf/this/intel-next-steps.org new file mode 100644 index 0000000..7f962e6 --- /dev/null +++ b/talks-public/2019-02-04-copyleftconf/this/intel-next-steps.org @@ -0,0 +1,17 @@ +* Intel use case + :PROPERTIES: + :CUSTOM_ID: main + :END: +** Next steps @Intel + - Gradual deployment + - Generation of SwHer pointers + - Integration with sw production and delivery + - Fine-tuning + - check whether already available vs. upload everything + - software optimization and customization + +** Future ideas for copyleft + - No requirement for physical transmission + - of CCS, license text, etc. + - Allow provision of a pointer to required material + diff --git a/talks-public/2019-02-04-copyleftconf/this/intel-use-case.org b/talks-public/2019-02-04-copyleftconf/this/intel-use-case.org index 551d942..626dd2f 100644 --- a/talks-public/2019-02-04-copyleftconf/this/intel-use-case.org +++ b/talks-public/2019-02-04-copyleftconf/this/intel-use-case.org @@ -1,72 +1,73 @@ * Intel use case :PROPERTIES: :CUSTOM_ID: main :END: ** The setup - - Intel delivers /a lot/ of software + - Intel is a /large/ org which delivers a /lot/ of software - Software is a combination of own and FOSS components - Many components have a legal source code distribution requirement - we also might deliver source in other cases ** The legal requirement #+BEGIN_QUOTE For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.\hfill --- /GPLv2/ #+END_QUOTE ** Complete Corresponding Source (CCS) **** Different terms used - GPLv2: ``complete corresponding machine-readable source code'' / ``accompany'' - GPLv3: ``Corresponding Source'' / ``convey'' - MPLv2: ``Source Code Form'' / ``made available'' - EPLv2: ``Source Code'' / ``made available'' ** The problem **** In an ideal world - Fool-proof processes in place + - collect, package, and provision - Set it up once, always working **** Practical considerations - People change roles or leave - Re-organizations happen - Things get forgotten ** Use cases -**** - Trying to build an internal service: +**** Trying to build an internal service - Our delivery contains our own FOSS ~sw.tar.gz~ - - Our delivery contains ~gcc-7.3~ - - Our delivery contains ~gcc~ snapshot of revision ~257214~ - - Our delivery contains ~gcc-7.3~ patched with ~patches.tar.gz~ + - Our delivery contains ~gcc-8.2~ + - Our delivery contains ~gcc~ snapshot of revision ~267928~ + - Our delivery contains ~gcc-8.2~ patched with ~patches.tar.gz~ ** Functional requirements **** We need to be able to: - provide our own software package - refer to a ``well-known'' FOSS component - with release version or unique revision - combine the two - well-known component with own patches + #+BEAMER: \pause **** Great Idea - Can we /outsource/ the fulfilment of these requirements? ** The idea **** Is it compliant? #+BEGIN_QUOTE GPL FAQ: Can I put the binaries on my Internet server and put the source on a different Internet site? - [v3] Yes. Section 6(d) allows this. However, you must provide clear instructions people can follow to obtain the source, and you must take care to *make sure that the source remains available* for as long as you distribute the object code. - [v2] The GPL says you must offer access to copy the source code ``from the same place''; that is, next to the binaries. However, if you *make arrangements with another site* to keep the necessary source code available, and put a link or cross-reference to the source code next to the binaries, we think that qualifies as ``from the same place''. #+END_QUOTE #+BEAMER: \pause **** Wouldn't it be great if /someone/ could fulfill our requirements?