A Beginner's Guide to Open Source Software Development (Linux Foundation)

Offered by Linux Foundation,
A Beginner's Guide to Open Source Software Development (Linux Foundation)

Learn the key concepts in developing open source software. 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.

Course Syllabus:

  • 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
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

The Data Scientist's Toolbox (Coursera) Coursera
Johns Hopkins University

The Data Scientist's Toolbox (Coursera)

In this course you will get an introduction to the main tools and ideas in the data scientist's toolbox. The course gives an overview of the data, questions, and tools that data analysts and data scientists work with. There are two components to this course. The first is a conceptual introduction to the ideas behind turning data into actionable knowledge. The second is a practical introduction to the tools that will be used in the program like version control, markdown, git, GitHub, R, and RStudio.

Jun 29th 2026
4 Weeks
Getting Started With Application Development en Français (Coursera) Coursera
Google Cloud

Getting Started With Application Development en Français (Coursera)

Dans ce cours, les développeurs d'applications apprennent à concevoir et développer des applications cloud natives qui intègrent parfaitement les services gérés de Google Cloud. Ils découvrent également comment appliquer les bonnes pratiques associées et comment utiliser les services de stockage Google Cloud appropriés pour le stockage d'objets, les données relationnelles, la mise en cache et l'analyse.

Jun 29th 2026
1 Week
Open Source Licensing Basics for Software Developers (Linux Foundations) The Linux Foundation
Linux Foundation

Open Source Licensing Basics for Software Developers (Linux Foundations)

Because open source is now found everywhere software exists, a good working knowledge of open source licensing and compliance is critical. This course is designed to teach software developers and producers why it is important to add copyrights and licenses to their code, as well as how to do so.

Self Paced
Self-Paced
A Beginner's Guide to Linux Kernel Development (Linux Foundation) The Linux Foundation
Linux Foundation

A Beginner's Guide to Linux Kernel Development (Linux Foundation)

Learn the key concepts in developing open source software. This free course introduces developers to the Linux kernel development process and teaches the explicit and implicit “rules of the road”. It covers configuring a development system, git basics, writing kernel patches, testing patches, writing commit logs, sending patches, and working on feedback from the kernel community.

Self Paced
Self-Paced
Getting Started with Go (Coursera) Coursera
University of California, Irvine

Getting Started with Go (Coursera)

Learn the basics of Go, an open source programming language originally developed by a team at Google and enhanced by many contributors from the open source community. This course is designed for individuals with previous programming experience using such languages as C, Python, or Java, and covers the fundamental elements of Go.

Jun 22nd 2026
4 Weeks
Advanced Reproducibility in Cancer Informatics (Coursera) Coursera
Johns Hopkins University

Advanced Reproducibility in Cancer Informatics (Coursera)

This course introduces tools that help enhance reproducibility and replicability in the context of cancer informatics. It uses hands-on exercises to demonstrate in practical terms how to get acquainted with these tools but is by no means meant to be a comprehensive dive into these tools. The course introduces tools and their concepts such as git and GitHub, code review, Docker, and GitHub actions.

Jun 22nd 2026
5-12 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Jun 22nd 2026
5-12 Weeks
Fundamentos de Android (Coursera) Coursera
Universidad Nacional Autónoma de México

Fundamentos de Android (Coursera)

Por medio de ejercicios prácticos, serás capaz de manipular las herramientas que Android te ofrece para desarrollar aplicaciones móviles. En este curso, instalarás el entorno de desarrollo Android Studio y manipularás sus más sofisticadas particularidades. Por ejemplo, la composición de archivos de un proyecto Android y los patrones más comunes para el desarrollo de tus aplicaciones.

Jun 22nd 2026
5-12 Weeks
Capstone (React App) (Coursera) Coursera
Meta

Capstone (React App) (Coursera)

This course enables you to demonstrate multiple skills from this program by solving an authentic real-world problem. Each module includes a brief recap of, and links to, content that you have covered in previous courses in this program. The course Capstone project will test your knowledge and understanding in mobile development using React Native.

Jun 29th 2026
3 Weeks
Developing Android Apps with App Inventor (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Developing Android Apps with App Inventor (Coursera)

The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience. MIT App Inventor will be used in the course. It is a blocks-based programming tool that allows everyone, even novices, to start programming and build fully functional apps for Android devices. Students are encouraged to use their own Android devices for hands-on testing and exploitation.

Jun 29th 2026
5-12 Weeks
Continuous Integration (Coursera) Coursera
University of California, Davis

Continuous Integration (Coursera)

In today's world, software development is highly complex and often has large teams of developers working on small pieces of a larger software project. This course will go over the basic principles of using a continuous integration system effectively to constantly improve software. We're going to describe the different stations of continuous test, build, integration and deploy processes required for DevOps practices and apply best practices for quality software management, and tooling to accomplish iterative software build & test processes.

Jun 29th 2026
4 Weeks