Module Title: dgt_oss01 – Contributions in Open Source
Module Description:
The module “dgt_oss01 – Contributions in Open Source” covers how open source software is developed through community contributions and how to take part in that process, with particular attention to two projects: GNU/Linux and Kubernetes.
The practical side follows the Academy’s natural-language approach: you will not clone repositories, write patches or run Git commands by hand. You will explain to the machine which issue you want to tackle and how, let it prepare the branch, the change and the commit message, and then review the diff as a maintainer would, checking it against the project’s contribution guidelines before anything is submitted.
Module Overview:
- Introduction to Open Source:
- Understand the principles and philosophy behind open source.
- Explore the history and evolution of open source communities.
-
Discuss the benefits and challenges associated with open source contributions.
-
The Role of Contributors in Open Source Projects:
- Identify the different types of contributors: coders, testers, documenters, etc.
- Learn how to collaborate effectively within an open source community.
-
Examine case studies of successful projects driven by community contributions.
-
The GNU/Linux Project:
- Explore the history and significance of the GNU/Linux operating system.
- Understand the architecture and components of Linux distributions.
-
Analyze real-world scenarios where contributors have significantly influenced the GNU/Linux ecosystem.
-
Contributing to Kubernetes:
- Gain insight into what Kubernetes is and its role in modern cloud computing.
- Learn about the Kubernetes project’s governance, contribution guidelines, and community structure.
-
Work on practical exercises in which you direct the machine, in natural language, to prepare code, documentation or test contributions to Kubernetes projects, and you verify them before they are proposed.
-
Tools and Practices for Effective Contributions:
- Understand how version control systems like Git work, so you can tell the machine exactly what to do with branches, commits and rebases and recognize when it gets it wrong.
- Learn the collaboration tools essential for open source work (GitHub, mailing lists, etc.) and how to have the machine use them on your behalf.
-
Discuss best practices for coding standards, issue tracking, and maintaining project quality, and use them as a checklist when reviewing the machine’s output.
-
Ethics and Community Engagement in Open Source:
- Address ethical considerations in open source contributions, including transparency about machine-assisted work.
- Emphasize the importance of diversity, inclusion, and respectful communication within communities.
- Explore ways to foster a supportive and collaborative environment.
Target Audience:
This module is intended for developers, IT professionals, students and others interested in contributing to open source projects. It is suitable both for people new to open source and for those who want to study specific projects such as GNU/Linux and Kubernetes in more depth.
Learning Outcomes:
By the end of this module, participants will:
– Have a solid understanding of the core principles of open source.
– Be able to contribute effectively to major open source projects such as GNU/Linux and Kubernetes, guiding the machine in natural language and taking responsibility for every change it prepares.
– Develop essential skills in collaboration, communication, and project management within open source communities.
– Gain hands-on experience in reviewing and verifying contributions, which improves both their efficiency and their quality.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
