Intro to open source - 101 presentation

JavierPerez115 1,660 views 33 slides Jun 17, 2021
Slide 1
Slide 1 of 33
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33

About This Presentation

Introduction to open source software presentation


Slide Content

IBM Z How to get started with OPEN-SOURCE SOFTWARE

CDMX - Boston JAVIER PEREZ Open Source Program Strategist , IBM Z @jperezp_bos javierperez.mozello.com www.linkedin.com/in/javierperez 10+ years in open-source Solution Architect and Product Management background Led open-source projects at Appcelerator and Red Hat App Dev, Mobile, App Security, Cloud Native, SaaS offerings Voting Member of IBM Open-Source Technical Steering Committee Voting Member of Open Mainframe Project Technical Advisory Committee

Open-Source since 1955 3 SHARE : World’s first computer user group Founded in 1955 by users of the IBM 701 Shared technical details, programs, and documentation SHARE Program Library started collection and distribution of software

Brief History of Open-Source First all software was free software (1950s ~ 1960s) SHARE started sharing (1955) Unix OS and Programming Languages were free (1970s) CBT Tape organization created in (1975) cbttape.org Commercial Software and User Communities start (1980s) GNU General Public License (GPL) for free software (1989)

Brief History of Open-Source Linus Torvalds publishes Linux Kernel under GPL (1991) New Mozilla Foundation and Netscape browser is open-sourced (1998) Open-source model described in the "The Cathedral and the Bazaar” by Eric Raymond (1997-1999) Linus Torvalds creates Git in 2005 , GitHub founded in 2008 Microsoft buys GitHub for $7.8B (2018), IBM buys Red-Hat for $34B (2019) 2021 Open-source companies' valuation: MongoDB $25B, Elastic $14B, Databricks $28B (private), Cloudera $5.3B

What is Open-Source Software? Source code is publicly available Open to collaboration Source code available with a license that permits users to freely run, study, modify and redistribute Photo by  Markus Spiske  from  Pexels

What’s in Open-Source Software? Code (and packaged form) Open-Source License README Contribution Guidelines Code of Conduct

Roles in Open-Source Software Maintainer Administrator, publish code, website, social media Committer Becoming a Committer in projects like Cordova, Node.js, Linux, and others is a highly regarded and respected role Contributor Opportunity to learn, join a community and meet people Photo by  Procreator UX Design Studio  on  Unsplash

Group Name / DOC ID / Month XX, 2020 / © 2020 IBM Corporation Open-Source Licenses 9 Open-Source Initiative ( OSI ) reviews and approves open-source licenses Restrictive or Copyleft License Reuse and updates to code must remain open-source Examples: GPL, LGPL, AGPL Permissive License Code updates may remain proprietary Full distribution of code permitted. Examples: Apache, BSD, MIT Server Side Public License (SSPL) Hosted service not allow, not in OSI

Open-Source Libraries and Dependencies Popular Open-Source Libraries have many contributors and are also reused by other OSS Depending on the Programming Language Open-Source Libraries can have from a few to 1000’s of dependencies There are Direct Dependencies and Transitive Dependencies

Contribute Upstream Company Sponsored or Individually Enhancements & innovations Testing, bug reports, suggest a feature Bug fixes Vulnerability fixes Port to new platform Graphic design & documentation Advocacy, give a talk, write a blog, marketing Modified code not contributed back becomes close code Photo by  Andres Haro  on  Unsplash What to Contribute?

V1.1 Open-source Project V1.2 V1.3 V1.0 Enterprise Edition V1.1 Download Code changes and fixes Test Contribute upstream Download Upstream project Downstream Fewer changes and fixes Test Contribute upstream Download Fewer changes and fixes Downstream Upstream project Benefits of Upstreaming: Less code to maintain in house External reviews and feedback Your code stays in the latest versions of both open-source project and commercial product Demonstrates commitment to the project and can influence direction Open-Source Best Practice: Upstream Code

To start free or at a low cost. Experiment & fail fast Access to latest innovation without ”lock-in” Faster pace of bugs and vulnerabilities fixes Many support sources via documentation, community forums/portals, videos, blogs, etc. Easier to recruit full stack developers, more proficient developers Photo by  Damir Kopezhanov  on  Unsplash Why companies invest in Open-Source?

Survey: 3,400 Developer Consider open-source software better than proprietary software Developer Managers say open-source knowledge is a factor for hiring decisions Agree that contributions impress potential employers 94 % 65 % 87 % Photo by  Michèle Eckert  on  Unsplash Source: 2021 O'Reilly Media survey, commissioned by IBM

15 Companies Contributing to Open-Source Source: GitHub research Apr29 2021 https://solutionshub.epam.com/OSCI/ Companies with the Most Active Contributors

Technical Support Commercial Product Technical Support Support contract or subscription that includes Tech Support Includes all commercialized open-source software ( e.i. RHEL, Ansible, etc.) and open-source used by the commercial product Open-Source Software Community Support Community driven, discussion forums, documentation and sample code No commitments, support contracts or Service Level Agreements (SLAs) Members of the community can assist addressing bugs All contributions are upstreamed back to the open-source project Commercial Open-Source Support IBM TSS Tech Support for selected open-source packages Other vendors offer tech support for open-source packages ( OpenLogic , Quansight , etc.)

The Though Questions 17 Why would I give away my effort, time, expertise? Cultural change , community, innovation, collaboration, build something larger, ego, and more “I would never use open-source software in my production environment” Unless there’s no need for Linux or an open-source programming language or library Most production environments use open-source software Image by  Reimund Bertrams  from  Pixabay  

The Though Questions 18 What if the open-source project is abandoned? Most software is deprecated at some point, do your research , adopt growing projects and contribute “My support will be dependent on the goodwill of open-source contributors” Open-source are the building blocks , not complete enterprise applications. The open-source movement is not a trend has decades of growth Photo by  Ricardo Esquivel  from  Pexels

Ecosystems 19

210M+ Repositories 500K+ Open-Source Projects 56M+ Developers Open-Source Projects

1.6M + 889 packages per day 406K + 327 packages per day 308K + 101 packages per day 270K + 177 packages per day 257K + 171 packages per day 166K + 15 packages per day Source: May 18, 2021 www.modulecounts.com Millions of Open-Source Projects

Open-Source Ecosystem for IBM Z & LinuxONE Linux Distributions & Virtualization Networking & Monitoring Cloud & Container Services Languages & Runtimes DevOps/Automation Big Data, Observability, Analytics Databases & Storage Middleware & others ClefOS www.ibm.com/community/z/open-source-software / hub.docker.com Memcached More: https://bit.ly/3qJwwXK SUSE docker Terraform Chef GitLab Splunk MongoDB Couchbase CoackroachDB MySQL RabbitMQ AI tools & frameworks Zabbix Transform Serving

Build or compile the package in the corresponding programming language and Linux distribution If using little-endian memory allocation, it has to support big-endian memory allocation Same considerations apply to dependencies, all libraries Optimization to boost performance and security using s390x features is not required but recommended S390x Porting Considerations

Sample Open-Source DevOps Workflow All available for Linux on IBM Z and LinuxONE

Collect Data Organize Data Analyze Data Machine Learning Deep Learning Deploy Data Maintain Model Data Asset eXchange (DAX) Apache Spark Model Asset eXchange (MAX) AIF360 AIX360 ART AIF360 AIX360 ART KF Serving Kubeflow Kubeflow Kubeflow Apache Kafka Sample AI Dev Lifecycle & Open-Source

NumFOCUS projects: NumPy, Pandas, Jupyter, Scikit Learn, SciPy, and others AI Open-Source included in IBM Products

From Open-Source to Red Hat Offerings

Growing Open-Source Ecosystem on z/OS zECS Artifactory-vault binutils Bison Bzip2 cURL Diffutils Galasa GCC Glibc Gzip Libssh2 M4 Make Mktemp OpenSSL Sed Sudo Unzip Vim zECS Zip Zlib zML zos-native zTron ZEBRA

What not to Open-Source Keys and credentials Customer data Employee data Patented intellectual property Code owned by other companies or entities (unless it is open-source with appropriate license) Photo by  Jon Tyson  on  Unsplash

Takeaways Open-source is here to stay , join us We want to grow our community of users and contributors More open-source tooling, integrations and plugins create stickiness in the products Open-source promotes improvement on architecture and coding practices Photo by  Stephen Picilaidis  on  Unsplash

Recommended Reads 31 Andreessen Horowits : Open Source: From Community to Commercialization Mozilla: A Frameworrk for Purposeful Open Source The Linux Foundation: Starting and Open Source Program in your Company Opensource.com : 6 motivations for consuming or publishing open source software GitHub Yearly Report: The State of the Octoverse IBM Course, Intro to Open-Source: cognitiveclass.ai /courses/introduction-to-open-source

Final Thought

Javier Perez | Open Source Strategist | IBM Z @ jperezp_bos javierperez.mozello.com www.linkedin.com/in/javierperez Thank you!