dgt_oss01 – Contribuire all’Open Source

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:

  1. Introduzione all’open source:
  2. Comprendere i principi e la filosofia dell’open source.
  3. Esplorare la storia e l’evoluzione delle community open source.
  4. Discutere i benefici e le sfide legati ai contributi open source.

  5. Il ruolo dei contributor nei progetti open source:

  6. Identificare i diversi tipi di contributor: sviluppatori, tester, autori di documentazione, ecc.
  7. Imparare a collaborare efficacemente all’interno di una community open source.
  8. Esaminare casi di studio di progetti di successo trainati dai contributi della community.

  9. Il progetto GNU/Linux:

  10. Esplorare la storia e l’importanza del sistema operativo GNU/Linux.
  11. Comprendere l’architettura e i componenti delle distribuzioni Linux.
  12. Analizzare scenari reali in cui i contributor hanno influenzato in modo significativo l’ecosistema GNU/Linux.

  13. Contribuire a Kubernetes:

  14. Capire cos’è Kubernetes e il suo ruolo nel cloud computing moderno.
  15. Conoscere la governance del progetto Kubernetes, le sue linee guida di contribuzione e la struttura della community.
  16. 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.

  17. Strumenti e pratiche per contributi efficaci:

  18. 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.
  19. Conoscere gli strumenti di collaborazione essenziali per il lavoro open source (GitHub, mailing list, ecc.) e come farli usare alla macchina per vostro conto.
  20. 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.

  21. Etica e partecipazione alla community open source:

  22. Affrontare le considerazioni etiche nei contributi open source, inclusa la trasparenza sul lavoro svolto con l’aiuto della macchina.
  23. Sottolineare l’importanza della diversità, dell’inclusione e di una comunicazione rispettosa all’interno delle community.
  24. 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