Training > System Administration > Introduction to Open Source Development, Git and Linux (LFD201)
Training Course

Introduction to Open Source Development, Git and Linux (LFD201)

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.

Who Is It For

This course is for developers with experience working on any operating system who want to understand the basics of open source development. Experience with the command line is not necessary, but would be helpful.
read less read more
What You’ll Learn

The course surveys how open source software works, including advantages of using it, methods of working in OSS communities, governance models and licensing choices. It delves into Linux systems, including installation, desktop environments, text editors, important commands and utilities, command shells and scripts, file systems and compiling software. It also provides a thorough introduction to Git, the source control system that arose out of the Linux kernel community, that enables widely distributed development to operate efficiently.
read less read more
What It Prepares You For

This course will prepare you to work comfortably and productively in open source development communities and Linux environments. It shows you have mastered important Linux methods and requisite tools, can use Git to create new repositories or clone existing ones, commit new changes, review revision histories, examine differences with older versions, work with different branches, merge repositories, and work with a distributed development team.
read less read more
Course Outline
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. How to Work in OSS Projects
Chapter 6. Continuous Integration
Chapter 7. OSS Licensing and Legal Issues
Chapter 8. Leadership vs Control and Why Projects Fail
Chapter 9. Respecting and Encouraging Diversity in OSS
Chapter 10. GitHub and Other Hosting Providers
Chapter 11. Linux and the Operating System
Chapter 12. Graphical Environments and Interfaces
Chapter 13. System Administration
Chapter 14. Getting Help
Chapter 15. Text Editors
Chapter 16. Shells, bash, and the Command Line
Chapter 17. Filesystem Layout, Partitions, Paths and Links
Chapter 18. System Initialization
Chapter 19. Memory
Chapter 20. Networking
Chapter 21. Command Details
Chapter 22. Users and Groups
Chapter 23. Linux Filesystems
Chapter 24. Essential Command Line Tools
Chapter 25. Bash Scripting
Chapter 26. Files and Filesystems
Chapter 27. Compiling, Linking, and Libraries
Chapter 28. Java Installation and Environment
Chapter 29. Building RPM and Debian Packages
Chapter 30. Introduction to Git
Chapter 31. Git Installation
Chapter 32. Git and Revision Control Systems
Chapter 33. Using Git: An Example
Chapter 34. Git Concepts and Architecture
Chapter 35. Managing Files and the Index
Chapter 36. Commits
Chapter 37. Branches
Chapter 38. Diffs
Chapter 39. Merges
Chapter 40. Managing Local and Remote Repositories
Chapter 41. Using Patches
Chapter 42. Advanced Git Interfaces: Gerrit

Prerequisites
To make the most of this course, you will need to have:

  • Experience as a developer on any operating system
  • Experience in working at the command line is not necessary, but would be helpful
Lab Info
Lab exercises in this course are designed to work either on native hardware, or using a virtual machine (VM), under a hypervisor, such as those in the KVM, VMWare, or Virtual Box families. Detailed instructions to set up your lab environment are provided in the course.
Reviews
Jun 2024
The course content was comprehensive and current. Although I was very familiar with the topics covered in this course, I learned several new things.
May 2024
A very comprehensive coverage of open source development on Linux.
Apr 2024
I really liked this course! It's well-structured, with a clear path from start to finish. The content is straightforward and gets progressively more challenging, which kept me engaged and motivated. Overall, it's a great choice for anyone wanting to improve their skills in open-source software development, Linux, and Git.
Mar 2024
Super comprehensiveness.
Feb 2024
The labs were very helpful.
Sep 2023
I like how it was rather terse and easily absorbed.
Jul 2023
This course covers most of what a newcomer to Linux and development needs.
Apr 2023
I like the way course content is provided and also labs that give practical experience.
Apr 2023
I've used Linux style systems off and on for decades so a lot of it served as a refresher, but it still gave a more comprehensive understanding of many aspects, as well as a brief taster of some new things.
Jan 2023
I liked the demonstration videos and exercises.
Sep 2023
I like how it was rather terse and easily absorbed.
Jul 2023
This course covers most of what a newcomer to Linux and development needs.
Apr 2023
I like the way course content is provided, and also labs that give practical experience.
Apr 2023
I've used *nix style systems off and on for decades, so a lot of it served as a refresher, but it still gave a more comprehensive understanding of many aspects, as well as a brief taster of some new things.
Jan 2023
I liked the demonstration videos and exercises.