Softwareentwicklungsplattform
Eine Softwareentwicklungsplattform ist eine Webanwendung zur kollaborativen Softwareentwicklung, dazu bietet sie ein Webinterface um die Versionsverwaltung, meist Git, zu steuern. Zusätzlich bietet sie weitere Funktionen wie Issue-Tracking-Systeme, Kanban-Boards, Wikis und Continuous Integration/Continuous Delivery (CI/CD) an. Kommerzielle Softwareentwickler verwalten Quelltexten meist in geschlossenen Softwareentwicklungsplattformen. Vor allem die Entwicklung freier Software findet auf öffentlichen Softwareentwicklungsplattformen statt. Softwareentwicklungsplattformen bieten qualitätsgesicherte Versionstände zur Installation an. Benutzer können Fehler melden und über Veränderungen informiert werden.
Begriff
[Bearbeiten | Quelltext bearbeiten]Der Begriff Softwareentwicklungsplattform bezeichnet die Software aber auch Onlinedienste. Teilweise wird der Begriff Forge genutzt, dieser bezieht sich auf ein gemeinsames Präfix oder Suffix, das von verschiedenen Plattformen übernommen wurde, die nach dem Vorbild von SourceForge entstanden sind. Weitere Beispiele sind FusionForge oder RubyForge. Diese Verwendung des Wortes leitet sich von der Schmiede ab, die für die Formgebung von Metallteilen verwendet wird. Der im Deutschen genutzte Begriff Software-Schmiede bezeichnet hingegen in der Regel ein Unternehmen, welches Software programmiert oder produziert.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Seit SourceForges Gründung im November 1999 registrierten sich dort über 150.000 Softwareprojekte bis 2008.[1] Eine 2011 veröffentlichte Studie ergab, dass GitHub – gemessen an der Zahl der Commits – alle anderen Forges an Popularität überholt hatte.[2]
Funktionen
[Bearbeiten | Quelltext bearbeiten]
Softwareentwicklungsplattformen integrieren meist unterschiedliche Funktionen entlang des Softwareentwicklungsprozess.
- Versionsverwaltung von Quellcode stellt die Kernfunktion dar, mit der branches verwaltet und gereviewed werden. Neben Testversionen steuern Softwareprojekte so auch ihr Release- und Application-Management. Neben der reinen Darstellung von Quellcode können auch onlinebasierte Integrierte Entwicklungsumgebungen oder einfache Onlineditoren vorhanden sein.
- Aus den versionierten Quelltexten können durch integrierte CI/CD-Funktionen, automatisch testbare und stabile Softwareversionen gebaut, getestet und deployed werden.
- Als Projektmanagement-Software sind meist Bugtracker oder Issue-Tracking-Systeme und Kanban-Boards vorhanden.
- Tools für die Informationssicherheit wie statischen Code-Analyses und Erzeugung von SBOMs.
- Zur Softwaredokumentation werden meist Wikis genutzt.
- Filehosting um fertige Software oder statische Webseiten anzubieten.
- APIs
- Mailinglisten oder Foren
Software
[Bearbeiten | Quelltext bearbeiten]Es gibt unterschiedliche proprietäre und freie Software.
Freie Software
[Bearbeiten | Quelltext bearbeiten]- Allura der Apache Software Foundation[3]
- FusionForge ist ein Fork von GForge
- Das in Go geschriebene Gogs, dessen Fork Gitea und dessen Fork Forgejo
- GitBucket
- GitLab
- Joinup
- Kallithea
- Launchpad Suite[4]
- Phabricator[5]
- Redmine
- SourceHut[6]
- Trac
- Tuleap[7]
Proprietäre Software
[Bearbeiten | Quelltext bearbeiten]Öffentliche Plattformen
[Bearbeiten | Quelltext bearbeiten]Vor allem freie Software wird oft in öffentlichen Softwareentwicklungsplattformen, die als Onlinedienst angeboten werden, entwickelt und auch veröffentlicht. Einer der ersten Plattformen zum Austausch und Veröffentlichung ist seit 1999 SourceForge. Inzwischen ist GitHub zur größten öffentlichen Softwareentwicklungsplattform geworden, die 2018 von Microsoft übernommen wurde. Es gibt zahlreiche andere Diensteanbieter:
- Bitbucket ist eine Collaboration-/Hosting-Plattform für beliebige Projekte vom Unternehmen Atlassian, die das Versionsverwaltungssystem Mercurial oder Git verwenden.
- gitlab.com als SaaS Dienst von GitLab
- Gitee im Besitz der Shenzhen AOSI Network Information Co., Ltd. mit Sitz Shenzhen in China.
- GNU Savannah ist eine weitere Hosting-Plattform für Open-Source-Projekte, die eine Lizenz wählen, die den Vorstellungen der Free Software Foundation entspricht.
- Joinup collaboration platform
- Launchpad, eine Hosting-Plattform für Open-Source-Projekte des Unternehmens Canonical, Hersteller der Linux-Distribution Ubuntu.
- RubyForge, eine weitere Hosting-Plattform, beschränkt auf Ruby-Projekte.
- OSDN (Open Source Development Network)
- SourceForge nutzt die Software Allura
- sourcehut.org (während Alpha-Phase)[8]
- Codeberg nutzt Forgejo und wird von der gemeinnützigen Organisation Codeberg e.V. betrieben.
Eingestellte Dienste
[Bearbeiten | Quelltext bearbeiten]- Freecode stellt einen Katalog für Open-Source-Projekte dar. Dieser wird, wie SourceForge selbst, durch die Open Source Technology Group, Inc. (OSTG) gehostet (ein Tochterunternehmen von SourceForge, Inc.). Freecode wurde am 18. Juni 2014 eingestellt. Die Inhalte bleiben online, werden aber nicht mehr aktualisiert.
- CodePlex, eine Hosting-Website von Microsoft für Open-Source-Projekte. Codeplex wurde am 15. Dezember 2017 eingestellt.
- Origo war ein an der ETH Zürich entwickeltes System, auf dem auch Closed-Source-Projekte erlaubt waren.
- Tigris.org war eine von CollabNet, dem Hersteller von Subversion, betriebene Hosting-Plattform.
- BerliOS durch das Bundesministerium für Wirtschaft und Technologie geförderte Plattform.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ James Maguire: The SourceForge Story. 17. Oktober 2007, archiviert vom am 16. Juli 2011; abgerufen am 12. April 2012 (englisch).
- ↑ Alexander Neumann: GitHub populärer als SourceForge und Google Code. In: heise online. 6. Juni 2011, abgerufen am 20. Januar 2023.
- ↑ https://allura.apache.org
- ↑ Launchpad Suite in Launchpad. In: launchpad.net. (englisch).
- ↑ Phabricator. (englisch).
- ↑ sourcehut - the hacker's forge. 31. März 2021 (englisch).
- ↑ github.com/Enalean/tuleap
- ↑ sourcehut pricing. 31. März 2021 (englisch).