Il processo di rilascio di WordPress: un lavoro collettivo senza sosta
Il processo di rilascio di una nuova versione di WordPress è un esempio straordinario di collaborazione globale, che unisce volontari, aziende, e professionisti del settore tecnologico. Francesca Marano, nel nostro podcast “WordPress all’italiana” ha condiviso una panoramica dettagliata di come funziona questa macchina organizzativa, spiegando i ruoli, le dinamiche e le sfide che la caratterizzano.
Chi è Francesca Marano?
Francesca si definisce una torinese DOC, e il suo accento lo conferma subito. Il suo rapporto con WordPress inizia circa 15 anni fa, quando, lavorando di notte mentre suo figlio dormiva, creava siti web per piccole attività. Oggi è direttrice dell’engineering presso XWP, un’agenzia che sviluppa soluzioni WordPress per il settore enterprise. Nonostante il titolo, Francesca non scrive più codice: si dedica invece alla formazione e alla crescita professionale degli sviluppatori.
La sua storia con WordPress è iniziata per caso, quando ha creato un mammi blog su WordPress.com per condividere foto e lavori a maglia con amici e parenti. Nel 2010, è passata a WordPress.org, spinta dalla curiosità delle sue amiche, che le chiedevano consigli su come creare un blog. Francesca aveva studiato programmazione in passato, e con WordPress ha trovato un modo per combinare le sue conoscenze tecniche con la passione per il design.
Dopo aver creato diversi siti per conoscenti, ha scoperto il progetto open source WordPress. Grazie all’incontro con Luca Sartoni, che le ha spiegato le possibilità di contribuire alla community senza dover scrivere codice, Francesca ha iniziato traducendo WordPress in italiano e organizzando meetup nella sua città.
Il primo Meetup e l’inizio della community
Nel 2015, Francesca ha contribuito a fondare il meetup WordPress di Torino insieme a Cristiano Zanca, Maurizio Pellizzone e Ivan Rachieri. Il primo evento è stato un successo, con oltre 60 partecipanti, e da allora il meetup è diventato un appuntamento fisso. Francesca ricorda con affetto quegli inizi, sottolineando l’importanza di lavorare in team e il supporto della documentazione ufficiale di WordPress.
L’organizzazione di WordCamp e il ruolo nella community globale
Nel 2016, Francesca ha fatto parte dell’organizzazione di WordCamp Europe, uno degli eventi più grandi della community WordPress. Questo le ha permesso di entrare nel team internazionale di supporto alle community, aiutando gruppi locali di tutto il mondo a organizzare eventi e meetup. Prima della pandemia, c’erano oltre 800 meetup WordPress attivi, con più di mezzo milione di partecipanti.
Francesca ha anche lavorato con Josepha Haden Chomphosy, executive director di WordPress.org, e nel 2019 è stata coinvolta come co-lead nelle release 5.3 e 5.4 di WordPress, gestendo il processo di rilascio con un team globale.
WordPress: Un ciclo continuo di sviluppo
WordPress non si ferma mai: lo sviluppo del software è un processo continuo. Anche mentre una versione è in fase di rilascio, il lavoro per la successiva è già iniziato. Il cuore di questo sistema è Trac, una piattaforma online dove vengono gestiti i ticket per:
- Segnalare bug.
- Proporre nuove funzionalità.
- Monitorare le modifiche al codice.
Trac è il punto di riferimento per chiunque voglia contribuire, permettendo di tracciare ogni modifica e discussione. Attualmente ci sono migliaia di ticket aperti, alcuni dei quali risalgono a più di 15 anni. La priorità di un ticket può variare in base all’urgenza, alla complessità e al livello di interesse dei contributor.
Il calendario delle release
WordPress segue un modello di rilascio a cadenza temporale, piuttosto che basato sulla disponibilità di funzionalità. Questo significa che le nuove versioni vengono rilasciate secondo una tempistica predefinita (di solito 3 all’anno), includendo solo ciò che è pronto entro la data stabilita.
Questa scelta ha vantaggi e svantaggi:
- Pro: Garantisce una cadenza regolare, offrendo agli utenti e alle aziende un’idea chiara di quando aspettarsi aggiornamenti.
- Contro: Funzionalità non complete o problematiche vengono posticipate, il che può rallentarne l’introduzione.
Una delle sfide principali è il coordinamento con altre tecnologie correlate, come PHP. Ad esempio, PHP rilascia nuove versioni alla fine di novembre, costringendo WordPress a decidere se rilasciare prima o dopo per garantire compatibilità.
Fasi del processo di rilascio
- Fase Alpha
Durante questa fase iniziale, il focus è sull’aggiunta di nuove funzionalità e sullo sviluppo di miglioramenti al codice. È il momento più dinamico, in cui i contributor propongono patch (modifiche al codice) e discutono su Trac le priorità per la release. - Bug Freeze
Introduzione suggerita proprio da Francesca, questa fase prevede un periodo di circa due settimane in cui non vengono aggiunte nuove funzionalità. Tutto il team si concentra sulla risoluzione dei bug già identificati, minimizzando il rischio di introdurre nuovi problemi. - Fase Beta
La beta è la versione preliminare destinata al testing. Durante questa fase, le nuove funzionalità vengono testate da volontari e aziende per identificare eventuali problemi. Solo i bug trovati in questa fase vengono risolti, mentre altre problematiche meno urgenti vengono rimandate. - Release Candidate (RC)
La release candidate è una versione quasi definitiva, teoricamente pronta per la produzione. Tuttavia, è ancora soggetta a ulteriori verifiche e affinamenti. Possono esserci più RC in base alla complessità delle problematiche riscontrate durante il testing. - Rilascio
La versione finale viene distribuita al pubblico. Nonostante l’accuratezza dei test, eventuali bug residui possono emergere con l’uso su larga scala e vengono gestiti nelle versioni di manutenzione successive.
Ruoli all’interno del team di rilascio
Ogni release è coordinata da un team con ruoli specifici, indispensabili per il successo dell’operazione:
- Release Lead:
La figura di riferimento per il rilascio. Da WordPress 5.0 in poi, Matt Mullenweg, co-fondatore del progetto, ha sempre ricoperto questo ruolo. - Release Coordinator:
Gestisce l’organizzazione generale e il coordinamento tra i vari team. - Tech Lead:
Supervisiona gli aspetti tecnici, assicurandosi che le nuove funzionalità siano compatibili con WordPress e rispettino gli standard di qualità. - Triage Lead:
Lavora su Trac per analizzare i ticket, identificare quelli prioritari e monitorarne lo stato. - Documentation Lead:
Cura la documentazione ufficiale della release, assicurandosi che ogni funzionalità sia spiegata in modo chiaro e accessibile. - Marketing Lead:
Si occupa della comunicazione, annunciando la release al pubblico e promuovendone le novità.
A seconda delle caratteristiche della release, possono essere aggiunti altri ruoli, come editor lead (per Gutenberg), design lead, e accessibility lead.
Chiunque può contribuire a WordPress, anche con una piccola modifica. Basta un account su WordPress.org per proporre una patch o partecipare alle discussioni. Una volta approvata, la patch viene integrata dai core committer, esperti con accesso diretto al codice sorgente.
Diventare un core committer è un processo lungo e rigoroso: richiede anni di esperienza, contributi costanti e una comprovata capacità di comunicare e collaborare.
Il processo di rilascio di WordPress è un’impresa globale che richiede competenza, pazienza e dedizione. Nonostante le difficoltà, è un sistema che funziona grazie alla passione della community e alla capacità di evolversi costantemente, mantenendo WordPress il CMS più utilizzato al mondo.
ASCOLTA L’EPISODIO COMPLETO DEL PODCAST QUI: https://open.spotify.com/episode/4RZb1ojpHymBR7OJmpuvTq?si=c0079bea68fb4d40