[go: up one dir, main page]

GitHub

webbasierter Hosting-Dienst für Software-Entwicklungsprojekte

GitHub ist ein Onlinedienst zur Softwareentwicklung und Versionsverwaltung für Softwareprojekte auf Git-Basis. Das Unternehmen GitHub, Inc. hat seinen Sitz in San Francisco in den USA. Seit dem 26. Dezember 2018 gehört das Unternehmen zu Microsoft.

GitHub
Build software better, together.
kollaborative Versionsverwaltung
Sprachen Englisch
Sitz San Francisco, Kalifornien, Vereinigte Staaten
Betreiber Microsoft (seit 2018)
Redaktion Tom Preston-Werner
Chris Wanstrath
P. J. Hyett
Benutzer 83 Millionen (August 2022)[1]
Registrierung Optional
Online April 2008[2]
(aktualisiert 9. Aug. 2022)
https://github.com/

Geschichte

Bearbeiten

GitHub wurde von Chris Wanstrath, P. J. Hyett, Scott Chacon und Tom Preston-Werner[3] mittels des Webframeworks Ruby on Rails und der Programmiersprache Erlang entwickelt und im Februar 2008 gestartet. Das Unternehmen GitHub, Inc. besteht seit 2007 und hat seinen Sitz in San Francisco.[4] Im Juli 2012 erhielt GitHub eine Investition von 100 Millionen US-Dollar vom Risikokapitalgeber Andreessen Horowitz,[5] drei Jahre später in einer weiteren Finanzierungsrunde 250 Millionen US-Dollar von Sequoia Capital, Andreessen Horowitz, Thrive Capital und anderen Venture-Capital-Fonds.[6]

Im Oktober 2018 wurde die Übernahme von GitHub durch Microsoft für 7,5 Milliarden Dollar[7] von der EU-Kommission ohne Auflagen genehmigt[8] und im Dezember 2018 abgeschlossen.[9] Viele Software-Entwickler sahen diesen Kauf sehr kritisch und befürchteten eine nachteilige Entwicklung.[10] Microsoft zufolge soll GitHub eine unabhängige Plattform bleiben.[11]

GitHub übernahm 2018 Spectrum[12] und 2019 Dependabot,[13] Pull Panda[14] und Semmle.[15]

CEO von GitHub ist der gebürtige Berliner Thomas Dohmke, der am 15. November 2021 die Leitung des Unternehmens von Nat Friedman übernahm.[16][17]

Alle öffentlichen auf der Plattform vorhandenen Code-Repositories mit Stand zum 2. Februar 2020 werden als Teil des Arctic World Archive (AWA)[18] in einer früheren Kohlemine auf Spitzbergen archiviert. Dafür wurden etwa 21 Terabyte Daten mit mehr als 100 Millionen Repositories auf 188 Mikrofilmrollen gespeichert. Das Archiv wird als Arctic Code Vault bezeichnet.[19] Archiviert werden kollektive Arbeiten von fast vier Millionen Entwicklern für rund 1000 Jahre. Der Tresor enthält auch eine für Menschen lesbare Auswahl von Werken, die Software, Computer und ihre Technologien beschreiben, mit Volltextkopien von Wikipedia, Stack Overflow und anderen Datenquellen. Zweck der Archivierung ist es, Open-Source-Software – ein Eckpfeiler der Zivilisation – für künftige Generationen zu bewahren.[20]

Eigenschaften

Bearbeiten

Im Gegensatz zu anderen Dienstleistern zur Verwaltung quelloffener Software (englisch „open source hoster“) wie SourceForge steht auf GitHub nicht das Projekt als Sammlung von Quellcode im Zentrum, sondern der Nutzer mit seinen Quelltext-Datenbanken, den sogenannten Repositories (also Verzeichnissen, die mit Git verwaltet werden). Auch die Anlage (englisch „branch“) und Zusammenführung (englisch „merge“) von Abspaltungen (englisch „forks“) wird besonders propagiert. Die Forks machen das Mitentwickeln bei fremden Projekten besonders einfach: Um dort einen Beitrag beizusteuern, wird das Repository zunächst abgespalten, dann werden Änderungen der Abspaltungskopie hinzugefügt, und dann dem Besitzer des Originals eine Anfrage gestellt, die Änderungen zu übernehmen (englisch „pull request“). Da alle Schritte auch über die Weboberfläche möglich sind, ist die Bedienung von GitHub im Vergleich zu anderen Entwicklerplattformen auch für Anfänger einfach. Damit wird unter Berücksichtigung der Besonderheiten verteilter Versionskontrollsysteme ein soziales Netzwerk geschaffen, was sich auch in den aus „echten“ sozialen Netzwerken bekannten Funktionen „Beobachten“ oder „Folgen“ zeigt.

Sowohl das Erstellen öffentlich einsehbarer als auch privater — also nichtöffentlicher Repositories — ist nach einer gratis Registrierung möglich.[21] Außerdem bietet GitHub größeren Unternehmen mit GitHub Enterprise an, eine eigene, abgetrennte GitHub-Installation zu liefern, um die Vorteile des sozialen Programmierens auch bei der unternehmensinternen Softwareentwicklung zu nutzen.[22]

Nachdem das Design von GitHub über Jahre unverändert geblieben war, wurde im Juni 2013 eine neue Oberfläche vorgestellt. In dieser tritt der Quelltext der dort bereitgestellten Software stärker in den Vordergrund.[23] Eine wesentliche Neuerung war eine visualisierte Statistik, welche die verwendeten Programmiersprachen und ihren Anteil am gesamten Projekt darstellt.

Seit März 2020 ist GitHub auch als Smartphone-App für iOS und Android erhältlich.[24]

GitHub Actions

Bearbeiten

GitHub Actions ist eine in GitHub eingebaute Unterstützung für Continuous Integration. Mit einfachen Skripten ist es möglich, das Projekt bei bestimmten Aktionen (z. B. bei neuen Pull Requests) automatisch zu bauen und, falls vorhanden, z. B. Unit Tests ausführen zu lassen. Für einfache Projekte sind damit keine eigenen Build-Server mehr erforderlich. Das Bereitstellen solcher Server war zuvor für Open-Source-Projekte wegen der Kosten und des benötigten Wartungsaufwands kaum möglich. Naturgemäß können Entwickler auf den Buildservern beliebigen Code ausführen, was in sich ein signifikantes Sicherheitsrisiko darstellt, da böswillige Benutzer versuchen können, die Server für Cryptomining oder als Teil eines Botnetzes zu missbrauchen.[25] Es mussten daher diverse Maßnahmen implementiert werden, um solchen Missbrauch zu verhindern.

GitHub Pages

Bearbeiten

GitHub Pages ist ein Angebot von GitHub, mit dem Nutzer statische Inhalte bereitstellen (hosten) können. Dabei sind diese Inhalte selber auch Teil eines Repositories. Genutzt werden GitHub Pages unter anderem für Blogs, Dokumentation oder Bücher.[26]

Verwendung

Bearbeiten

GitHub war im Jahr 2011 bei Open-Source-Software der populärste Dienst seiner Art, gemessen an der Anzahl der Codebeiträge („Commits“).[4] Der Dienst hat über 83 Millionen registrierte Nutzer und verwaltet über 200 Millionen Repositories (Stand: August 2022).[27] Neben vielen sehr kleinen oder oft nur vom Besitzer genutzten Projekten gibt es mehrere bekannte größere Open-Source-Projekte, die bei der Versionsverwaltung ihres Quelltextes GitHub verwenden.

Seit Mitte 2012 ist es möglich, auf GitHub auch komplette Websites bereitzustellen. Der Dienst unterstützt die Verknüpfung eines A-Records mit der IP-Adresse seiner Server und liefert statische Inhalte auf entsprechende HTTP- und HTTPS-Anfragen aus. Die Funktion ist sowohl in der Gratis- als auch der „Enterprise“-Variante des Dienstes nutzbar.[28] GitHub Enterprise ist auch Teil des Platform as a Service, Bluemix.[29]

Im Oktober 2016 berichtete die Zeitschrift Nature über die zunehmende Bedeutung von GitHub für den Austausch von wissenschaftlichen Daten. Im Jahr 2016 hätten ein Prozent aller Veröffentlichungen in der Informatik GitHub als Quelle zitiert, gefolgt von Mathematik und den Biowissenschaften.[30] Eine Vergleichsstudie von 2022 kommt dennoch zu dem Schluss, Open-Source-Projekte auf dezentralen Issue-Management-Plattformen abseits GitHub würden länger gepflegt, seien noch akademischer und verzeichneten mehr Beteiligungen.[31]

Wie ähnliche Dienste wird GitHub vermehrt zur Entwicklung industrieller öffentlicher Güter und Produkte wie beispielsweise Open Hardware oder entsprechender Schnittstellen genutzt. Dabei nimmt die Arbeit von Ehrenamtlichen neben einigen zentralen Unternehmen wie Linux und Microsoft eine flächendeckend signifikante Rolle ein, die verschiedenste Industriebranchen nutzen. Wissenschaftler plädieren daher für eine Identifikation kritischer Bereiche, die gänzlich von Freiwilligen abgedeckt werden und deshalb öffentliche Förderung zur Risikominimierung benötigen könnten.[32]

GitHub Copilot

Bearbeiten

GitHub Copilot ist ein KI-basiertes Tool, das in verschiedenen IDEs zur Autovervollständigung von Quelltext verwendet werden kann.[33] Es basiert seit Ende November 2023 auf dem Sprachmodell GPT-4, das von OpenAI entwickelt wurde.[34] Seit Anfang November 2024 ist Anthropics Claude 3.5 Sonnet zusätzlich als alternatives Sprachmodell für GitHub Copilot als „public preview“ verfügbar;[35] weitere Modelle sollen in Zukunft folgen, unter anderem Googles Gemini 1.5 Pro.[36]

Literatur

Bearbeiten
  • John D. Blischak, Emily R. Davenport, Greg Wilson: A Quick Introduction to Version Control with Git and GitHub. In: PLOS Computational Biology. Band 12, Nr. 1, 19. Januar 2016, doi:10.1371/journal.pcbi.1004668.
Bearbeiten
Commons: GitHub – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. GitHub: Where the world builds software · GitHub. Abgerufen am 9. August 2022.
  2. The untold story of Github. Abgerufen am 24. Oktober 2016 (englisch).
  3. GitHub Facts. Abgerufen am 13. Oktober 2018 (englisch).
  4. a b Alexander Neumann: GitHub populärer als SourceForge und Google Code. heise Developer, 6. Juni 2011, abgerufen am 6. Januar 2013.
  5. Douglas MacMillan: GitHub Takes $100M in Largest Investment by Andreessen Horowitz. Bloomberg, 9. Juli 2012, abgerufen am 6. Januar 2013 (englisch).
  6. Frederic Lardinois: GitHub Raises $250M Series B Round To Take Risks. TechCrunch, 30. Juli 2015, abgerufen am 30. Juli 2015 (englisch).
  7. Microsoft kauft GitHub für 7,5 Milliarden Dollar. Spiegel Online, 4. Juni 2018, abgerufen am 4. Juni 2018.
  8. Martin Holland: Microsoft kauft GitHub für 7,5 Milliarden US-Dollar. Heise online, 4. Juni 2018, abgerufen am 4. Juni 2018.
    EU-Kommission: Übernahme von GitHub durch Microsoft genehmigt. dpa, 20. Oktober 2018, abgerufen am 25. Oktober 2018.
    Nat Friedman: Pull request successfully merged. Starting build… The GitHub Blog, 26. Oktober 2018, abgerufen am 27. Oktober 2018.
  9. Ingrid Lunden: Microsoft closes its $7.5B purchase of code-sharing platform GitHub. In: TechCrunch. 26. Oktober 2018, abgerufen am 27. November 2019 (englisch).
  10. Stefan Krempl: GitHub: Entwicklergemeinde in Sorge über „Ausverkauf“ an Microsoft. In: Heise Online. 4. Juni 2018, abgerufen am 4. Juni 2018.
  11. Björn Bohn: Neuer CEO: GitHub soll trotz Microsoft-Übernahme unabhängig bleiben. Abgerufen am 11. Juni 2018.
  12. Savia Lobo: GitHub acquires Spectrum, a community-centric conversational platform. 3. Dezember 2018, abgerufen am 31. Dezember 2019 (englisch).
  13. Stergios Georgopoulos Neowin ·: GitHub acquires Dependabot; Launches GitHub Sponsors. Abgerufen am 31. Dezember 2019 (englisch).
  14. Ravie Lakshmanan: GitHub acquires Pull Panda and makes its code review tools available for free. 19. Juni 2019, abgerufen am 31. Dezember 2019 (englisch).
  15. GitHub acquires code analysis tool Semmle. In: TechCrunch. Abgerufen am 31. Dezember 2019 (englisch).
  16. Bastian Benrath: Ein Berliner leitet künftig GitHub, In: Frankfurter Allgemeine Zeitung vom 5. November 2021
  17. Bryan Clark: GitHub's new CEO isn't asking for your trust, he plans to earn it. In: The Next Web. 4. Juni 2018, abgerufen am 11. Juni 2018.
  18. Arctic Vault. In: Arctic Programme. GitHub, abgerufen am 4. Dezember 2022 (englisch).
  19. Arctic Code Vault, 22. September 2022, abgerufen am 22. September 2022.
  20. Sebastian Grüner: Github schließt Archivierung im Eis ab, 17. Juli 2020, abgerufen am 19. Juli 2020.
  21. New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering. In: The GitHub Blog. 8. Januar 2019, abgerufen am 21. Januar 2019 (amerikanisches Englisch).
  22. GitHub Enterprise. GitHub, abgerufen am 6. Januar 2013 (englisch).
  23. Kim Rixecker: Github mit massivem Redesign – das ist neu. In: t3n Magazin. yeebase media GmbH, 18. Juni 2013, archiviert vom Original (nicht mehr online verfügbar) am 3. März 2016; abgerufen am 3. März 2016.
  24. The world’s development platform, in your pocket. GitHub, Inc., 2020, abgerufen am 18. März 2020 (amerikanisches Englisch).GitHubs Smartphone-App verlässt den Beta-Status. heise online, 17. März 2020, abgerufen am 18. März 2020.
  25. GitHub Actions update: Helping maintainers combat bad actors. github, 22. April 2021, abgerufen am 13. Juli 2022 (englisch).
  26. Merlin Schumacher: GitHub Pages: Websites mit und ohne eigener Domain auf GitHub hosten. In: heise online. 8. Mai 2020, abgerufen am 18. Dezember 2023.
  27. GitHub: Where the world builds software. Abgerufen am 8. August 2022 (englisch, Nur sichtbar ohne eingeloggt zu sein.).
  28. Ilja Zaglov: Kostenloses Hosting für statische Webseiten mit GitHub. In: t3n Magazin. yeebase media GmbH, 28. Dezember 2012, archiviert vom Original am 31. Dezember 2012; abgerufen am 6. Januar 2013.
  29. heise online: GitHub Enterprise wird Bluemix-Service. Abgerufen am 29. September 2020.
  30. Jeffrey Perkel: Democratic databases: science on GitHub. In: Nature. Band 538, Nr. 7623, 6. Oktober 2016, S. 127–128, doi:10.1038/538127a (nature.com [abgerufen am 15. Januar 2017]).
  31. Milo Z. Trujillo, Laurent Hébert-Dufresne, James Bagrow: The penumbra of open source: projects outside of centralized platforms are longer maintained, more academic and more collaborative. In: EPJ Data Science. Band 11, Nr. 1, 21. Mai 2022, ISSN 2193-1127, S. 31, doi:10.1140/epjds/s13688-022-00345-7 (springeropen.com [abgerufen am 8. Juli 2022]).
  32. Mathieu O’Neil, Laure Muselli, Xiaolan Cai, Stefano Zacchiroli: Co-producing industrial public goods on GitHub: Selective firm cooperation, volunteer-employee labour and participation inequality. In: New Media & Society. 27. April 2022, ISSN 1461-4448, S. 146144482210904, doi:10.1177/14614448221090474 (sagepub.com [abgerufen am 1. Dezember 2022]).
  33. Rainald Menge-Sonnentag: KI-Assistent GitHub Copilot: Neues Modell und sicherere Codevorschläge. heise Developer, abgerufen am 2. April 2023.
  34. GitHub Copilot – November 30th Update. In: GitHub Blog. 30. November 2023, abgerufen am 20. November 2024 (englisch).
  35. Claude 3.5 Sonnet is now available to all Copilot users in public preview. In: GitHub Blog. 1. November 2024, abgerufen am 20. November 2024 (englisch).
  36. Bringing developer choice to Copilot with Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview. In: GitHub Blog. 29. Oktober 2024, abgerufen am 20. November 2024 (englisch).