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

Functions, Methods, and Interfaces in Go (Coursera) Coursera
University of California, Irvine

Functions, Methods, and Interfaces in Go (Coursera)

Continue your exploration of the Go programming language as you learn about functions, methods, and interfaces. Topics include the implementation of functions, function types, object-orientation in Go, methods, and class instantiation. As with the first course in this series, you’ll have an opportunity to create your own Go applications so you can practice what you’re learning.

Aug 31st 2026
4 Weeks
Making Data Science Work for Clinical Reporting (Coursera) Coursera
Genentech

Making Data Science Work for Clinical Reporting (Coursera)

This course is aimed to demonstrate how principles and methods from data science can be applied in clinical reporting. By the end of the course, learners will understand what requirements there are in reporting clinical trials, and how they impact on how data science is used. The learner will see how they can work efficiently and effectively while still ensuring that they meet the needed standards.

Sep 7th 2026
4 Weeks
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
HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced
Creating Apps in the Classroom (FutureLearn) FutureLearn
Queensland University of Technology

Creating Apps in the Classroom (FutureLearn)

Find out how to create your own educational apps to support learning activities in your classroom. Learn how to create apps to use in your own teaching practice. There are many educational apps available, but the majority are created by non-educators. Platforms for developing apps are becoming increasingly user-friendly, so it’s easier for teachers to create apps to support their own classroom activities.

Self Paced
2 Weeks
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
Open Source Programming - Bachelor's (Coursera) Coursera
Illinois Tech

Open Source Programming - Bachelor's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Aug 31st 2026
5-12 Weeks
Developing Applications with Cloud Run on Google Cloud: Fundamentals (Coursera) Coursera
Google Cloud

Developing Applications with Cloud Run on Google Cloud: Fundamentals (Coursera)

This course introduces the Cloud Run serverless platform for running applications. In this course, you learn about the fundamentals of Cloud Run, its resource model and the container lifecycle. You learn about service identities, how to control access to services, and how to develop and test your application locally before deploying it to Cloud Run. The course also teaches you how to integrate with other services on Google Cloud so you can build full-featured applications.

Sep 14th 2026
2 Weeks
DevOps, DataOps, MLOps (Coursera) Coursera
Duke University

DevOps, DataOps, MLOps (Coursera)

Learn how to apply Machine Learning Operations (MLOps) to solve real-world problems. The course covers end-to-end solutions with Artificial Intelligence (AI) pair programming using technologies like GitHub Copilot to build solutions for machine learning (ML) and AI applications. This course is for people working (or seeking to work) as data scientists, software engineers or developers, data analysts, or other roles that use ML.

Aug 31st 2026
5-12 Weeks
Application Development using Microservices and Serverless (Coursera) Coursera
IBM

Application Development using Microservices and Serverless (Coursera)

Are you a developer ready to explore serverless application development? This intermediate-level course is for you! Begin with an understanding of how serverless benefits developers, learn when to use serverless programming, serverless deployment models, and discover its top use cases and design patterns. You’ll also discover how serverless supports continuous integration and continuous delivery (CI/CD) and microservices integration.

Aug 31st 2026
5-12 Weeks