Dieses Repository dokumentiert die Grundsätze und Rahmenbedingungen für die Nutzung der GitHub-Organisation der Stadt Winterthur.
Die Organisation dient dazu, Softwareprojekte, Skripte, Konfigurationen und technische Hilfsmittel der Stadtverwaltung Winterthur strukturiert abzulegen und öffentlich zugänglich zu machen.
Die GitHub-Organisation der Stadt Winterthur verfolgt insbesondere folgende Ziele:
- Förderung einer gemeinsamen, organisationsübergreifenden Zusammenarbeit innerhalb der Stadtverwaltung
- Unterstützung von Wiederverwendbarkeit ("reuse") von Softwareartefakten und Automatisierungen
- Transparente Publikation von Open-Source-Komponenten und offenen technischen Hilfsmitteln
- Stärkung der digitalen Handlungsfähigkeit im Sinn des städtischen Leitbilds "Wir sind EINE Stadt"
Diese Governance gilt für:
- alle Repositories innerhalb der GitHub-Organisation "Stadt Winterthur"
- alle Mitarbeitenden und externen Mitwirkenden mit Zugriff auf diese Organisation
- alle Inhalte (Code, Dokumentation, Releases, Issues, Wiki, CI/CD-Konfigurationen)
Die GitHub-Organisation "Stadt Winterthur" führt ausschliesslich öffentliche Repositories.
Private Repositories sind nicht zulässig, auch nicht als vorübergehende Ablage oder "org-private" Zwischenlösung. Inhalte, die nicht publikationsfähig sind, müssen ausserhalb dieser Organisation entwickelt oder gespeichert werden (z.B. in internen Systemen oder anderen, dafür vorgesehenen Ablagen).
In öffentlichen Repositories dürfen keine Inhalte abgelegt werden, die insbesondere enthalten:
- Personendaten (auch keine pseudonymisierten Daten, sofern Rückschlüsse möglich sind)
- interne Zugangsdaten, Tokens, API-Keys, Passwörter
- interne IP-Adressen, Infrastrukturdetails oder sicherheitskritische Informationen
- vertrauliche Dokumente oder Inhalte mit eingeschränkter Zugriffsberechtigung
Es gilt: Nur publizieren, was explizit für die Öffentlichkeit geeignet ist.
Alle Inhalte dieser Organisation sind so zu gestalten, dass sie öffentlich nachvollziehbar, wiederverwendbar und dokumentiert sind. Eine Publikation als Open Source ist hier nicht nur erwünscht, sondern die Grundvoraussetzung.
Jedes Repository muss mindestens enthalten:
- eine verständliche Projektbeschreibung
- Hinweise zur Installation / Nutzung
- Angaben zur verantwortlichen Stelle bzw. Kontaktadresse
- eine Lizenzdatei (
LICENSE)
Innerhalb der Organisation können Repositories in folgenden Kategorien geführt werden:
- Produktivprojekte (z.B. Applikationen, Services), sofern vollständig publikationsfähig
- Werkzeuge und Skripte (z.B. Automatisierungen, GIS-Tools)
- Konfigurationen / Templates (z.B. CI/CD-Templates, öffentliche Vorlagen)
- Dokumentationsprojekte (z.B. technische Standards)
- Pilot- und Forschungsprojekte, sofern publikationsfähig
Jedes Repository soll mit GitHub Topics versehen werden, insbesondere:
- organisatorische Einordnung (z.B.
geoinformation-winterthur,daten-winterthur,informatikdienste-winterthur,bau-winterthur) - projektspezifische Topics (z.B.
qgis,python,etl,api,opendata)
Für alle Repositories ist eine Open-Source-Lizenz zwingend.
Empfohlene Standardlizenzen:
- MIT License (für einfache Tools und Skripte)
- Apache License 2.0 (für grössere Projekte oder Bibliotheken)
- Creative Commons Zero (für reine Content-Repositories)
Falls eine andere Lizenz benötigt wird, sollte dies vorgängig geklärt werden.
Jedes Repository muss klar eine verantwortliche Stelle haben.
Mindestens erforderlich:
- verantwortliche Organisationseinheit (z.B. Fachstelle / Abteilung)
- Kontaktperson oder Funktionsadresse (im README)
Beispiel:
Verantwortlich: Fachstelle Geoinformation Winterthur
Kontakt: edgar.butwilowski@win.ch
Die Organisation wird über GitHub Teams verwaltet.
Grundprinzipien:
- Rechte werden nach dem Need-to-know-Prinzip vergeben, bezogen auf Wartung und Review
- Administratorrechte ("Owner") sind auf wenige Personen beschränkt
- Maintainer sind verantwortlich für Qualität, Releases und Review-Prozesse
Für produktive oder wiederverwendbare Komponenten wird empfohlen:
- semantische Versionierung (z.B.
v1.2.0) - Releases mit Changelog
- nachvollziehbare Tags
Für alle Repositories wird empfohlen:
- Issues für Aufgaben, Bugs und Feature-Wünsche zu verwenden
- Pull Requests mit Review-Prozess einzusetzen
- Code Reviews als Standard einzuführen (mindestens 4-Augen-Prinzip)
Wenn sicherheitsrelevante Inhalte versehentlich publiziert wurden (z.B. Credentials, Tokens, Personendaten):
- Inhalt umgehend entfernen (History berücksichtigen)
- betroffene Secrets sofort rotieren (Tokens/Passwörter ersetzen)
- zuständige ICT-Sicherheitsstelle informieren
- Incident dokumentieren
Diese Governance ist als lebendes Dokument zu verstehen und wird bei Bedarf angepasst.
Änderungsvorschläge können via Issue oder Pull Request eingebracht werden.
Verantwortlich: Fachstelle Daten Winterthur
Kontakt: edgar.butwilowski@win.ch