| Filename | Latest commit message | Latest commit date |
|---|---|---|
Repositories over 100 MB wait for sign-off. Says where the approvals live, that pending decisions are public in awaiting.json with a first-held date, and that an undetermined size counts as held. |
||
| CODE_OF_CONDUCT.md | ||
| DATA_PROTECTION.md | ||
| README.md | ||
| REPORTING.md | ||
| SCOPE.md | ||
About this instance
This is a read-only discovery mirror of open source code published by the Swiss public sector, Phase 0 of a phased roadmap toward a public-sector development platform. It aggregates repositories from:
- the federal OSS catalog opensource.admin.ch
- the government sectors (federal / cantonal / municipal) of the ossbenchmark.com dataset
- the GitHub organisations listed in swiss/index, read from GitHub directly on each run
All repositories are native pull-mirrors, re-synced every 24 hours. Issues, pull requests, and wikis are disabled here by design. Development happens at the source, not here: contribute at the upstream repository linked in each mirror's description.
Mirroring is not endorsement
A repository is mirrored here because it appeared in one of the three source datasets above, and for no other reason. Being on this domain does not mean the code was reviewed, approved, recommended, or security-assessed by the operators of this instance, by Zentrum SDS, or by any Swiss public-sector body. Mirroring is automated republication: an upstream change is live here within one sync interval, with no human looking at it in between.
Each repository reflects its own authors, its own maintainers, and its own upstream terms. Judge it the way you would judge it at its source, which is one click away from every mirror.
The same applies to licences. The no-license topic records that no licence was found in the source dataset; its absence is not a warranty that a licence is present, valid, or fits your use. The upstream licence governs reuse, and cloning from here grants you no rights beyond it. See SCOPE.md.
Browse by topic
Every mirror is tagged with topics. Click a topic chip on any repository page, or use these pre-built filters:
| Filter | Meaning |
|---|---|
| federal | Federal administration |
| cantonal | Cantons |
| city | Cities and municipalities |
| no-license | No license detected upstream, clarify terms before reuse |
| archived | Archived at the source |
| publiccode | Carries a publiccode.yml, the metadata standard public-sector catalogues read |
| catalog-candidate | Carries a publiccode.yml and is not listed in the federal catalogue — indexable as it stands |
| no-publiccode | No publiccode.yml a catalogue crawler would find |
| upstream-gone | The source repository no longer exists; this mirror may be the last public copy |
To compose a topic query yourself: /explore/repos?q=<topic>&topic=1, where the topic=1 parameter switches the search box from keyword search to topic search. For scripted use: GET /api/v1/repos/search?q=<topic>&topic=true.
Several topics can go in one query, comma-separated — they are combined with or, so ?q=no-license,no-publiccode&topic=1 finds repositories missing either. There is no and, and no way to exclude a topic. To narrow by publisher instead, search from that organisation's own page, which applies the same query within it:
https://git.opencode.swiss/{organisation}?q=no-license,no-publiccode
That page matches topic names loosely rather than exactly, so ?q=publiccode there will also return no-publiccode. Use /explore/repos?...&topic=1 when the distinction matters.
Most topics carry the values the source datasets held when they were exported, not a live check of the upstream repository; the publiccode topics are read from the mirror itself, and for repositories found through the organisation index the licence and archived tags are read from GitHub on each run. SCOPE.md explains what each one means and how current it is.
What is here, and what is missing
Over a thousand repositories, drawn from the three sources named above and refreshed weekly. The latest run report has the current count, and what changed since the run before it. This is not a register of Swiss public-sector open source, and absence from it means nothing. A body publishing code that none of the three sources lists will not appear here, however visible that code is elsewhere.
The selection rules are versioned, inspectable configuration in meta/opencode-forges, not an editorial judgement made repository by repository. SCOPE.md has the full picture: the counts, the deduplication, what was deliberately excluded, how fresh a mirror is, and what happens when an upstream disappears.
Organization names and provenance
Organization names on this instance mirror the upstream owner's namespace: the GitHub organization, or the top-level GitLab group for GitLab-hosted primaries. Each organization's description names the exact upstream namespace it mirrors, and each repository's description links its source repository, so provenance is always one click away. Do not infer authority from a name alone. Inclusion is curated (a federal catalog listing, the ossbenchmark.com dataset, or the Confederation's own index of its GitHub organisations), not claimed by name: should two different entities ever share a name across forges, they would get distinct organization names here rather than being merged. The one organization currently fed from two forges, swiss-armed-forces, is the same real-world entity on both (Loom's GitLab primary and its GitHub organization).
What is switched off, and why
Missing tabs are deliberate, not broken:
| Switched off | Why |
|---|---|
| Issues, pull requests, wikis, projects | Contribution belongs at the source, where the maintainers are. Every mirror links its upstream. |
| Forks and stars | Nothing here is a base to build on, and a fork on this domain would inherit the authority the domain implies. |
| CI and Actions | Phase 0 runs no runners. Nothing on this instance executes code. |
| Packages | Same reason: artefacts are published where the project publishes them. |
| Registration and accounts | Browsing and searching are anonymous. There is nothing to sign in for. |
Reporting a problem
Security vulnerabilities in a mirrored project go to that project, upstream, not to us: this instance holds a copy, and the people who can fix it are at the source.
Report to the operators anything about the mirror itself, and any mirrored content that is unlawful, abusive, compromised, or should not have been published. See REPORTING.md for what to send, where, and what happens next, including the unlisting target of one business day.
Personal data in mirrored history
Mirrored git history carries commit author names and email addresses exactly as they were published upstream. If that concerns you, or you need something corrected or removed, read DATA_PROTECTION.md first: it explains what this instance holds, what removal here can and cannot achieve, and how to reach the operators.
Opting in or out
The mirror set is maintained as versioned configuration. If your organization wants repositories added or removed (including takedowns), contact the operators: info@zentrumsds.ch.
Tell us what you would need
Phase 0 exists to find out whether a shared Swiss public-sector development platform is wanted, and what it would have to do. That question is answered by teams, not by mirror counts, so please tell us:
- Would your team develop here? A platform to host real development on, rather than mirror finished work, is Phase 1. It is planned on the strength of teams saying they would move, so if that is you, say so even if the timing is years out.
- What would it need to have? CI runners, a contribution workflow, single sign-on with your existing identity provider, cross-border federation, something we have not thought of. Concrete requirements shape the design and the budget request.
- What is wrong with the mirror today? Wrong metadata, a repository that should not be here, one that should, or a rough edge in browsing and search.
- Should state-owned companies be in scope? The corpus currently covers the administration at federal, cantonal, and municipal level, and leaves out the government-owned companies that the ossbenchmark dataset lists separately. That is a starting choice rather than a settled one: see SCOPE.md and tell us where you would draw the line.
Write to info@zentrumsds.ch. A short conversation is worth more than a form.
Adding a publiccode.yml is welcome
If your repository has no publiccode.yml, consider adding one upstream. It is a small metadata file describing what the software does, who maintains it, and under what terms, and it makes public-sector software findable and comparable across catalogues rather than only browsable. It is invited, never required: no repository is excluded, ranked, or flagged for not having one, and a mirror picks up the file automatically at the next sync once it exists upstream.
Who runs this
git.opencode.swiss is run by Zentrum SDS, a Swiss public-sector digital-sovereignty initiative, and operated by the Institut Public Sector Transformation (IPST) that anchors it.
Berner Fachhochschule BFH (Bern University of Applied Sciences), a public-law administrative unit, UID CHE-319.685.045, legal seat Falkenplatz 24, 3012 Bern. Institut Public Sector Transformation, Brückenstrasse 73, 3005 Bern. Contact: info@zentrumsds.ch.
The instance itself is hosted in Switzerland on Codey, the managed Forgejo service of VSHN AG.
How the operators commit to running the instance, and to deciding what stays mirrored, is in CODE_OF_CONDUCT.md. The design work behind the platform is public in meta/opencode-forges.