Introduction to Open Source Development, Git and Linux

Learn how to develop open source software. This course focuses on open source software, an introduction to Linux systems and the use of Git, the revision control system.


Book your LFD201 course here


Course Overview

Open source software has become the dominant model for how the world’s technology infrastructure operates, from the smallest microprocessor to the largest supercomputers. Use of Open Source Software leads to better and faster development. Widespread collaboration puts more eyeballs on your code and has transformed the way people and corporations think and how things get done today.


Course Details

  • Delivery Method: online self-paced
  • Duration: 60 hours of Course Material
  • Hands-on labs & Assignments
  • Video content
  • 12 months of Access to Online Course
  • Discussion Forums
  • Experience level: Beginner


Course Outline

  • Chapter 1. Course Introduction
  • Chapter 2. Open Source Software (OSS)
  • Chapter 3. Why Use Open Source Software?
  • Chapter 4. How to Work in OSS Projects
  • Chapter 5. Continuous Integration
  • Chapter 6. OSS Licensing and Legal Issues
  • Chapter 7. Linux and the Operating System
  • Chapter 8. Graphical Environments and Interfaces
  • Chapter 9. Getting Help
  • Chapter 10. Text Editors
  • Chapter 11. Shells, bash, and the Command Line
  • Chapter 12. Filesystem Layout, Partitions, Paths and Links
  • Chapter 13 - System Components
  • Chapter 14. System Administration
  • Chapter 15. Essential Command Line Tools
  • Chapter 16. Command and Tool Details
  • Chapter 17. Users and Groups
  • Chapter 18. Bash Scripting
  • Chapter 19. Files and Filesystems
  • Chapter 20. Linux Filesystems
  • Chapter 21. Compiling, Linking, and Libraries
  • Chapter 22. Java Installation and Environment
  • Chapter 23. Building RPM and Debian Packages
  • Chapter 24. Introduction to Git
  • Chapter 25. Git Installation
  • Chapter 26. Git and Revision Control Systems
  • Chapter 27. Using Git: An Example
  • Chapter 28. Git Concepts and Architecture
  • Chapter 29. Managing Files and the Index
  • Chapter 30. Commits
  • Chapter 31. Branches
  • Chapter 32. Diffs
  • Chapter 33. Merges
  • Chapter 34. Managing Local and Remote Repositories
  • Chapter 35. Using Patches



  • Experience as a developer on any operating system
  • Experience in working at the command line is not necessary, but would be helpful
  • A Linux system is necessary, either a physical or a virtual machine, and any modern distribution will work. Please note that installation instructions are provided in the course material, if needed.