Piani di finanziamento per Babel
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Uno dei maggiori punti di forza del software open source è la sua apertura e gratuità, che permette a chiunque di contribuire. Questo però porta anche a una delle sue maggiori sfide: garantire una manutenzione costante e sostenibile.
Babel non è un'azienda. Come menzionato nel post sulla versione 7.0.0, il team di Babel (composto interamente da volontari, tranne Henry) ha fatto del suo meglio per gestire il progetto e soddisfare le aspettative della comunità. Siamo contenti di aver continuato a rilasciare nuove versioni, ma persino tenere il passo con i problemi segnalati è difficile da gestire, figurarsi le integrazioni con altri strumenti, le nuove proposte e l'impatto sull'ecosistema più ampio.
A marzo 2018, Henry ha lasciato il suo lavoro per iniziare a lavorare al reperimento di maggiori fondi per Babel. Dopo molto lavoro e grazie al supporto della comunità, il team è riuscito a finanziare Henry come maintainer a tempo pieno.
Questo è stato un grande successo per il team, ma ci siamo resi conto che non basta.
Nuove sfide
Babel ha fatto molta strada dalle sue origini come "6to5", crescendo oltre la semplice adozione e implementazione delle funzionalità del linguaggio JavaScript. È diventato una parte fondamentale del suo sviluppo:
-
La popolarità di Babel è aumentata esponenzialmente, passando da 3 milioni di download a settimana nel marzo 2018 a 16 milioni di download a settimana oggi.
-
Babel è ora coinvolto nel processo di standardizzazione TC39 come membro partecipante a riunioni e discussioni. "Esiste già un plugin Babel?" è una domanda comune per le nuove proposte.
-
Babel è diventato così radicato come infrastruttura sottostante che la maggior parte degli sviluppatori interagisce con esso indirettamente, attraverso CLI come
create-react-app, bundler come Parcel, framework come Next.js e molte librerie npm.
L'adozione diffusa porta con sé nuove sfide e il team ha dovuto affrontare problemi legati alla manutenzione e alla sostenibilità. Il progetto è cresciuto oltre le risorse disponibili per il team e vorremmo condividere il nostro piano per risolvere questo problema.
Piani di finanziamento
Crediamo che Babel trarrebbe enorme beneficio dall'avere più di una persona finanziata per lavorare al progetto e vogliamo garantire fondi per tre membri aggiuntivi del team: Nicolò, Jùnliàng e Kai come maintainer part-time.
Stabiliremo un obiettivo di finanziamento aggiuntivo di $12.000 al mese attraverso Open Collective. Si tratta di $4.000 al mese a persona, che è il target che abbiamo definito per uno stipendio part-time.
Come team abbiamo discusso diversi approcci – creare una tariffa oraria per i contributori, stanziare fondi per specifiche funzionalità, bug bounty per problemi specifici – e alla fine abbiamo deciso che un reddito stabile porterebbe a un lavoro di maggiore qualità (senza pressioni per accelerare lo sviluppo), la possibilità di dedicare tempo alla pianificazione di una roadmap in modo più olistico, poter prendere pause e ferie, e non doversi preoccupare della provenienza della prossima busta paga.
Detto questo, continueremo a valutare e saremo aperti/trasparenti nel fare eventuali modifiche necessarie.
Desideriamo ringraziare calorosamente i nostri sponsor su Open Collective: Handshake, Airbnb, AMP, Facebook, trivago, Salesforce, Frontend Masters, RunKit, Webflow, Adobe, Coinbase, BitMEX, e tutti gli altri che hanno donato!

Un aspetto che vogliamo evidenziare: Attualmente le Collettive mostrano solo l'importo totale annuale donato, modello che funziona meglio per donazioni una tantum. Riteniamo che mostrare l'importo ricorrente mensile descriva più accuratamente la salute finanziaria del nostro progetto. Il team spera di contribuire alla risoluzione di questo problema.
Come potete aiutare
Potete contribuire finanziariamente a Babel sul nostro Open Collective!
Il nostro team utilizza Open Collective per finanziare i membri del team. Sia aziende che privati possono donare al team, con contributi una tantum o ricorrenti.
Per qualsiasi domanda o dubbio sui contributi finanziari a Babel, siamo disponibili a discuterne via email.
Se la vostra azienda si trova in una delle città dove risiedono i membri del core team, ci farebbe piacere incontrarvi di persona!
-
Henry risiede a New York e sarà nella Bay Area dal 4 al 15 novembre.
-
Nicolò risiede in Italia e sarà a Mosca dal 6 al 10 novembre.
-
Brian risiede a Houston, Texas.
-
Jùnliàng risiede in Ontario.
-
Kai risiede nell'area di New York City.
Il team apprezzerebbe sapere come utilizzate Babel o come vorreste contribuire.
I nostri obiettivi
Pubblicheremo post più approfonditi su questi temi, ma ecco le aree principali su cui intendiamo concentrarci:
-
Stabilità: Include il confronto con i test ufficiali test262. Questo supporto ci dà maggiore consapevolezza della conformità alle specifiche, aggiungendo smoke test con Babel stesso e le nostre principali dipendenze, oltre ai test interni. L'affidabilità è cruciale data la nostra posizione nell'ecosistema.
-
Debuggabilità: Vogliamo implementare avvisi/errori migliori sulla configurazione e spiegare gli output per aiutare gli utenti nelle decisioni sulla dimensione del codice. Data la complessità di uno strumento pluggabile che traccia specifiche in evoluzione, vogliamo rendere il nostro utilizzo più accessibile.
-
Supporto generale all'ecosistema: Include l'aiuto alle librerie per pubblicare codice ES2015+ e agli sviluppatori per indirizzare nuovi browser, distribuendo meno codice (codice proprio, node_modules, polyfill) quando possibile, mantenendo l'accessibilità per tutti gli utenti browser.
-
Codemods: Vorremmo porre maggiore enfasi sulla trasformazione del codice nella direzione opposta (nota come 5to6, Lebab), un concetto potente su cui possiamo sensibilizzare la comunità. Ciò faciliterebbe la transizione tra modifiche alle proposte (o in caso di abbandono/stallo) tramite uno strumento di aggiornamento.
E a lungo termine:
-
Proposal Advancement: Il nostro obiettivo è creare un ciclo di feedback per i proponenti delle specifiche, ottenendo validazione tramite casi d'uso reali nella comunità JavaScript. Ciò potrà avvenire solo con l'adozione dei plugin, tempo sufficiente per testarne le implicazioni e un flusso strutturato per dialogare con il comitato TC39. Vorremmo diventare una risorsa per aiutare i membri della comunità a comprendere il processo TC39 e contribuire allo sviluppo di JavaScript dalle fondamente. Ciò richiede la creazione tempestiva e la manutenzione di plugin che tracciano le proposte, sforzo particolarmente significativo per le proposte in fase iniziale che richiedono aggiornamenti continui.
-
Education: Correlata a ciò è l'aspirazione di aiutare più sviluppatori a comprendere gli strumenti utilizzati. Molti strumenti e framework nell'ecosistema JavaScript operano su concetti simili (come gli AST). Uniformare le conoscenze permette a più persone di contribuire, risolvere problemi e proporre nuove idee. Lo sviluppo linguistico ha un'alta barriera d'ingresso che il nostro progetto può aiutare ad abbassare.
Come hanno aiutato finora aziende e privati
Sappiamo che come maintainer dobbiamo promuovere il nostro progetto e l'open source in generale. I nostri sforzi finora hanno incluso:
-
Thinkmill ha finanziato 3 mesi di lavoro part-time su Babel per Sebastian (creatore di Babel) durante il suo impiego. Seguirono 3 mesi di lavoro part-time presso Cloudflare e quasi 12 mesi full-time presso Facebook, comprendenti l'intera release di Babel 6.
-
Adobe ha finanziato il 50% del lavoro di Henry su Babel durante il suo impiego.
-
Abbiamo supportato aziende durante hackathon interni sull'open source, tra cui Condé Nast e Bloomberg, e tenuto workshop su open source e sviluppo Babel in aziende come Netflix.
-
Presentazioni in aziende come Spotify/Facebook, meetup locali, bootcamp, università come Berkeley e partecipazione a eventi Hacktoberfest.
Il supporto al progetto non si limita ai contributi finanziari. Diverse aziende hanno permesso ai dipendenti di implementare funzionalità specifiche durante l'orario lavorativo:
-
I tecnici di Bloomberg hanno implementato il supporto per funzionalità delle classi (come i campi privati) e stanno lavorando ai test automatici delle trasformazioni di Babel usando la suite ufficiale ECMAScript (Test262).
-
Trivago, sponsor di supporto base, ha implementato la proposta di applicazione parziale.
-
RunKit ha collaborato con Nicolò come contractor per implementare segnaposto sintattici in
@babel/template.
Il supporto rappresenta infine un'opportunità per confrontarsi con i maintainer, fornire feedback pratici al progetto e costruire relazioni a lungo termine.
Riceviamo tantissime idee preziose dalle nostre relazioni con i maintainer. È quasi una soluzione alternativa per assumere i migliori talenti al mondo, anche se solo per un periodo limitato. Open Collective dà a un'azienda come la nostra accesso a un bacino di talenti diversificato che sarebbe impossibile costruire internamente. - Guillermo Rauch
Vuoi contribuire? Scopri di più nella sezione Come puoi aiutare.
Conclusione
In un mondo ideale, Babel non sarebbe nemmeno necessario. Tuttavia, nella pratica ci sarà sempre uno scarto tra lo stato delle proposte future di JavaScript, il momento in cui i vendor possono implementarle (dopo lo Stage 3), i browser supportati da un sito web specifico e le versioni di Node.js compatibili con una determinata libreria. È proprio in questa finestra mobile di funzionalità che uno strumento come Babel può fornire un valore significativo.
Nonostante siamo entusiasti del futuro di Babel, il team fatica da tempo a tenere il passo con le attuali esigenze del progetto. Raggiungere i nostri obiettivi di finanziamento ci permetterà non solo di soddisfare meglio le necessità attuali, ma anche di spingere il progetto verso il futuro.
Speriamo ti unirai a noi nel sostenere questa community, sia attraverso lo sponsorship del core team che partecipando attivamente al progetto.
Grazie e speriamo di rivederti, sia di persona che su GitHub!