A lesson re-learned in naming GitHub repos
As part of the Corporate Design sprint, we had need to set up a GitHub team and repositories to home and share work on the EMBL Design Language and Design Lab (more on what those are in a future post).
As an abstract task, it’s easy. Except what to name the team? What to name the repositories?
There’s only one small initial constraint in no spaces allowed (and please: no insane namesoframinallthewordstogether). Instead we’ll use dashes.
The most obvious choice:
Of course it isn’t that simple
The GitHub name “EMBL” is taken by an apparent squatter. But that’s perhaps for the best as whatever lives at “GitHub.com/EMBL” would seem to not only apply to all of EMBL, but contain all of EMBL’s GitHub repositories.
How about “EMBL Communications”?
Not fantastic either, EMBL-Communications implies this something that is applicable to only the Strategy & Communications team, that name also implies the repository is something other teams cannot contribute to.
It’s the EMBL Design Language
Instead, name the team for it’s purpose: the EMBL Design Language.
As we’ve seen in this week’s sprint, getting away from organisational division naming toward functional naming is both intuitive and self-limiting. It’s the same issues we’ve uncovered in branding exercises, it’s less about a word and more about meaning.
If you’re looking for the EMBL Design Language this is clear, obvious, non-political.
Name the son in relation to the father
With the team name settled, we now need a pattern for repository naming.
It’s weird to call the repository “Design Language” and not “EMBL Design Language”. However, using the latter gives us a team/repo namespace of “embl-design-language/embl-design-language”. What a redundant mouth and eyeful.
So, we’ll just do:
Not so bad. Job done.
Then along comes a colleague who asks a reasonable question, obliterating tunnel logic.
It’s a very good point. “Design Language” is too close to the proper name and looks incorrect when not used in reference to the full “embl-design-language” team name. And we need to be clear it’s not “design language” but the EMBL Design Language.
Once again we have to learn the lesson: don’t name for the organisational structure, name it for what it is.
The GitHub team is the EMBL-Design-Language and the repositories are facilitating it: sprint planning, an “about” landing page, a collaborative “lab”, etc.
The intuitive can be easy to forget: unless you’re trying to differentiate from peers, call a wheel a wheel. Only if you’re competing against another wheel, then call it the “Firestone TZ300 205/55R16 91 V”, whatever that is.