Free resources to learn best practices for participating in and contributing to open source communities.
Education
Many contributors who are new to open source are unfamiliar with the best practices to ensure you are participating in the community in an efficient, effective, and collaborative manner. This could include understanding the basics of Git, ensuring license compliance, and interacting with the community. Those working with utilities or other energy industry stakeholders may not have much experience with a collaborative development model, but thankfully the Linux Foundation offers a range of free resources to help.
Where to start?
The TODO Group is an open community of practitioners who aim to create and share knowledge, collaborate on practices, tools, and other ways to run a successful and effective Open Source Program Office (OSPO) or similar open source initiatives. A great place for anyone new to the open source community to start learning about the history and best practices is the TODO Group OSPO 101 Course. This GitHub repository offers a written overview of open source basics including compliance, copyright, licensing, development practices, business strategy and more. It also includes significant details on how to build an OSPO, which likely is not relevant for newbies but may be for certain audiences. The course is a great resource to bookmark as it contains answers to commonly asked questions for those new to open source development models, which are easy to reference anytime.
TODO also offers a variety of other guides and resources, including a Maturity Model, a set of Guides, a Mind Map, a 101 Course, Annual Surveys, as well as Case Studies, to help organizations advance in their OSPO journey. These OSPO resources are developed by the TODO Group in collaboration with The Linux Foundation and the larger open source community.
LF Energy-specific training
LF Energy hosts a variety of educational videos on our YouTube Channel, including tutorials, webinars, session recordings from live events, interviews with members and more.
Formal open source training
For those who want to go more in depth or just have a more structured format for learning open source best practices, Linux Foundation Education offers a wide range of completely free, online training courses that can be completed at ones own pace. The best place to start is by looking at the Open Source Best Practices section of the website. Free offerings include:
- A Beginner’s Guide to Open Source Software Development (LFD102)
- The course covers the who (successful projects and communities), what (definition), why (benefits), where (Git) and how (licensing, compliance, collaboration tips, managing diversity and continuous development & integration) of developing open source software
- Inclusive Open Source Community Orientation (LFC102)
- Gain essential background knowledge and practical skills to create an inclusive culture in the open source community
- Ethics for Open Source Development (LFC104)
- Learn to operationalize ethics as a tool for efficient and effective decision-making when developing and using open source technology
- Open Source Licensing Basics for Software Developers (LFC191)
- Helps software developers and producers understand why and how to add copyrights and licenses to their code
- Introduction to Open Source License Compliance Management (LFC193)
- Learn the basic concepts and approaches needed for an open source compliance program
- Implementing Open Source License Compliance Management (LFC194)
- Explore how an open source compliance management system should be structured and implemented to be most effective
- Green Software for Practitioners (LFC131)
- Learn the basic concepts a software practitioner needs to know to build, maintain and run greener applications.
- Open Source Technical Documentation Essentials (LFC111)
- Get started with creating and executing a documentation plan for your open source, developer-oriented project.
- Creating Effective Documentation for Developers (LFC112)
- Create inclusive documentation for new users and foster engagement, while leveraging specific skills to meet the unique API documentation requirements of your product.
Security is also essential, particularly when we are talking about essential systems like energy. That’s why LF Education also offers a variety of free training resources to ensure both the development and deployment of open source are done securely:
- Developing Secure Software (LFD121)
- Learn the security basics to develop software that is hardened against attacks, and understand how you can reduce the damage and speed the response when a vulnerability is exploited
- Understanding the EU Cyber Resilience Act (CRA) (LFEL1001)
- The CRA is set to transform how software and hardware—including open source projects—are built, maintained, and secured. Understanding these new requirements is crucial, and now is the time to prepare and stay ahead.
- Secure Software Development: Requirements, Design, and Reuse (LFD104x)
- Learn the security basics to develop software that is hardened against attacks, and understand how you can reduce the damage and speed the response when a vulnerability is exploited. This course is designed to give you an overview of security basics, including system security requirements, secure design principles and best practices, and how to securely select and reuse software for your systems.
- Security Self-Assessments for Open Source Projects (LFEL1005)
- Quickly learn to self-assess the security of your open source projects. Self-assessment skills are also key for participating in joint assessments and security audits.
- Securing Projects with OpenSSF Scorecard (LFEL1006)
- Quickly learn how to apply the OpenSSF Scorecard to your unique software development lifecycle for increased software security.
- Automating Supply Chain Security: SBOMs and Signatures (LFEL1007)
- Quickly learn to automate key aspects of software supply chain security including: evaluating dependency management solutions, creating attestations, verifying artifact integrity, signing containers and automating SBOM creation.
Recommended open source curriculum
Our recommended curriculum for developers and other energy industry stakeholders looking to participate in open source follows, broken out by role:
Everyone including development teams and business executives who touch open source should complete the following:
- A Beginner’s Guide to Open Source Software Development (LFD102)
- Inclusive Open Source Community Orientation (LFC102)
- Introduction to Open Source License Compliance Management (LFC193)
Developers should also complete:
Managers should also complete:
Everyone should bookmark the TODO Group OSPO 101 repo as a resource.
Additional resources around getting started with open source can be found in this presentation.