Contribuire a Gutenberg: un'esperienza di un nuovo collaboratore
Pubblicato: 2018-10-13
Quello che segue è un guest post di Chris Van Patten che condivide la sua esperienza di apprendimento e contributo a Gutenberg. Si è parlato molto della maggiore barriera di Gutenberg all'ingresso di nuovi contributori. Van Patten è il fondatore di Tomodomo, un'agenzia digitale per editori di riviste.
Negli ultimi mesi, ma soprattutto nelle ultime settimane, c'è stata un'ampia conversazione sulle barriere all'ingresso presenti nel contribuire al prossimo editor di Gutenberg per WordPress.
Naturalmente, le esperienze di ognuno sono soggettive e uniche. Non posso fingere di capire cosa hanno provato tutti. Ma la mia esperienza è stata diversa da quella che alcune persone hanno articolato e volevo condividere la mia opinione.
I primi giorni
Ho usato WordPress per quasi metà della mia vita; ormai quasi 15 anni. Ricordo alcune delle prime versioni di WordPress: il tema classico, l'avvento di Kubrick, MP6, fino ai giorni nostri.

Come molti nella comunità, sono completamente autodidatta. Non ho esperienza in informatica e non ho istruzioni formali alle mie spalle. Ho raccolto il codice per tentativi ed errori, modificando i file e interrompendo il mio sito perché volevo apportare modifiche.
Da quei primi giorni, WordPress è sempre stato il mio CMS preferito sia per i progetti personali che per i clienti con la mia agenzia Tomodomo. Ma anche se mi ero impegnato con la piattaforma WordPress, i miei contributi erano limitati.
Le regole, i rituali e l'etichetta sulla pubblicazione su Trac sembravano arcani e illeggibili. Ad oggi, non potrei creare una patch SVN se la mia vita dipendesse da questo. E gran parte del codice di base, intriso di anni di storia e compatibilità con le versioni precedenti, è stato difficile per me separarlo.
Quindi, invece, ho contribuito in altri modi: open source semplici plug-in personalizzati che stavo costruendo, organizzando WordCamp e meetup e parlando ai WordCamp in tutto il mondo. Ma mi ha sempre infastidito non riuscire a trovare un modo per ottenere quegli sfuggenti "oggetti di scena".
(Ok, quindi ho effettivamente ricevuto oggetti di scena in una versione, ma sono convinto che sia stato un errore; non avevo né aperto il ticket né fornito una patch.)
Andando... Andando... Gutenberg
Quando ho appreso per la prima volta di Gutenberg e ho iniziato a esplorare, ero preoccupato. All'inizio sembrava spaventoso. Le mie abilità JavaScript non si estendevano oltre jQuery. React è stato imperscrutabile e sembrava che avessi bisogno di un dottorato per capire alcune delle idee alla base. Ancora non capisco come Webpack faccia la sua magia. Qualcuno, davvero?
Ma le possibilità della nuova interfaccia a blocchi erano troppo allettanti per essere ignorate, quindi ho iniziato a immergermi e capire come funzionava. In quei giorni felici (ovvero all'inizio di quest'anno), Gutenberg era ancora piuttosto approssimativo e c'erano molte opportunità di miglioramento. Ho iniziato a nascondermi nel repository GitHub, a leggere problemi, esaminare il codice e in generale cercare di capire cosa diavolo stesse succedendo.
Mentre stavo giocando con Gutenberg per un progetto client, ho iniziato a segnalare problemi: cose semplici, come i bug dell'interfaccia utente. Ho iniziato a commentare i biglietti, di solito offrendo suggerimenti per una caratteristica particolare, cercando di sostenere dal punto di vista degli sviluppatori indipendenti.
Ho anche presentato la mia prima richiesta pull! Era semplice. Ho aggiornato il README per includere il giorno e l'ora della riunione settimanale del #core-editor (mercoledì alle 13:00 UTC, se te lo stai chiedendo). È stato un inizio infausto, ma ero entusiasta di averlo unito.

Nel tempo, la mia conoscenza è cresciuta. Sono stati come i miei primi giorni nello sviluppo web, imparando una proprietà CSS qui e un elemento HTML lì. Ho imparato cos'era un componente e come puoi riutilizzarlo in diverse situazioni. Ho imparato a conoscere JSX, ES6 e alcuni degli altri pazzi acronimi che incontri in Gutenland.
Mentre costruivo di più con Gutenberg, stavo anche trovando nuovi modi per costruire Gutenberg stesso . Sono stato in grado di capire di più delle discussioni e di offrire i miei pensieri e suggerimenti. Ho iniziato ad aprire richieste pull, occupandomi principalmente di problemi di progettazione ma risolvendo anche piccoli bug e stranezze. Ho deciso di partecipare all'incontro settimanale che avevo precedentemente aggiunto al README, intervenendo quando ho sentito di avere più prospettive da condividere.
Oggi ho 25 nuovi numeri e 27 richieste pull alle mie spalle, oltre a dozzine di commenti sui biglietti esistenti. Sono un "membro" del team Gutenberg su GitHub e cerco di trovare il tempo ogni giorno per valutare nuovi bug o rivedere le richieste pull. Mi ci è voluto gran parte dell'anno per arrivare a quel punto e di certo non è stato sempre facile. Ho ancora tanto da imparare.
Quando sento parlare di quanto sia difficile contribuire a Gutenberg, non riesco a conciliarlo con la mia esperienza. Questo non vuol dire che sia un gioco da ragazzi: Gutenberg fa le cose in modo molto diverso rispetto al core di WordPress e c'è senza dubbio una curva di apprendimento.
Consigli per contribuire a Gutenberg
Se non ti senti a tuo agio nel programmare fin dal primo giorno, ci sono tanti altri modi per contribuire. Leggi i problemi e aggiungi le tue idee e suggerimenti. Prova a testare e replicare le segnalazioni di bug. Sfoglia la documentazione in linea per errori di battitura e correzioni grammaticali. Tutti questi sono preziosi e sempre apprezzati.
Man mano che assorbi il modo di Guten attraverso l'osmosi, scoprirai che il codice non è così difficile come pensi, è solo diverso. Le persone intelligenti che costruiscono Gutenberg hanno fatto un ottimo lavoro nel nascondere i bit dell'"informatica" in modo che il resto di noi non debba preoccuparsi del binding dei dati e di altre idee complesse. Non riesco ancora a spiegare la gestione dello stato, gli archivi dati o le API di contesto, ma sono riuscito a trovare piccole aree del codice da migliorare.
Questo non vuole negare la frustrazione o la confusione di nessuno con Gutenberg e il suo sviluppo. La documentazione è ancora carente in molti luoghi. Alcune delle API non sono intuitive. L'attrezzatura non è la più semplice da configurare. Questi sono problemi reali, e non voglio fingere che non esistano; possiamo senza dubbio fare di più per rendere più facile lo sviluppo di Gutenberg.
E ovviamente ho il privilegio di controllare: sono fortunato ad avere il tempo da dedicare al repository GitHub, a sperimentare il codice e a partecipare a riunioni settimanali. Riconosco che non è una realtà per molte persone.
Se non riesci a trovare il tempo, l'editor classico continuerà a essere un'opzione e non c'è da vergognarsi a prolungare l'aggiornamento. Potrebbe volerci del tempo prima che l'esperienza di Gutenberg sia intuitiva come tutti vorremmo che fosse, e aspettarlo è del tutto ragionevole.
Ma se ti apri ad alcune nuove idee su cosa può essere WordPress e puoi guadagnare tempo, potresti rimanere sorpreso di quanto sia facile contribuire. Se rimani perplesso, entra in #core-editor o nei forum. Non aver paura di pubblicare una segnalazione di bug o un suggerimento; potremmo consolidarlo con un altro problema se fosse stato segnalato in precedenza, ma le informazioni aggiuntive sono comunque preziose. Ogni esperienza conta.
Sono incredibilmente entusiasta del futuro di WordPress con Gutenberg e di essere finalmente un vero collaboratore di WordPress. Abbiamo ancora molta strada da fare, ma ciò significa che ci sono ancora molti modi entusiasmanti per fare la differenza. Il progetto si rafforzerà solo con l'intervento di voci della comunità più indipendenti.
Spero che ti unirai a noi!
