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
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. Getting Help
Chapter 14. Text Editors
Chapter 15. Shells, bash, and the Command Line
Chapter 16. Filesystem Layout, Partitions, Paths and Links
Chapter 17. System Initialization
Chapter 18. Memory
Chapter 19. Networking
Chapter 20. Command Details
Chapter 21. System Administration
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

Learning Path
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
  • 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.