Learn how to develop open source software. Gain the skills and knowledge needed to develop open source software using Linux, Git, and more!
Suggested by: Coursera (What is Coursera?)
No prior knowledge required
No unnecessary risks
In this course, we will understand what open source software is, go over its history, and learn about the benefits it has brought to the world’s technology infrastructure over the years. The goal of the course is to teach you how to work on open source projects productively and enjoy the many benefits they offer. You will learn about best practices for collaboration and how to encourage diversity in open source projects. We will discuss the different licensing models available, as this will help you decide what licensing is best for your project. We will talk about common practices, such as continuous integration, and use GitHub and other hosting providers as a meeting point for open source projects. We will provide examples of successful open source projects.
In Course 1, we talked about open source software and the motivation and methods for using it. In Course 2, we will introduce you to Linux systems, and help you feel comfortable working at the command line:
You will learn what it means to work on a Linux system, and gain a good understanding of the important skills you will need on a daily basis when working with Linux systems.
Course 3 is a continuation of the previous course, and its focus will be on teaching you how to work with the tools you need in your daily work. The course starts by introducing you to a number of essential command line tools that you use every day. Then, the course focuses on bash scripting – you will learn how to build scripts and how to perform complex tasks automatically. The course deals with files and file systems, we will focus on compiling programs on Linux, using gcc and other compilers, and we will work with different types of libraries. We will also discuss how Java works on Linux, and we will understand why there is no reason to worry about Java programs being easy to use on Linux. The course will end by covering building software packages on Linux.
Course 4 focuses on using Git for open source software development in a distributed architecture. Git is a version control system that grew out of the Linux kernel development community. Git is designed to help developers around the world collaborate on complex projects to coordinate their work in an organized manner and keep track of everything they do. Over time, Git has become popular and is used by millions of projects today. This course gives you the opportunity to learn how to use Git effectively and make contributions in a relatively short period of time. It will cover:
The course will help you acquire the skills to understand how to use Git. You will learn about Git workflows, identify problems in your workflows, and find solutions to these problems.



