SlideShare a Scribd company logo
1 of 24
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Talk Title Here
Author Name, Company
Using Containers and Continuous Packaging to
Build Native Fossology Packages
Speakers
Bruno Cornec (bruno.cornec@hpe.com), Michael C. Jaeger (michael.c.jaeger@siemens.com)
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Overview: Contents
1. Introduction FOSSology
What is FOSSology
2. Motivation
What FOSSology needs
3. Introduction Project Builder
The ProjectBuilder Project
4. Build Native Fossology Packages
To get container running in the continuous build
5. Conclusion
Where to see it
2 Page 2
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Introduction FOSSology
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
The Problem Actually
Distributing open source software requires to
∙ Provide licenses of involved software
∙ Provide copyright statements of involved authors
∙ Provide disclaimers
∙ … and much more
You know these examples
Page 4
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
It is about finding licenses
∙ License texts
∙ References to licenses
∙ Written texts explaining licensing
∙ License relevant statements
Finding Licenses
Page 5
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
What is FOSSology?
A Web server application for license and copyright compliance of software components.
FOSSology Project
https://www.fossology.org/
∙ Published first in 2008, GPL-2.0
∙ 2015: Linux Foundation collaboration project
∙ Web server based and command line interfaces
∙ Scanning agents searching for license and
copyright relevant hits (and more …)
∙ A multi-user / multi-tenant Web UI for review
organizing clearing job
FOSSology Development
https://www.github.com/fossology/fossology
▪ Standard Web application stack:
▪ Linux, Apache 2, PostgreSQL, PHP,
▪ Web-based UI in PHP, but scanners
written in C / C++
▪ Two ways to interact:
▪ Web user interface
▪ Command line utilities
Page 6
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
How does FOSSology work?
See more details the Basic Workflow Description: https://www.fossology.org/get-started/basic-workflow
▪ Upload an open source package to the server
▪ Select scan agents that analyze the software
▪ Review what scanners have found
▪ Review license occurrences and correct findings if necessary
▪ Generate report output
▪ For example list of licenses or SPDX
Upload OSS
Package
Review and Adjust
(“Clearing”)
Generate
Page 7
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
What is the point of FOSSology?
See more details the Basic Workflow Description: https://www.fossology.org/get-started/basic-workflow
▪ Upload an open source package to the server
▪ Select scan agents that analyze the software
▪ Review what scanners have found
▪ Review license occurrences and correct findings if necessary
▪ Generate report output
▪ For example list of licenses or SPDX
Upload OSS
Package
Review and Adjust
(“Clearing”)
Generate
Page 8
Page 9© 2016-2017 Siemens AG, Linux Foundation - CC-BY-SA 4.0Open Source Summit Europe 2017
Using FOSSology with this Example
∙ It is natural that an OSS project reuses
available https://github.com/fossology/fossology
∙ Likely OSS from other projects is found
∙ For example, FOSSology will find 25 other
licensing relevant text occurrences in Apache
thrift
Open Source and Reuse
9
Page 9
Page 10© 2016-2017 Siemens AG, Linux Foundation - CC-BY-SA 4.0Open Source Summit Europe 2017
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Motivation
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
The Problem Actually
∙ ~ “creating binaries for linux is difficult” (starts at 5:40)
∙ https://www.youtube.com/watch?v=qHGTs1NSB1s
∙ Many linux distros with own package universe
∙ Different distros and different versions of these
∙ E.g. Packages dependencies on debian 8 change with
debian 9
∙ Even within Debian 8 postgresql changes ...
See Linus Torvalds
Page 12
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
FOSSology Demand
∙ Debian, Ubuntu, CentOS and Fedora
∙ To efficiently build packages for these
∙ = efficiently means not to have manual step for each distro
∙ also means dealing with specificities of each distro/version
(dependencies, availability of packages, …)
Support (at least) a basic set of Linux Distros
Page 13
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Technically
∙ Different Distros required (and their versions)
∙ Integration in the CI
∙ State-of-the-art: Docker
∙ Support of two main package building formats: RPM and Deb
It is about building Linux packages
Page 14
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Introduction to
Project-Builder.org
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Project-Builder.org goal
“Make upstream projects
life easier with regards to
packaging their software”
Page 16
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Project-Builder.org goal
“Make my
life easier with regards to
packaging my software”
Page 17
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Benefits from Continuous Packaging
● Packaging should be a project concern as well as coding, testing, installing, ....
especially for smaller projects
● Packaging as your only way of delivery (not a dream)
● Minimal overhead, maximum benefit:
● Consistancy and reproduceability for devs and users
● Distribution & deployment server integration,
● Consistency with distribution and avoids dependecy hell for consumers
● Packaging as a marketing activity for the upstream project. Easy way to extend
your user base, and improve your community relationship and is a “competitive
advantage”.
● New mantra: “Package early, package always”
● THE SOLUTION IS INDEED CONTINUOUS PACKAGING (whatever the tool)
Page 18
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Project-Builder.org goals
● VCS agnostic: no VCS but guys it's 21st century now, SVN, CVS, Mercurial, GIT
and GIT/SVN, SVK....
● OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 150+ distro tuples made
and counting – repositories for yum, urpmi, apt. Solaris pkg.
● Build environment agnostic: local, VM (QEMU, KVM...), VE (Docker, chroot,
rpmbootstrap, rinse, mock, debootstrap...), RM (build farm)
● No project impact: preserves the md5sum of the delivered upstream sources. Can
be completely external to the upstream project.
● Avoids duplication of code and metadata
● THE SOLUTION IS INDEED CONTINUOUS PACKAGING (with project-builder.org !)
Page 19
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Project-Builder.org architecture
Page 20
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Build Native Fossology Packages
Demonstration !!
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Problem encountered
● fossology build issues
● project-builder.org bugs
● composer phar !
● build infrastructure
● introduction in CI toolset
Page 22
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017
Conclusion
© 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017

More Related Content

Similar to Using containers and Continuous Packaging to Build native FOSSology packages

Similar to Using containers and Continuous Packaging to Build native FOSSology packages (20)

LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
 
CloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdfCloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdf
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.org
 
FOSSology & GSOC Journey
FOSSology & GSOC JourneyFOSSology & GSOC Journey
FOSSology & GSOC Journey
 
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
 
Live collaboration on graphical models sirius integrated with cdo
Live collaboration on graphical models sirius integrated with cdoLive collaboration on graphical models sirius integrated with cdo
Live collaboration on graphical models sirius integrated with cdo
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
 
All in one
All in oneAll in one
All in one
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOps
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOps
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y Modelo
 
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipeline
 
Project-Builder.org presentation
Project-Builder.org presentationProject-Builder.org presentation
Project-Builder.org presentation
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling toolsGraphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
 

More from Bruno Cornec

More from Bruno Cornec (20)

Diaporama-TMG.pdf
Diaporama-TMG.pdfDiaporama-TMG.pdf
Diaporama-TMG.pdf
 
Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdf
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023
 
Docker-v3.pdf
Docker-v3.pdfDocker-v3.pdf
Docker-v3.pdf
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdf
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdf
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libres
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ans
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la Vierge
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychorale
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique Allemande
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François Ier
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec Numérique
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 

Using containers and Continuous Packaging to Build native FOSSology packages

  • 1. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Talk Title Here Author Name, Company Using Containers and Continuous Packaging to Build Native Fossology Packages Speakers Bruno Cornec (bruno.cornec@hpe.com), Michael C. Jaeger (michael.c.jaeger@siemens.com)
  • 2. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Overview: Contents 1. Introduction FOSSology What is FOSSology 2. Motivation What FOSSology needs 3. Introduction Project Builder The ProjectBuilder Project 4. Build Native Fossology Packages To get container running in the continuous build 5. Conclusion Where to see it 2 Page 2
  • 3. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Introduction FOSSology
  • 4. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 The Problem Actually Distributing open source software requires to ∙ Provide licenses of involved software ∙ Provide copyright statements of involved authors ∙ Provide disclaimers ∙ … and much more You know these examples Page 4
  • 5. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 It is about finding licenses ∙ License texts ∙ References to licenses ∙ Written texts explaining licensing ∙ License relevant statements Finding Licenses Page 5
  • 6. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 What is FOSSology? A Web server application for license and copyright compliance of software components. FOSSology Project https://www.fossology.org/ ∙ Published first in 2008, GPL-2.0 ∙ 2015: Linux Foundation collaboration project ∙ Web server based and command line interfaces ∙ Scanning agents searching for license and copyright relevant hits (and more …) ∙ A multi-user / multi-tenant Web UI for review organizing clearing job FOSSology Development https://www.github.com/fossology/fossology ▪ Standard Web application stack: ▪ Linux, Apache 2, PostgreSQL, PHP, ▪ Web-based UI in PHP, but scanners written in C / C++ ▪ Two ways to interact: ▪ Web user interface ▪ Command line utilities Page 6
  • 7. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 How does FOSSology work? See more details the Basic Workflow Description: https://www.fossology.org/get-started/basic-workflow ▪ Upload an open source package to the server ▪ Select scan agents that analyze the software ▪ Review what scanners have found ▪ Review license occurrences and correct findings if necessary ▪ Generate report output ▪ For example list of licenses or SPDX Upload OSS Package Review and Adjust (“Clearing”) Generate Page 7
  • 8. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 What is the point of FOSSology? See more details the Basic Workflow Description: https://www.fossology.org/get-started/basic-workflow ▪ Upload an open source package to the server ▪ Select scan agents that analyze the software ▪ Review what scanners have found ▪ Review license occurrences and correct findings if necessary ▪ Generate report output ▪ For example list of licenses or SPDX Upload OSS Package Review and Adjust (“Clearing”) Generate Page 8
  • 9. Page 9© 2016-2017 Siemens AG, Linux Foundation - CC-BY-SA 4.0Open Source Summit Europe 2017 Using FOSSology with this Example ∙ It is natural that an OSS project reuses available https://github.com/fossology/fossology ∙ Likely OSS from other projects is found ∙ For example, FOSSology will find 25 other licensing relevant text occurrences in Apache thrift Open Source and Reuse 9 Page 9
  • 10. Page 10© 2016-2017 Siemens AG, Linux Foundation - CC-BY-SA 4.0Open Source Summit Europe 2017
  • 11. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Motivation
  • 12. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 The Problem Actually ∙ ~ “creating binaries for linux is difficult” (starts at 5:40) ∙ https://www.youtube.com/watch?v=qHGTs1NSB1s ∙ Many linux distros with own package universe ∙ Different distros and different versions of these ∙ E.g. Packages dependencies on debian 8 change with debian 9 ∙ Even within Debian 8 postgresql changes ... See Linus Torvalds Page 12
  • 13. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 FOSSology Demand ∙ Debian, Ubuntu, CentOS and Fedora ∙ To efficiently build packages for these ∙ = efficiently means not to have manual step for each distro ∙ also means dealing with specificities of each distro/version (dependencies, availability of packages, …) Support (at least) a basic set of Linux Distros Page 13
  • 14. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Technically ∙ Different Distros required (and their versions) ∙ Integration in the CI ∙ State-of-the-art: Docker ∙ Support of two main package building formats: RPM and Deb It is about building Linux packages Page 14
  • 15. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Introduction to Project-Builder.org
  • 16. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Project-Builder.org goal “Make upstream projects life easier with regards to packaging their software” Page 16
  • 17. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Project-Builder.org goal “Make my life easier with regards to packaging my software” Page 17
  • 18. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Benefits from Continuous Packaging ● Packaging should be a project concern as well as coding, testing, installing, .... especially for smaller projects ● Packaging as your only way of delivery (not a dream) ● Minimal overhead, maximum benefit: ● Consistancy and reproduceability for devs and users ● Distribution & deployment server integration, ● Consistency with distribution and avoids dependecy hell for consumers ● Packaging as a marketing activity for the upstream project. Easy way to extend your user base, and improve your community relationship and is a “competitive advantage”. ● New mantra: “Package early, package always” ● THE SOLUTION IS INDEED CONTINUOUS PACKAGING (whatever the tool) Page 18
  • 19. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Project-Builder.org goals ● VCS agnostic: no VCS but guys it's 21st century now, SVN, CVS, Mercurial, GIT and GIT/SVN, SVK.... ● OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 150+ distro tuples made and counting – repositories for yum, urpmi, apt. Solaris pkg. ● Build environment agnostic: local, VM (QEMU, KVM...), VE (Docker, chroot, rpmbootstrap, rinse, mock, debootstrap...), RM (build farm) ● No project impact: preserves the md5sum of the delivered upstream sources. Can be completely external to the upstream project. ● Avoids duplication of code and metadata ● THE SOLUTION IS INDEED CONTINUOUS PACKAGING (with project-builder.org !) Page 19
  • 20. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Project-Builder.org architecture Page 20
  • 21. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Build Native Fossology Packages Demonstration !!
  • 22. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Problem encountered ● fossology build issues ● project-builder.org bugs ● composer phar ! ● build infrastructure ● introduction in CI toolset Page 22
  • 23. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017 Conclusion
  • 24. © 2017 HPE, Siemens - CC-BY-SA 4.0Open Source Summit Europe 2017