--- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_9acdf0c705a31723d896e06aafbbdd4f.jpg" data-background-opacity=".2" --> ## Open-source Software at CERN ###### Giacomo Tenaglia / CERN IT & OSPO ###### UNIGE @ CERN - 2025-05-27 --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_8a1cb96507476c38f00c945d48e46b89.jpg"; data-background-size="cover" --> <h3 style="color: grey; background: white">Open-source software 101</h3> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_8a1cb96507476c38f00c945d48e46b89.jpg"; data-background-size="cover" data-background-opacity=".2" --> ### Open-source Software 101 ###### aka "Free Software" aka "OSS" * Copyright holder: * Has **exclusive** rights to authorise certain actions. * Not necessarily "the author"! Typically the employer. * Open-source license: a tool to authorise actions on copyrighted software: * **"The 4 freedoms": use, study, share, improve.** * Sometimes: make sure "derivative work" preserves the 4 freedoms. * [CERN Academic Training Open Source 2023](https://indico.cern.ch/e/opensource-2023). * [Open Source Initiative's official definition](https://opensource.org/osd/). --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_d02b314fa252b2bf1a02688df949ad39.jpg" --> <h3 style="color: white">Software commons</h3> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_d02b314fa252b2bf1a02688df949ad39.jpg" data-background-opacity=".3" --> ### Software commons * Commons: * *"A broad set of resources, natural and cultural, that are shared by many people."* \(IASC\) * Need shared governance to prevent exhaustion. * Software commons: * All computer software available for little or no cost. * Obviously includes all OSS. * Need shared governance to ensure quality, health and evolution. --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_9acdf0c705a31723d896e06aafbbdd4f.jpg" --> <h3 style="color: grey; background: white">Open-source Software at CERN</h3> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_dea3b8e72ce4e29d20740f579fd75dbc.png" data-background-opacity=".1" --> ### 1970: First CERN Computing and Data Handling School ###### https://cds.cern.ch/record/186419 > "We felt that it would be of interest to hold a school at which young computer scientists and high-energy physicists could study together aspects of these two quite different approaches to computing, and we hoped that by bringing together students and lecturers active in research in these two fields a flourishing cross-fertilization of ideas would result." --- ![](https://codimd.web.cern.ch/uploads/upload_f840f5ab61206fd8f9f12c34c4e2e52e.png)<!-- .element style="border: 0; box-shadow: none; height: 100%; width: 100%;" --> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_f1dad7b73154edb7c888bad9c5acf62f.jpg" --> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_f1dad7b73154edb7c888bad9c5acf62f.jpg" data-background-opacity=".1" --> ### Sharing software since the 70s ###### ...by actually mailing tapes! * 1978: H-BOOK collaboration / re-distribution. * 1983: HEPVM tape distributed freely to more than 30 sites. * 1984: CERN makes Cernlib freely available to other labs. --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_f1dad7b73154edb7c888bad9c5acf62f.jpg" data-background-opacity=".1" --> ### Embracing open-source practices * 1994: ["Licensing the Web" as Open Source.](https://home.cern/science/computing/birth-web/licensing-web) * 2012: [CERN Open Source License Task Force report.](https://cds.cern.ch/record/1482206?ln=en) * 2019: [MALT project.](https://malt.web.cern.ch/malt/) * 2023: [Creation of CERN Open Source Program Office.](https://opensource.cern) --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_b69f22b42c84f261e11aff7a80cf5ccf.png" data-background-size="60%" data-background-opacity=".1" --> ### CERN Open Source Program Office ###### Established 2023 * Official body at CERN ([mandate](https://cds.cern.ch/record/2879995)) to support open-source hardware + software. * Cross-organisation board of practitioners (12 members @ 10-20%). * A few on-going initiatives: * [Technical website](https://ospo.docs.cern.ch). * Impact evaluation ([project with SW Heritage](https://opensource.cern/cern-open-source-heritage). * CERN-made OSS/OSHW catalogues.. * Track dependency on OSS components for critical services. * Find ways to contribute back to OSS we rely on. --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_16d41e9ffcc9c8c81e969019ade1a2a1.jpg" data-background-opacity=".8"--> <h3 style="color: white">Producing open-source software</h3> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_16d41e9ffcc9c8c81e969019ade1a2a1.jpg" data-background-opacity=".2"--> ### Producing open-source software * Examples of CERN-made OSS: * [Indico (event management)](https://getindico.io) - [source code](https://github.com/indico/indico/) * [ROOT (data analysis)](https://root.cern/) - [source code](https://github.com/root-project/root) * [Invenio (digital library)](https://inveniordm.web.cern.ch/) - [source code](https://github.com/inveniosoftware/invenio-app-rdm) * [CTA (tape archive)](https://cta.web.cern.ch/cta/) - [source code](https://github.com/cern-cta/CTA) --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_16d41e9ffcc9c8c81e969019ade1a2a1.jpg" data-background-opacity=".2"--> ### Producing open-source software ###### The role of the OSPO * Recommend publishing/project management practices: * License of choice, how to accept contributions, ... * Code repository presence and "branding": * Gitlab/GitHub/HEPforge/... * Automation on license & ©: * The [REUSE framework](https://reuse.software). --- ### Consuming open-source software ![](https://codimd.web.cern.ch/uploads/upload_eb636548879d0965989aaafc38ef6459.png)<!-- .element style="border: 0; box-shadow: none; height: 35%; width: 35%;" --> <p style="font-size: 10pt">Image copyright xkcd.com</p> --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_eb636548879d0965989aaafc38ef6459.png" data-background-size="30%" data-background-opacity=".1"--> ### Consuming open-source software * 70%+ of IT services rely on a main OSS component: * In 2/3rd of the cases CERN is contributing to it. * Contributions vary widely: * Small code fixes to random Python libraries. * Seat on board of directors of major projects. * Maintainers of core OSS projects "as a hobby". --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_eb636548879d0965989aaafc38ef6459.png" data-background-size="30%" data-background-opacity=".1"--> ### Consuming open-source software ###### The role of the OSPO * Help contributing (CERN-wide agreements). * Expose/showcase contributions to communities/member states. * Analyse shared dependencies & health: * Get involved vs. fund vs. replace. --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_5404372aaa4f83ee37d9e7a7e7ce0bd7.jpg" data-background-opacity=".3" --> ### Why focusing on open-source? * Foster a digital commons: every contribution counts! * Interoperability and open standards. * Public organisations/infrastructures: * Transparency, digital sovereignty, sustainability, ... * Accelerate technology evolution/adoption. --- <!-- .slide: data-background="https://codimd.web.cern.ch/uploads/upload_b69f22b42c84f261e11aff7a80cf5ccf.png" data-background-size="60%" data-background-opacity=".1" --> ### Thank you! <table style="border: none;"> <tbody> <tr> <td style="text-align: right;"><a href="https://opensource.cern">https://opensource.cern</a></td> <td>CERN OSPO Main website</td> </tr> <tr> <td style="text-align: right;"><a href="https://ospo.docs.cern.ch">https://ospo.docs.cern.ch</a></td> <td>CERN OSPO Technical Documentation</td> </tr> <tr style="border: none;"> <td style="text-align: right;"><a href="mailto:Open.Source@cern.ch">Open.Source@cern.ch</a></td> <td>CERN OSPO</td> </tr> <tr style="border: none;"> <td style="text-align: right;"><a href="mailto:Giacomo.Tenaglia@cern.ch">Giacomo.Tenaglia@cern.ch</a></td> <td>Just me</td> </tr> </tbody> </table> ---
{"title":"Open-source Software at CERN","date":"2025-05-27T00:00:00.000Z","author":"Giacomo Tenaglia <Giacomo.Tenaglia@cern.ch>","tags":"presentation, OSPO, UniGE","slideOptions":{"transition":"slide","theme":"cern4","slideNumber":true}}