Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Be a Responsible Open Source Citizen

ivargrimstad
November 10, 2023

How to Be a Responsible Open Source Citizen

Have you ever worked on a project that didn't use any open source tools, libraries, or products? Using open source has been such an integral part of our daily work life that we don't even think about it. We just expect it to be available, secure, stable, and bug-free. But how many of you are actually contributing back to an open source project? In this session, I will go through some aspects of being a responsible open source citizen. There may even be a couple of pointers on how to make a career in open source.

ivargrimstad

November 10, 2023
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    How to Be a Responsible
    Open Source Citizen
    Ivar Grimstad

    Jakarta EE Developer Advocate
    Eclipse Foundation

    View full-size slide

  2. @ivar_grimstad
    https://github.com/ivargrimstad
    https://www.linkedin.com/in/ivargrimstad
    @[email protected]
    ivargrimstad_of
    fi
    cial

    View full-size slide

  3. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Introduction
    Consume Responsibly
    Contribute Responsibly
    Summary

    View full-size slide

  4. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)

    View full-size slide

  5. Jakarta EE 10 Platform
    Updated
    Not Updated
    New
    Authorization 2.1
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    RESTful Web Services 3.1
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 2.1
    CDI Lite 4.0
    Interceptors 2.1
    Dependency Injection 2.0
    Servlet 6.0
    Server Pages 3.1
    Expression Language 5.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 4.0
    WebSocket 2.1
    Enterprise Beans Lite 4.0
    Persistence 3.1
    Transactions 2.0
    Managed Beans 2.0
    CDI 4.0
    Authentication 3.0
    Concurrency 3.0
    Security 3.0
    Bean Validation 3.0

    View full-size slide

  6. RESTful Web Services 4.0
    JSON Processing 2.1
    JSON Binding 3.0
    Annotations 3.0
    CDI Lite 4.1
    Interceptors 2.2
    Dependency Injection 2.0
    Servlet 6.1
    Pages 4.0
    Expression Language 6.0
    Debugging Support 2.0
    Standard Tag Libraries 3.0
    Faces 5.0
    WebSocket 2.2
    Enterprise Beans Lite 4.0
    Persistence 3.2
    Transactions 2.0
    CDI 4.1
    Authentication 3.1
    Concurrency 3.1
    Security 4.0
    Validation 3.1
    Data 1.0
    Authorization 3.0
    Activation 2.1
    Batch 2.1
    Connectors 2.1
    Mail 2.1
    Messaging 3.1
    Enterprise Beans 4.0
    Jakarta EE 11 Platform
    Jakarta EE 11 Web Pro
    fi
    Updated
    Not Updated
    New

    View full-size slide

  7. #JakartaEE COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
    Open Source

    View full-size slide

  8. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Open Source Principles

    View full-size slide

  9. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Transparency
    Collaboration
    Release Early
    and Often
    Inclusive
    Meritocracy
    Community

    View full-size slide

  10. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Open Source Licenses

    View full-size slide

  11. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Open Source Initiative
    https://opensource.org/licenses

    View full-size slide

  12. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Open Source
    vs
    Source Available

    View full-size slide

  13. #JakartaEE COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
    Consume Responsibly

    View full-size slide

  14. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Open Source Projects

    View full-size slide

  15. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Solo Single Vendor Community Foundation

    View full-size slide

  16. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Solo
    Description
    One or two programmers control
    code, decisions, support
    Contributing
    Either extremely easy or extremely
    hard
    Support Usually very responsive or abandoned
    Examples
    Byte Buddy
    SnoopEE

    View full-size slide

  17. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Single Vendor
    Description
    Open sourced by a company,
    employees as contributors
    Contributing Usually dif
    fi
    cult
    Support
    Reliable support obtained through
    support contracts with sponsoring
    company
    Examples
    Quarkus
    Spring Framework
    Gradle

    View full-size slide

  18. Single Vendor

    View full-size slide

  19. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Community
    Description
    Signi
    fi
    cant number of contributors,
    usually democratic
    Contributing
    Generally welcoming, no formal
    process
    Support
    Participation in the social process
    required
    Examples
    PostgreSQL
    OpenJDK
    mockito

    View full-size slide

  20. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Foundation
    Description
    Formal organisation open source
    projects. Often projects critical to
    several large companies.
    Contributing Formal process, meritocracy
    Support
    Sponsoring companies providing paid
    support
    Unpaid support similar as
    communities
    Examples
    Eclipse Jetty
    Apache Maven
    Kubernetes

    View full-size slide

  21. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Security

    View full-size slide

  22. https://slsa.dev/

    View full-size slide

  23. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Evolving Expectations

    View full-size slide

  24. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Is this license compatible with your project license?
    Will you assign a CVE?
    How do you handle vulnerabilities?
    Does the open source project follow an OpenChain conformant process?
    Is the project REUSE compliant?
    Where is your Software Bill of Materials?
    Does the license allow me to do X?

    View full-size slide

  25. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Regulations

    View full-size slide

  26. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    European Cyber Resiliency Act
    (CRA)

    View full-size slide

  27. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Product Liability Directive
    (PLD)

    View full-size slide

  28. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Blog posts about PLD and
    CRA by Mike Milinkowich

    View full-size slide

  29. #JakartaEE COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
    Contribute Responsibly

    View full-size slide

  30. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    First Rule of Contributing
    to Open Source

    View full-size slide

  31. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Contribute!

    View full-size slide

  32. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    How to Get Started?

    View full-size slide

  33. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Convince my Boss?

    View full-size slide

  34. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Improve the Software
    YOU Rely On

    View full-size slide

  35. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Why Contribute?

    View full-size slide

  36. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Improve YOUR Skills

    View full-size slide

  37. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Build Your Reputation
    and Career

    View full-size slide

  38. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Where to Contribute?

    View full-size slide

  39. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Does Not Need to be
    CODE

    View full-size slide

  40. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Follow Your Passion

    View full-size slide

  41. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    My Journey

    View full-size slide

  42. https://www.scala-lang.org/docu/
    fi
    les/ScalaTutorial-no_NO.pdf

    View full-size slide

  43. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Solo Single Vendor Community Foundation
    Apache NetBeans

    View full-size slide

  44. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    How to Contribute?

    View full-size slide

  45. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Show Your SUPPORT

    View full-size slide

  46. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Contribute Responsibly

    View full-size slide

  47. #JakartaEE COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
    Summary

    View full-size slide

  48. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    Solo Single Vendor Community Foundation

    View full-size slide

  49. COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
    First Rule of Contributing
    to Open Source
    Remember

    View full-size slide

  50. Eclipse Foundation

    https://eclipse.org
    Jakarta EE
    https://jakarta.ee
    Get Involved
    https://jakarta.ee/community/get-involved/
    Blog
    https://www.agilejava.eu

    View full-size slide

  51. #JakartaEE COPYRIGHT (C) 2023, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
    Thank You!

    View full-size slide