Forĝejo Team/Project Namespace
POSSE: I added this as a comment on the Forgejo discussion “[FEAT] Proposal to extend Forgejo URL structure...” on 2024-11-14.
Something perhaps not fully explored in this conversation is: Who are we building this for? I note that the original request/suggestion was specifically for Codeberg.
Forgejo (.org main page) says it is a “self-hosted lightweight” forge, but also “focuses on ... scaling ...” That means, apparently, Forgejo is both for personal tiny use cases, and for big multi-tenant operations like Codeberg.
Adequately supporting both tiny and huge cases requires flexibility. Flexibility of the structure.
This request, initially framed as extending the namespace to add one new level, and subsequent discussions to perhaps add multiple levels, is great for big, multi-tenancy deployments.
What about the small end of the scale? In a small scale deployment I would like the ability to drop the “organization” level (because it all belongs to just me or my single org), and just have projects directly at the top level.
Or even — and let's give this thought a chance before immediately rejecting it — the possibility to run a single-project (repo) instance. (Need more projects? Spin up more lightweight instances.)
I am not raising this to be argumentative. I have given a lot of thought to the issues of self-sovereign identity and federated services, and the context of hosting them. The “instance of one” principle which applies so well to Fediverse and Matrix servers also applies here — it is the only way for a tenant to own their own identity (as far as “ownership” goes for DNS), when the software platform is constrained to serving only one domain per deployment. Making services support the “instance of one” paradigm, and be light-weight, is a key enabler of self-sovereign identity. (Making bigger deployments support Bring Your Own Domain multi-tenancy is an alternative.)
In my use cases, I run a personal instance and one for my tiny (personal) company. In both cases I don't need to configure “organisations”, and I don't want that part of the UI because it is unnecessary clutter and cognitive load. It's not huge but just seeing “organization” in the UI, or seeing the panel for configuring an org's contact details, puts me off.
However I do find nested project name-spaces to be helpful. Currently I use (abuse) the “organization” level for achieving a single level of nesting. I fill in the “org” name and sometimes the description field; and I leave all the contact details blank. This works ok but it does not give the professional look that I would like to give: I would like my work to be presented with the UI indicating name-spaces but NOT pretending they are “organisations” in the sense of company businesses.
TL;DR: If we make any change, let's make sure we make life better for light-weight single-tenant use cases as well as big ones.
Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise