Storia
Il progetto BeeWare è partito da una semplice domanda: Perché gli strumenti che utilizziamo che utilizziamo come sviluppatori Python non migliorano alla stessa velocità del resto della della tecnologia che usiamo quotidianamente?
Python ha dimostrato di essere un linguaggio di grande capacità, facile da usare per i per i neofiti, ma potente nelle mani degli esperti. Python sta rapidamente rapidamente una parte importante del panorama dell'analisi dei dati, del calcolo scientifico e dello sviluppo web. sviluppo web. E iniziative come Django Girls hanno dimostrato che, utilizzando Python, è possibile è possibile fornire corsi di formazione di un giorno che introducono a Python persone con nessuna esperienza di programmazione a Python; e alla fine della giornata, i partecipanti hanno sviluppato e distribuito un sito web dinamico basato su database, su un server visibile al pubblico.
Tuttavia, l'esperienza dello sviluppatore per chi scrive Python a volte riflette più i primi anni '90 che il nuovo millennio. L'ambiente di sviluppo ambiente di sviluppo per Python è ancora una finestra di console 80x25. Per gli per gli utenti che provengono da un ambiente Windows o Apple, dove sono abituati a di Windows o di Apple, dove sono abituati a interfacce grafiche molto dettagliate e ben progettate, questo anni può essere un'esperienza completamente estranea.
E sì, esistono IDE (ambienti di sviluppo integrato) che forniscono un'esperienza applicativa nativa per la scrittura del codice. Ma questi strumenti richiedono l'adozione totale del modo in cui l'IDE guarda il progetto. progetto. Spesso introducono tanti grattacapi al processo di sviluppo quanti ne risolvono. processo di sviluppo quanti ne risolvono.
E così, ci troviamo di fronte a un interessante scisma tra il "vecchio modo" di sviluppare Unix in una finestra di console e il "nuovo modo" di sviluppare tutto in uno. Unix in una finestra di console e il "nuovo modo" degli IDE all-in-one. IDE.
La filosofia Unix
Tuttavia, non è necessario che sia così. Il principio fondamentale della filosofia Unix è che "ogni strumento fa una sola cosa, bene". Si tratta di una filosofia molto filosofia molto potente e permette di comporre catene di strumenti estremamente potenti mettendo insieme una suite di strumenti estremamente focalizzati e indipendenti, strumenti indipendenti ed estremamente mirati.
Sfortunatamente, la maggior parte degli strumenti UNIX ha trasformato questo concetto in "tutti gli strumenti devono devono usare un'interfaccia console". Tuttavia, non c'è nulla nella filosofia filosofia UNIX che dice che gli strumenti devono usare un'interfaccia di console. è solo che è andata così.
Il progetto BeeWare è iniziato con la premessa che possiamo avere il meglio dei due mondi. due mondi. Possiamo avere una catena di strumenti componibili che fanno ciascuno una cosa, bene. Ma questi strumenti possono anche esporre le loro funzionalità utilizzando un'interfaccia grafica ricca interfaccia grafica.
Più che un semplice codice
Ma non si tratta solo di codice. Un progetto software di successo richiede documentazione, capacità di progettazione, feedback e segnalazioni di bug. La comunità comunità di BeeWare riconosce che tutti i contributi sono importanti, non solo quelli non solo quelli che arrivano come richiesta di pull su GitHub.
Anche in questo caso, è facile pensare a un progetto nel vuoto, come la somma di tutti i contributi. tutti i contributi. Ma non è mai così. Un progetto open source è comunità.
Diversità e inclusione
Una comunità diversificata è una comunità forte. Questo significa accettare persone di ogni livello di esperienza, di ogni provenienza, di ogni razza, credo, orientamento ed espressione, orientamenti ed espressioni. Il progetto BeeWare si impegna a sviluppare e mantenere una comunità inclusiva, diversificata e accogliente.
A sostegno di ciò, abbiamo un'offerta aperta di tutoraggio per chiunque voglia essere come collaboratore, e un Codice di condotta] (/community/comportamento/codice di condotta/) che è rigorosamente di condotta che è rigorosamente applicato. Qualsiasi segnalazione di violazione di tale codice di condotta, anche da parte di membri anziani della comunità, sarà trattata con rispetto e in modo appropriato.
Sano e sostenibile
È anche importante assicurarsi che la comunità sia accessibile e sostenibile. sostenibile. Purtroppo è diventata una parte accettata della cultura dell'Open Source che i "veri" progetti Open Source debbano essere sviluppati interamente da volontari. da volontari. Questo costituisce una barriera all'ingresso per molti gruppi: le le uniche persone in grado di dedicare il proprio tempo libero al volontariato sono quelle che hanno tempo libero.
Inoltre, spesso porta al burnout e ad altri problemi di salute mentale tra i collaboratori. Il fatto che la depressione, l'ansia e il burnout siano comuni nelle comunità di sviluppatori di software non dovrebbe essere considerato un distintivo d'onore o una dimostrazione dell'impegno di un team di sviluppo. di sviluppo. È un problema che deve essere affrontato di petto, e affrontato come si affronta un bug del software: con soluzioni immediate e piani a lungo termine. con soluzioni immediate e piani a lungo termine per eliminare la causa sistemica del problema. problema.
Se da un lato attribuiamo un valore incredibile al contributo dei volontari, dall'altro sappiamo anche che sappiamo anche che l'impegno dei volontari da solo non è la via per sviluppare una comunità comunità sana e sostenibile. Per questo motivo, la sostenibilità sostenibilità finanziaria è una considerazione fondamentale per il funzionamento del progetto BeeWare. progetto BeeWare. Come comunità, non ignoriamo il ruolo che il denaro deve giocare nel fornire le risorse che permettono alle persone di iniziare e continuare a contribuire. Come comunità, forniremo dei meccanismi accettati per di monetizzare il proprio lavoro in modo significativo e, laddove possibile, compensare le persone per il loro lavoro. possibile, compensare le persone per il loro lavoro, senza compromettere gli ideali dello sviluppo ideali dello sviluppo Open Source.