Training > Open Source Best Practice > A Beginner’s Guide to Open Source Software Development (LFD102)
Training Course

A Beginner’s Guide to Open Source Software Development (LFD102)

This free 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).

Who Is It For

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.
read less read more
What You’ll Learn

This course will teach you the key concepts involved in developing open source software (OSS), the benefits of using OSS as compared with using proprietary products, which open source projects form the foundations of today’s worldwide technology infrastructure, how to behave properly while engaging in OSS projects, OSS licensing issues, how to make use of projects such as FOSSology and SPDX to foster compliance, best practices for long term sustainability of projects, including how to respect and encourage diversity, and the importance of GitHub and other hosting providers and advanced interfaces, such as Gerrit.
read less read more
What It Prepares You For

The course will prepare you to leverage open source software in development activities in a sustainable, compliant manner.
read less read more
Course Outline
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

Lab Info
Lab exercises in this course are designed to work either on native hardware, or using a virtual machine (VM), under a hypervisor, such as those in the KVM, VMWare, or Virtual Box families. Detailed instructions to set up your lab environment are provided in the course.
Dec 2020
Accessible overview of starting out in the OSS community. The bits about remembering to be inclusive were nice to have in there.
Sep 2020
Historical information brings someone with limited understanding of the past (myself), to a level where I'd feel comfortable discussing how OSS and FOSS work.
Aug 2020
Covers some very specific and interesting aspects of OSS. Most of the developers know about OSS, but these points are not well known generally.
Aug 2020
Good layout of things to note when incorporating open source code in a more structured manner, for proper compliance and quality.
Aug 2020
The course as a whole was informative, to the point, and delivered information at a good pace, which made it enjoyable to learn.
Aug 2020
The pace of the course is excellent for beginners trying to contribute to open source projects, and acquiring license information.
Jul 2020
It helped me to better understand the whole ecosystem of projects, and the various terms that are used. Prior to this course, I had assumed that the word "maintainer" was the same as "contributor", but have since learned that they have different roles, and the importance of each.
Jul 2020
This course was amazing, mainly because the material is very up to date.
Jul 2020
Fresh, and fulfilled my knowledge of OSS, especially the license part that covers FOSSology, SPDX and CHAOSS.
May 2020
The course is well-structured, and provides good understanding of the various aspects of Open Source Software Development.