Hallo,
folgendes kann ich zu vr Fragen sagen.
1. Unterschiede der zwischen GitHub und GitLabGitHub und GitLab sind zwei beliebte Plattformen für die Versionsverwaltung von Quellcode und die Zusammenarbeit an Softwareprojekten die auf Git aufbauen und ähnliche Features bieten. Hier einige unterschiede:
1.1. Hosting:
- GitHub: GitHub ist eine cloudbasierte Plattform. Sie bietet kostenlose und kostenpflichtige Optionen.
- GitLab: GitLab ist sowohl als cloudbasierte Plattform als auch als selbstgehostete Plattform.
1.2. Lizenzmodell:
- GitHub: GitHub bietet kostenfreie Repositories für Open-Source-Projekte und berechnet für private Repositorys Gebühren, wenn man bei privaten (nicht öffentlich sichtbare) Repositorys alle Funktionen haben möchte.
- GitLab: GitLab bietet eine "Core"-Version mit grundlegenden Funktionen kostenlos an und bietet auch eine "Enterprise"-Version mit erweiterten Funktionen und Support für kostenpflichtige Nutzer an.
1.3. Funktionen:
- Beide: Erweitern die Versionsverwaltung und Zusammenarbeit an Codeprojekten. Sie bietet Funktionen wie Issues, Pull- / Merge- Requests, Actions, integriertes CI/CD (Continuous Integration/Continuous Deployment), ein Wiki. Dies macht beide zu einer DevOps-Plattform, wobei bei DevOps GitLab etwas die Nase vorn hat, aber das ändert sich von Monat zu Monat.
1.4. Community:
- GitHub: GitHub hat eine große Entwickler-Community und bietet eine breite Palette von Integrationen und Erweiterungen, um die Zusammenarbeit und Automatisierung zu unterstützen.
- GitLab: GitLab verfügt ebenfalls über eine aktive Community und bietet viele Integrationen, insbesondere für DevOps und Continuous Integration.
1.5. Sicherheit:
- Beide Plattformen legen großen Wert auf Sicherheit und bieten Funktionen wie Authentifizierung, Zugriffskontrolle und Sicherheitsprüfungen. Bei GitHub können z. B. durch einen Bot automatisch Sicherheits relevante Fehler im quellcode aufgespürt werden.
Die Wahl zwischen GitHub und GitLab hängt von den spezifischen Anforderungen des Projekts und der Organisation ab. GitHub eignet sich gut für die Zusammenarbeit an Open-Source-Projekten, während GitLab eine umfassendere DevOps-Plattform für Unternehmen bietet.
2. Wieso ich für GitHub wäreWenn es nach meiner Meinung geht, gäbe es mehrere gute Gründe, warum es sinnvoller sein könnte, das modified Shop System öffentlich bei GitHub zu entwickeln, anstelle eine eigenen GitLab-Instanz auf einem eigenen Server zu verwenden:
2.1. Größere Entwickler-Community:
GitHub ist eine der größten Plattformen für Open-Source-Entwicklung. Durch die Veröffentlichung auf GitHub erhöht man die Sichtbarkeit des Projekts und zieht mehr Entwickler an, die dazu beitragen möchten. GitLab auf einer eigenen Instanz hat in der Regel eine kleine Benutzerbasis. Hier kenne ich das Gegenargument, dass modified ja von wenigen genutzt wird und das es nicht realistisch ist, dass man durch die große GitHub Community Entwickler erreicht. Das wäre aber für mich nur ein Argument, wenn man nicht das Ziel verfolgt, mit der Zeit wieder größer zu werden. Desto größer das Projekt, um so mehr profitiert man später davon, dass man sich auf GitHub befinden würde.
2.2. Unterstützung:
Durch die Zusammenarbeit mit der breiten GitHub-Community kann man wertvolles Feedback erhalten, Fehlerberichte und Pull Requests von deutlich mehr Entwicklern. Das führt zu einer besseren Fehlerbehebung und Weiterentwicklung des Systems.
2.3. Wartungskosten:
Wenn man GitLab auf einem eigenen Server betreibt, muss man die Infrastruktur und Wartungskosten selbst tragen. GitHub bietet einen gehosteten Dienst, der die Notwendigkeit für eigene Serverinfrastruktur eliminiert und für die Anforderungen die ich kenne für modified kostenlos wäre.
2.4. Zuverlässigkeit:
GitHub verfügt über eine hohe Verfügbarkeit und Zuverlässigkeit. Auf einer eigenen GitLab-Instanz wäre modified selbst für Sicherung und Wiederherstellung des Codes verantwortlich, was zu Ausfallzeiten führen kann.
2.5. CI/CD-Tools:
GitHub bietet integrierte Continuous Integration (CI) und Continuous Deployment (CD)-Tools, die die Entwicklung und Bereitstellung des Codes erleichtern und automatisieren kann. Bei einer eigenen GitLab-Instanz müsste man diese Tools wahrscheinlich selbst konfigurieren.
2.6. Integration mit anderen Tools:
GitHub bietet Integrationen mit einer Vielzahl von Tools und Diensten, einschließlich Projektmanagement-Tools, Code-Überprüfung und mehr. Dies erleichtert die Integration in bestehende Entwicklungs- und Workflow-Umgebungen.
2.7. Marketing:
GitHub würde eine Plattform für Marketing und Sichtbarkeit bieten. Das Projekt kann auf der GitHub-Plattform entdeckt werden, was dazu beitragen kann, mehr Benutzer und Mitwirkende anzuziehen. Mit jedem Entwickler der einen Pull-Request macht oder jedem Issue, das gemeldet wird, würde modified auf dem Account des Entwicklers an Sichtbarkeit gewinnen.
2.8. Dokumentation:
Für GitHub gibt es im Internet deutlich mehr Dokumentation und Tutorials, die den Einstieg einfacher machen.
3. GitHub in der modified CommunityHier aus der Community verwenden bereits einige aktive Modulentwickler GitHub. Ganz besonders ist das GitHub Account von Jay hervorzuheben. Wie man dort sehen kann, hat er sich bereits an mehreren großen OpenSource Projekten (Wordpress, VS-Code) beteiligt. In der modified Community möchte er nach meinem Kenntnisstand erst nicht Teammitglied werden müssen, um ebenfalls einen Beitrag leisten zu können.
Die folgende Liste an bekannten Personen aus dem Forum konnte ich auf die Schnelle finden, die bereits (erste) Erfahrungen mit GitHub haben:
Jay
https://github.com/grandeljayRobinTheHood (ich)
https://github.com/RobinTheHoodHetfield / MerZ IT-SerVice
https://github.com/hetfield74Fishnet Services
https://github.com/shopbetreuungTimoPaul
https://github.com/timopaulAlkim Media
https://github.com/AlkimMediaKarl1
https://github.com/KarlBogenhpzeller
https://github.com/hpzellerGulliver72
Hat Pull-Request bei Karls bootstrap4 Modul gemacht
https://github.com/Gulliver72Zudem habe ich noch einige weitere gefunden, bei denen ich aber nicht weiß, ob diese möchten, dass diese in der Liste mit auftauchen. Die oben gezeigten, haben ihre Accounts bereits mal im Forum oder wo anderes öffentlich gepostet.
So kann ich mir verschiedene Gründe vorstellen, warum Mitglieder der modified Shop Entwickler Community, die bereits einen GitHub-Account haben, möglicherweise ein Interesse daran haben könnten, dass die Entwicklung von modified auf GitHub und nicht auf einer anderen Plattform stattfindet.
3.1. Vertrautheit:
Die Entwickler sind bereits mehr oder weniger mit GitHub vertraut und nutzen es (regelmäßig) für Open-Source-Projekte. Wenn sie ihre Entwicklungsaktivitäten auf GitHub fortführen können, fühlen sie sich möglicherweise wohler und effizienter in ihrer Arbeit.
3.2. Integration:
Wenn die Entwickler bereits GitHub für andere Projekte nutzen, bietet die konsistente Verwendung der Plattform den Vorteil, dass sie ihre Arbeitsabläufe und Tools beibehalten können, an die sie bereits gewöhnt sind.
3.3. Bekanntheit:
GitHub ist eine der bekanntesten Plattformen für Open-Source-Entwicklung. Die Verwendung von GitHub kann dazu beitragen, die Bekanntheit von modified und die Sichtbarkeit der Entwicklungsarbeit zu steigern. Dies kann dazu führen, dass mehr Entwickler auf das Projekt aufmerksam werden und möglicherweise dazu beitragen.
3.4 Reputation:
Viele OpenSource Entwickler haben als Gegenleistung nur die Reputation, die sie durch einen Beitrag erwerben. Die Motivation ist sicherlich geringer, wenn man die Erbrachte Leistung hinter einer eigenen GitLab Instanz verstecken würde, als das der eigene Beitrag öffentlich auf GitHub zur Reputation beiträgt.
3.4. Migrationsaufwand:
Ein Wechsel von einer Plattform zur anderen erfordert Zeit und Ressourcen, um bestehende Repositories, Issues und Pull Requests zu migrieren. Wenn Entwickler bereits auf GitHub aktiv sind, kann die Verwendung von GitHub den Aufwand und die Unannehmlichkeiten einer Plattformmigration vermeiden.
Hier fließt viel meine eigene Meinung mit ein. Aber ich denke, Andere können gerne schreiben, wieso sie eine andere Plattformen bevorzugen würden. Vielleicht gibt es auch gute Gründe, eine andere Plattform zu verwenden, die ich bis jetzt noch nicht auf dem Schirm habe.
Mit besten Grüßen
Robin