Experienced computer users and developers with limited/no experience working in a Linux environment, or who have worked before on Linux systems and want to know how to use Git.
Open Source Software Development, Linux and Git Specialization
Learn How To Develop Open Source Software. Get the skills and knowledge you need to develop open source software using Linux, git, and more!
Offered By

About this Specialization
Applied Learning Project
In all The Linux Foundation courses (in any format) we put a heavy emphasis on learning by doing, and aim for a 50/50 balance between lecture and working on lab exercises. Courses 2, 3 and 4 include numerous lab exercises that give you the opportunity to work in a Linux environment, using the methods and tools presented in lectures.
Experienced computer users and developers with limited/no experience working in a Linux environment, or who have worked before on Linux systems and want to know how to use Git.
There are 4 Courses in this Specialization
Open Source Software Development Methods
In this course, we will define what open source software is, we will go over the history of open source software and what benefits it has provided to the world’s technology infrastructure over the decades. The course aims to teach you how to work in open source projects productively and gain a lot of benefits from it, and really understand what the advantages are. You will learn about collaboration best practices, and how to encourage diversity in open source projects. We will discuss the different licensing models that are available, as this will help you decide what the best license is for your project. We will talk about methods that are commonly used, such as Continuous Integration, and use of GitHub and other hosting providers as a central meeting place for open source projects, and we will provide some examples of successful open source projects.
Linux for Developers
In course 1 we talked about open source software and the motivation and methods of using it. In course 2, we will introduce you to Linux systems, and help you feel comfortable working at the command line:
Linux Tools for Developers
Course 3 is a continuation of the previous course, and will focus on teaching you how to work with tools you need to do your everyday work. The course begins by introducing you to numerous essential command line tools that are used daily. Then, it focuses on bash scripting - you will learn how to construct scripts and how to do very complicated tasks in an automated way. The course looks at files and filesystems and focuses on compiling programs in Linux, using gcc and other compilers, and using libraries of different types. It also takes a look at how Java works in Linux, and explains why there is no reason to worry about having easy-to-use Java programs in Linux. Course 3 ends by covering building packages out of software in Linux.
Using Git for Distributed Development
Course 4 focuses on using git for open source software distributed development. Git is a revision control system which arose out of the Linux kernel development community. Git was designed to help developers spread across the globe working on complicated projects coordinate their work in a rational way and keep track of everything they were doing. Overtime, Git has grown to be used by millions of projects today. This course gives you the opportunity to learn how to use git efficiently and make contributions in a relatively short amount of time. It will cover:
Offered by

The Linux Foundation
The Linux Foundation supports the creation of sustainable open source ecosystems by providing financial and intellectual resources, infrastructure, services, events, and training. Working together, The Linux Foundation and its projects form the most ambitious and successful investment in the creation of shared technology.
Frequently Asked Questions
What is the refund policy?
Can I just enroll in a single course?
Is financial aid available?
Can I take the course for free?
Is this course really 100% online? Do I need to attend any classes in person?
Will I earn university credit for completing the Specialization?
How long does it take to complete the Specialization?
What background knowledge is necessary?
Do I need to take the courses in a specific order?
What will I be able to do upon completing the Specialization?
How can I earn my digital badge?
More questions? Visit the Learner Help Center.