This course introduces developers to the key concepts in developing open source software. It 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).
This course is addressed to software developers seeking to understand the ‘rules of the road’ of creating open source software, either as a newbie or as someone with experience primarily in creating proprietary code.
What you’ll learn:
- Familiarize yourself with the key concepts involved in developing Open Source Software (OSS)
- Understand how OSS evolved into today’s domination position
- Explain the benefits of using OSS as compared with using Proprietary products
- Familiarize yourself with open source projects that form the foundations of today’s word-wide technology infrastructure
- Work with projects that can help you get a solid footing in OSS methods and communities, such as the TODO Group and OpenChain Project.
- Behave properly while engaging in OSS projects, to develop the best code and build on the strengths of other contributors.
- Understand OSS licensing issues, such as types (restrictive vs permissive) and explain how to choose the right one.
- Make use of projects such as FOSSology and SPDX to foster compliance.
- Know best practices for long term sustainability of projects, including how to respect and encourage diversity.
- Know about GitHub and other hosting providers and advanced interfaces, such as Gerrit.
- Chapter 1. Course Introduction
- Chapter 2. Open Source Software (OSS)
- Chapter 3. Why Use Open Source Software?
- Chapter 4. Examples of Successful OSS Projects
- Chapter 5. Developing an OSS Strategy
- Chapter 6. The TODO Group
- Chapter 7. The OpenChain Project
- Chapter 8. How to Work in OSS Projects
- Chapter 9. Continuous Integration
- Chapter 10. OSS Licensing and Legal Issues
- Chapter 11. Compliance Projects: FOSSology, SPDX, CHAOSS
- Chapter 12. Leadership vs Control and Why Projects Fail
- Chapter 13. Respecting and Encouraging Diversity in OSS
- Chapter 14. GitHub and Other Hosting Providers
- Chapter 15. Advanced Git Interfaces: Gerrit
Effort: 1-2 hours per week