Community | opensource

What 108 repositories taught us about open source hygiene

Sixteen years. 108 repos. One map. What an archaeological dig through the ownCloud GitHub org taught us about contributor experience and open source hygiene

The ownCloud GitHub organization has 108 public, non-archived repositories.
I know, because I mapped every single one last week.

When you’ve been building open source since 2010, sixteen years (!), your GitHub org becomes an archaeological dig:

  • Active projects, next to repos untouched since 2017.
  • Experimental forks from five years ago in search results.

The first thing a potential contributor sees is confusion. So, we mapped it.
Every repo categorized into six groups:

  • oCIS (15 repos),
  • Classic (40 repos),
  • Clients (15 repos),
  • Documentation (10 repos),
  • LibreGraph API (5 repos), and Infrastructure (23 repos).

The map is going into the GitHub org profile README.

What we found:

  • Seven repos are forks of upstream project;
    These carry the upstream license and can’t be relicensed. We’re tagging them clearly.
  • Several repos haven’t been pushed to in over two years.
    We’re reviewing each one:

    • archive the dead ones (moved to ownCloud-archive),
    • mark the stable ones clearly.
  • Ten documentation repos:
    docs is the Antora framework that ties them together, with per-product repos underneath, but if you didn’t know that, you’d have no idea where to contribute a docs fix. Now it’s in the map.

We’re setting up a .github repo with org-wide defaults:

  • CONTRIBUTING.md,
  • CODE_OF_CONDUCT.md,
  • SECURITY.md,
  • SUPPORT.md,
  • and a PR template with a DCO sign-off reminder.

One set of defaults instead of 108 copies.

Repo hygiene might not be glamorous, but it’s the difference between a GitHub org that says „we’re serious“ and one that says „we threw some code on the internet.“

Tomorrow: I’m a script kid running an OSPO.

 

This is part 3 of this blog post series.
See the earlier posts:

  1. A (re)-introduction to the ownCloud community.
  2. What happens when you fork twice, get acquired, and keep shipping anyway
  3. We killed our own CLA. Here’s why that’s a good thing
  4. PHP 8.3. Yes, for Classic. Yes, we heard you

Über den Autor

David Walter is Vice President, Open Source Program Office & Special Projects at Kiteworks, where he stewards the open source projects and drives digital sovereignty strategy globally. He’s been part of the ownCloud ecosystem since 2014, holding roles from community contributor to Chief eXperience Officer before taking on large-scale government deployments and open source governance. At heart, he’s still a script kid who happens to translate between business, community, and engineering. He holds an B.A and an LL.M., is based in Berlin, and volunteers with Germany’s Federal Agency for Technical Relief (THW).

David Walter

25. April 2026

Read now:

oCIS MCP Server v1.0.0: Your AI Assistant Just Got a Key to ownCloud

oCIS MCP Server v1.0.0: Your AI Assistant Just Got a Key to ownCloud

The oCIS MCP Server v1.0.0 is out. An open source bridge between ownCloud Infinite Scale and any MCP-compatible AI assistant: 80 tools across users, spaces, files, shares, federated OCM, and multi-step workflows. Apache 2.0. Self-hosted. The AI works on your authentication, against your infrastructure, with your data staying where it is.

mehr lesen
oCIS MCP Server v1.0.0: Your AI Assistant Just Got a Key to ownCloud

ownCloud web-extensions Repo Is Now Apache 2.0. We’re Going All In.

When we launched the OSPO in May, we said Apache 2.0 was the target licence. Today the first repo crosses the line. web-extensions has been relicensed from AGPL-3.0, with REUSE compliance and CI licence checks built in. A relicensing decision made now, before the dependency graph gets complicated, is worth a hundred conversations about compatibility later.

mehr lesen