Alla conferenza virtuale Satellite 2020 GitHub ha annunciato quattro nuovi prodotti destinata alla community degli sviluppatori software, dai professionisti ai team, dai progetti open source alle applicazioni enterprise.
La prima novità, disponibile ora in public beta limitata, è Codespaces. Se il nome risuona un po’ familiare, è probabilmente perché Visual Studio Codespaces è anche il nome che Microsoft ha dato di recente a Visual Studio Online.
Considerando che GitHub è ora di proprietà di Microsoft, non è una coincidenza.
Cos’è dunque GitHub Codespaces? È un ambiente di sviluppo completo, cloud-hosted, disponibile direttamente all’interno di GitHub, che consente agli sviluppatori di iniziare a contribuire a un progetto in modo immediato.
Codespaces può essere configurato per caricare codice e dipendenze, strumenti per sviluppatori, estensioni e dotfile. Inoltre, rende semplice passare da un ambiente all’altro.
Alimentato anch’esso dalla tecnologia Visual Studio, Codespaces in GitHub include una versione basata su browser dell’editor Visual Studio Code, con supporto per completamento e navigazione del codice, estensioni, accesso al terminale e altro. Se si preferisce utilizzare l’Ide desktop, sarà possibile avviare un codespace in GitHub e connettersi ad esso dal desktop.
Il pricing per Codespaces, spiega l’azienda, non è ancora stato finalizzato. La funzionalità di editing del codice in GitHub sarà sempre gratuita, ma se si utilizzano gli ambienti cloud di Codespaces, l’azienda prevede di offrire un pricing semplice, sul modello pay-as-you-go. Codespaces sarà comunque gratuito durante la beta limitata.
La seconda novità riguarda la collaborazione. Le community software, infatti, non si limitano semplicemente a scrivere codice insieme: fanno brainstorming delle idee sulle funzionalità, aiutano i nuovi utenti a orientarsi e collaborano sui modi migliori per utilizzare il software.
Fino ad ora, GitHub offriva solo pull request e issue, per portare avanti conversazioni, ma queste funzioni hanno entrambe un formato lineare, adatto per il merging del codice ma non per creare una knowledge base della community. Questa funzione sarà ora svolta dal nuovo GitHub Discussions.
Discussions vive nel repository del progetto, quindi è accessibile dove la community è già al lavoro insieme. Il formato in thread semplifica l’inizio, la risposta e l’organizzazione di conversazioni non strutturate. Le domande possono essere contrassegnate come “Answered”, quindi nel tempo la base di conoscenza di una community può crescere in modo naturale. E poiché le discussioni non sono chiuse come gli issue, possono facilmente servire come spazio per conservare le FAQ e altra documentazione collaborativa.
Discussions è in beta con alcune community open source (ed è disponibile un forum anche proprio per Satellite 2020, dove è possibile esplorarne le funzionalità) e presto sarà disponibile per altri progetti.
Sempre in beta, sono disponibili due nuove funzioni relative alla sicurezza. la prima è il Code scanning, ora disponibile come esperienza nativa di GitHub: utilizza il motore di analisi semantica CodeQL (sviluppato da Semmle, acquisita lo scorso anno da GitHub) per trovare vulnerabilità. La funzione di scansione del codice diventerà gratuita per l’open source.
La funzionalità di secret scanning (prima nota come token scanning), ha inoltre annunciato GitHub, è ora disponibile per i repository privati. Entrambe le funzioni di sicurezza sono disponibili come parte di GitHub Advanced Security.
Infine, l’annuncio di una novità data come “coming soon”, GitHub Private Instances, una nuova opzione completamente gestita per i clienti enterprise. Private Instances fornisce funzionalità avanzate di sicurezza, compliance e policy, tra cui cifratura bring-your-own-key, archiviazione di backup e conformità ai requisiti regionali di sovranità dei dati.