With over 2000 developers from 80 different companies worldwide, OpenStack is one of the largest collaborative software-development projects. Because of its size, it is characterized by a huge diversity in social norms and technical conventions. Attending a live class to get an insight of how the community operates and to learn about the insights and best practices can significantly increase the speed at which newcomers are successful at integrating their own roadmap into that of the OpenStack project.
We’ve designed a training program to provide an interactive environment to newcomers where they can learn they ways of collaborating with our community. We are relying on the principles of open collaboration and describe and show how the ‘Four Opens’ work in OpenStack in practice.
The training has a modular structre by which it gives room to attendees with different job roles.
For example if you are a project or program manager it is very important for you to understand how the OpenStack releases are structured in order to be able to plan the roadmap for the product you are responsible for. You might also be interested in participating in Working Groups to actively participate in and influence the community in you areas of interest. The training helps you to find the information entry points you need.
If you are a developer we help you to find your way into the community to get your bug fix or feature accepted in the OpenStack project in a minimum amount of time.
The live one and a half day class teaches the students how to navigate the intricacies of the project’s technical tools and social interactions and shows how they can collaborate with the community and find their place in the ecosystem.
After the training students have the possibility to sign up for a longer term mentoring to further stregthen the skills they’ve learnt during the training.
Comprendi il workflow di collaborazioni di OpenStack e norme sociali
Amministratori di sistema
Essere in grado di leggere e scrivere l’inglese ad un livello tecnico
se contribuendo codice, essere abbastanza competente a livello tecnico da poter eseguire semplici risoluzioni di bug nel progetto
Se contribuendo documentazione, essere in grado di produrre documenti nell’infrastruttura scelta dal progetto
We are providing a virtual machine with the necessary tools pre-installed in it. For further information about the system requirements on it please see the ref: prepare-environment section.
Giorno 1: Come è fatto OpenStack
Giorno 1: Impara e metti in pratica Git, Gerrit, IRC
Giorno 2: La teoria della collaborazione
Giorno del rilascio <https://wiki.openstack.org/wiki/Release_Cycle#Release_day>`_
Esercizio: basandoti sulla pianificazione del rilascio di Kilo <https://wiki.openstack.org/wiki/Kilo_Release_Schedule>`_ trova l’URL di un documento o un patch che appartiene a ciascuno dei passaggi sopra elencati.
Attori rilevanti
commiter individuali (parte inferiore del sito)
La tua gestione
Esercizio: leggi archived e commenta brevemente su documento keystone
Esercizio: ciascun APC/ ATC presente aggiunga un URL all’etherpad provandolo
Definizione di Core <https://git.openstack.org/cgit/openstack/defcore/plain/doc/source/process/CoreDefinition.rst>`_
Esercizio: A che tipo di progetto contribuisci?
Esercizio: Aggiungi una proposta di sessione riguardante la tua contribuzione in un etherpad, fai la revisione di due proposte
#info
- Aggiungi una voce di info ai minuti. Le persone dovrebbero usare questo liberamente per le cose important che dicono, in modo che possano essere registrati nei minuti.
#action
- Documenta una voce di azione nei minuti. Includi qualsiasi nickname nella riga, e la voce gli verrà assegnata a loro (nicknames sono case-sensitive)
#help
- Add a “Call for Help” to the minutes. Use this command when
you need to recruit someone to do a task. (Counter-intuitively, this
doesn’t provide help on the bot)Esercizio: riunione online sul menu del pranzo
Ubuntu o Fedora
git clone https://git.openstack.org/openstack-dev/devstack
` Configurazione minima <http://docs.openstack.org/developer/devstack/configuration.html#minimal-configuration>`_
cd devstack; ./stack.sh
Esercizio: ottieni il codice per la collaborazione mirata
Guide formative <https://wiki.openstack.org/wiki/Training-guides#How_To>`_
Esercizio: Fai domanda per la qualifica di membro individuale e firma la CLA
Esercizio: Fai la revisione di altri bug di launchpad e migliora i tuoi
Come contribuire
Flusso di lavoro di sviluppo <http://docs.openstack.org/infra/manual/developers.html#development-workflow>`_
Dipendenze di cross-repository <http://docs.openstack.org/infra/manual/developers.html#cross-repository-dependencies>`_
Modello di ramificazione
Esercizio: fai il checkout dell’ultima branca stabile
Buona pratica di git commit <https://wiki.openstack.org/wiki/GitCommitMessages>`_
Documentazione di Gerrit: Revisione di codice Gerrit - Un’intruduzione veloce
Documentazione di Gerrit: Fare la revisione della modifica
Esercizio: fate la revisione dei vostri messaggi sulla bozza
Esercizi: Aggiungi un errore e fallo corrispondere al messaggio di Jenkins
Panoramica del processo di contribuzione
Prendere la mano al progetto
Capisci chi c’è dietro
Determina i gruppi sociali del progetto
Valuta il tuo approccio
Impegnati subito
Gioca con il tuo network
Esegui il compito più piccolo
Scegli una domanda
Acquisisci familiarità con il codice di condotta
Comprendi le convenzioni
Spiega cosa fai
Prepara la backport
Impara cosa è locale e cosa è upstream
Impara cosa distingue un buon flusso di lavoro da un cattivo flusso di lavoro
Quantificare il delta
Accelera l’accettazione
Determina il lasso di tempo
Massimizza il karma
Lavora in parallelo
Archivia e raccogli
Indice completo soltanto in formato slide <http://docs.openstack.org/upstream-training/slide-index.html>`_
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.