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.
Formal training options
For those who want to go more in depth or just have a more structured format for learning open source best practices, Linux Foundation Training & Certification 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
- Inclusive Strategies for Open Source (LFC103)
- Learn effective strategies for creating inclusive open source communities and code bases
- 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
- Fundamentals of Professional Open Source Management (LFC110)
- Get a multidisciplinary overview of best practices in open source software management
- 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
- 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
- Generating a Software Bill of Materials (LFC192)
- Learn to identify the minimum elements for a Software Bill of Materials, plus an overview of open source tooling available to support the generation and consumption of an SBOM
- 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
Recommended 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:
- Developing Secure Software (LFD121)
- Open Source Licensing Basics for Software Developers (LFC191)
- Generating a Software Bill of Materials (LFC192)
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.