Titolo del modulo: dgt_oss01 – Contribuire all’Open Source
Descrizione del modulo:
Il modulo “dgt_oss01 – Contribuire all’Open Source” tratta il modo in cui il software open source si sviluppa attraverso i contributi della community e come partecipare a questo processo, con particolare attenzione a due progetti: GNU/Linux e Kubernetes.
La parte pratica segue l’approccio in linguaggio naturale dell’Academy: non clonerete repository, non scriverete patch e non eseguirete comandi Git a mano. Spiegherete alla macchina quale issue volete affrontare e come, le lascerete preparare il branch, la modifica e il messaggio di commit, e poi revisionerete il diff come farebbe un maintainer, confrontandolo con le linee guida di contribuzione del progetto prima che venga inviato qualsiasi cosa.
Panoramica del modulo:
- Introduzione all’open source:
- Comprendere i principi e la filosofia dell’open source.
- Esplorare la storia e l’evoluzione delle community open source.
-
Discutere i benefici e le sfide legati ai contributi open source.
-
Il ruolo dei contributor nei progetti open source:
- Identificare i diversi tipi di contributor: sviluppatori, tester, autori di documentazione, ecc.
- Imparare a collaborare efficacemente all’interno di una community open source.
-
Esaminare casi di studio di progetti di successo trainati dai contributi della community.
-
Il progetto GNU/Linux:
- Esplorare la storia e l’importanza del sistema operativo GNU/Linux.
- Comprendere l’architettura e i componenti delle distribuzioni Linux.
-
Analizzare scenari reali in cui i contributor hanno influenzato in modo significativo l’ecosistema GNU/Linux.
-
Contribuire a Kubernetes:
- Capire cos’è Kubernetes e il suo ruolo nel cloud computing moderno.
- Conoscere la governance del progetto Kubernetes, le sue linee guida di contribuzione e la struttura della community.
-
Svolgere esercitazioni pratiche in cui guidate la macchina, in linguaggio naturale, a preparare contributi di codice, documentazione o test per i progetti Kubernetes, e li verificate prima che vengano proposti.
-
Strumenti e pratiche per contributi efficaci:
- Capire come funzionano i sistemi di controllo di versione come Git, per poter dire alla macchina esattamente cosa fare con branch, commit e rebase e riconoscere quando sbaglia.
- Conoscere gli strumenti di collaborazione essenziali per il lavoro open source (GitHub, mailing list, ecc.) e come farli usare alla macchina per vostro conto.
-
Discutere le best practice su standard di codice, tracciamento delle issue e mantenimento della qualità del progetto, e usarle come checklist nella revisione dell’output della macchina.
-
Etica e partecipazione alla community open source:
- Affrontare le considerazioni etiche nei contributi open source, inclusa la trasparenza sul lavoro svolto con l’aiuto della macchina.
- Sottolineare l’importanza della diversità, dell’inclusione e di una comunicazione rispettosa all’interno delle community.
- Esplorare modi per favorire un ambiente collaborativo e di supporto.
Destinatari:
Questo modulo è rivolto a sviluppatori, professionisti IT, studenti e altri interessati a contribuire ai progetti open source. È adatto sia a chi è nuovo all’open source sia a chi vuole approfondire progetti specifici come GNU/Linux e Kubernetes.
Risultati di apprendimento:
Al termine di questo modulo, i partecipanti:
– Avranno una solida comprensione dei principi fondamentali dell’open source.
– Sapranno contribuire efficacemente a grandi progetti open source come GNU/Linux e Kubernetes, guidando la macchina in linguaggio naturale e assumendosi la responsabilità di ogni modifica che prepara.
– Svilupperanno competenze essenziali di collaborazione, comunicazione e gestione dei progetti all’interno delle community open source.
– Acquisiranno esperienza pratica nella revisione e nella verifica dei contributi, migliorandone sia l’efficienza sia la qualità.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
