# GitHub

GitHub è un servizio di hosting per progetti software, di proprietà della società GitHub Inc., con sede legale a San Francisco in California.
Il nome deriva dal fatto che "GitHub" è una implementazione dello strumento di controllo versione distribuito Git. Tra i molti soggetti che offrono servizi a livello internazionale che usano GitHub, le principali sono Google, Apple, Microsoft, NASA, Facebook, Twitter, Node.js, Ruby on Rails, JetBrains, JQuery, e GitHub stesso.

## Storia

GitHub Inc. venne fondata nel 2008 con il nome di Logical Awesome. Il sito era realizzato utilizzando Ruby on Rails ed Erlang dagli sviluppatori Chris Wanstrath PJ Hyett e Tom Preston-Werner. Il 24 febbraio 2009 fu annunciata l'attivazione di 46.000 repository pubblici di cui 17.000 solo nei 30 giorni precedenti. Il 5 luglio raggiunsero i 100.000 utenti. Il 27 luglio 2009 i repository pubblici diventarono 135.000, l'anno dopo aumentarono a 1 milione per poi arrivare a 2 milioni nell'aprile 2011. Nel luglio 2012 la compagnia ha ricevuto 100 milioni di dollari da Andreessen Horowitz per avviare la stessa.
Il 16 gennaio 2013 GitHub ha annunciato di avere 3 milioni di utenti e più di 5 milioni di repository. Il 4 giugno 2018 Microsoft ha annunciato di aver acquisito la società per 7,5 miliardi di dollari in azioni. L'acquisizione ha sollevato diverse polemiche. Temendo una strategia abbraccia, estendi ed estingui, nell'ora successiva all'annuncio, 13 000 progetti avevano già migrato a GitLab, un sito analogo a GitHub ma il cui server è disponibile in licenza libera. A fine giornata i progetti migrati a GitLab sono stati 50 000. In ogni caso, prima dell'acquisizione GitHub aveva comunicato di avere circa 80 milioni di progetti.

## Descrizione

Il sito è principalmente utilizzato da sviluppatori che caricano il codice sorgente di programmi e lo rendono scaricabile e migliorabile da altre persone. Questi ultimi possono interagire con gli sviluppatori tramite un sistema per inviare segnalazione di bug o funzionalità (issue tracker), un sistema per copiare il software in una versione modificabile (fork), un sistema per proporre modifiche agli sviluppatori originali (pull request) e un sistema di discussione legato al codice del repository. GitHub fornisce anche dei report sui contributori più attivi o sul codice.
GitHub include altri servizi, come Gist, strumenti per repository legati ad un singolo file. Viene incluso anche un hosting per pagine web statiche, che possono essere modificate sempre tramite un repository git.
I repository di GitHub sono accessibili tramite HTTPS o SSH. Ci sono diverse applicazioni e client multipiattaforma, di cui diversi sono indipendenti e software libero. Il server di GitHub è invece software proprietario.

## Applicazioni

Vi sono interfacce grafiche multipiattaforma per utilizzare GitHub. L'applicazione ufficiale per Android è distribuita anche su F-Droid, insieme ad altre varianti.

## Progetti sviluppati

* Atom, un editor di testo e codice sorgente gratuito e open source
* Electron, un framework open source per utilizzare siti Web basati su JavaScript come applicazioni desktop

## Utenti di spicco

Alcune importanti organizzazioni e progetti open source utilizzano GitHub come luogo principale per la collaborazione, tra cui:
* Apertium (migrato da SourceForge)
* The Apache Software Foundation (migrazione completata a febbraio 2019)
* Bootstrap (framework front-end)
* Express.js
* Google
* Microsoft
** ASP.NET Core
** .NET Core
** TypeScript
** Visual Studio Code
** Windows Calculator
** Windows Console
** Windows Terminal
* MySQL
* National Security Agency
* Node.js
* npm
* Swift (di Apple)
* uBlock Origin
* U.S. Immigration and Customs Enforcement