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

Python Project for AI & Application Development (Coursera) Coursera
IBM

Python Project for AI & Application Development (Coursera)

This mini-course is intended to apply foundational Python skills by implementing different techniques to develop applications and AI powered solutions. Assume the role of a developer and unit test and package an application with the help of multiple hands-on labs. After completing this course you will have acquired the confidence to begin developing AI enabled applications using Python, build and run unit tests, and package the application for distribution.

Jun 1st 2026
1 Week
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 8th 2026
4 Weeks
Introduction to Linux (Linux Foundation) The Linux Foundation
Linux Foundation

Introduction to Linux (Linux Foundation)

Never learned Linux? Want a refresh? Take this course to learn the basics of this popular open source operating system. Develop a good working knowledge of Linux using both the graphical interface and command line, covering the major Linux distribution families. Linux powers 94% of the world’s supercomputers, most of the servers powering the Internet, the majority of financial trades worldwide and a billion Android devices. In short, Linux is everywhere. It appears in many different architectures, from mainframes to server to desktop to mobile and on a staggeringly wide variety of hardware.

Self Paced
Self-Paced
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
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.

Jun 8th 2026
5-12 Weeks
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 8th 2026
4 Weeks
Cloud Applications (Coursera) Coursera
Georgia Institute of Technology

Cloud Applications (Coursera)

This course provides an introduction to the development and support for Cloud-native applications, more specifically it delves into best practices of developing applications; migrating on premise applications to the cloud; the basic building blocks and properties expected from Cloud applications. The course also provide highlights of some novel cloud applications, including geo-distributed computations.

Jun 1st 2026
5-12 Weeks
CI/CD for Software Developers (Coursera) Coursera
Codio

CI/CD for Software Developers (Coursera)

This course is designed as an intermediate introduction to CI/CD. You will learn about the basics of automating processes and version control. This course uses GitHub, and you will need to have an account with them. Information is provided how to do this. Learners also use CI/CD to build, test, and check the quality of their code. The course ends with deployment, secrets, and a capstone.

Jun 8th 2026
3 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 8th 2026
5-12 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 1st 2026
5-12 Weeks