Replies: 0 comments 9 replies
-
Most of these names seem fine to me. The one that does confuse a bit is "family" for which I imagine a room of peers with a few parents. That's not the linear model we have. I wonder if we could use names such as chain/lineage, lineage/links, sequence/lineage, succession/lineage, etc. There's plenty of words there that suggest one single thing comes after another single thing. |
Beta Was this translation helpful? Give feedback.
-
For
|
Beta Was this translation helpful? Give feedback.
-
Is it pronounced "SKEW-mata"? If so, let me suggest: Skewmata? I understand and appreciate the Cue etymology, but it brings to mind the Oneders/Wonders dialectic from the 1996 comedy/drama That Thing You Do! — which, if you haven't seen the film, essentially suggests that you not spend a complexity token on the parsing and pronunciation of your thing's name 😜 edit: I see I have been preëmpted by Julius on this one, oops 😅 |
Beta Was this translation helpful? Give feedback.
-
https://github.com/grafana/scuemata is now up. i'm considering one last name change now to
|
Beta Was this translation helpful? Give feedback.
-
And, i went for the rename. Scuemata - the name for the overall system - is now "Thema," and lives at https://github.com/grafana/thema. Closing this out, as all decisions are now final 😄 Grafana itself still needs to be moved over to the generic, standalone repository, which means the "scuemata" name (and all the other, old names in the OP here) will continue to exist in grafana/grafana until we migrate. |
Beta Was this translation helpful? Give feedback.
-
(This discussion was originally in grafana/grafana, and reflects the names of the original "scuemata" system. The terminal state of this naming discussion is the names that are now in use in Thema.)
Naming is hard!
We merged the initial scuemata PR about six months ago (Scuemata design doc - it's rough!). We've learned a lot since, and soon, it'll be time to move the generic scuemata system into its own, standalone repository (#38038). The move will be the last opportunity to discuss/bikeshed about names. I'd like to box all of that in here, in this discussion.
The scuemata system has five [planned] essential concepts/logical constructs - more detail on them here - and sorta-six names for them:
In general, i think these terms are adequate, and it would not be the end of the world if we went forward with all of them. But i know that some of these terms make people itchy, and i'm not perfectly content with them either. So, i'll list my concerns and possible alternatives here in the OP; other folks can weigh in on those ideas, or with their own independent comments/concerns/suggestions. (It is out of scope for this discussion to talk about introducing any new concepts or logic to the system.)
Schema
This one's not up for debate - it's the exact same concept as in the world outside scuemata, and using a different word for this previously-established, not-novel concept would be very confusing.
Lineage
Seems mostly fine to me. It's largely suggestive of what's going on, though the conventional meaning/other common uses of it (e.g. "data lineage") does not carry any connotation of the backwards compatibility that is an essential feature of the system. I also find saying "lineage version" slightly awkward. Still, i don't have enough concerns to make the
The only thing that's absolutely clear is that "major" has no business being here, because that would conflate with semver. Semver is aspirational and appropriate for Turing-complete problems; scuemata is verifiable and intended for clean, precise composition into Turing-complete problems.
Migration
This is the one i want to change most.
"Migration" connotes a mutation. It may be reversible, but that's not a guarantee. That's kinda consistent with the forward-only nature of the migration guarantees afforded by scuemata (though those may expand in the future). But migrations also imply something about the persistence of that mutation - you either have the before-form, or the migrated-form, but not both. That's not the case here: migrations take an input, and return a transformed version of the output. Whether that output is actually persisted anywhere is quite intentionally outside the scope of the scuemata system, as that decoupling makes it easy to imagine networks of programs, all with knowledge of a whole scuemata family, passing around objects and choosing to defer (or not) actually "committing" a migration until an appropriate moment.
Back in June, @annanay25 pointed out to me the overlaps between scuemata and Project Cambria, of which there are many. Really, they're kinda more the same than not. i think Cambria illustrates the viability of this entire schema-translation-at-the-boundaries approach, and that scuemata will only allow us to take those principles further.
I like how Cambria calls these translations "lenses". This word really implies exactly what's going on: you can choose to view a given artifact through a lens, or even a stack of lenses. You can even act on this intermediated view, as a translated artifact. The lenses may distort certain aspects of the original artifact, but they do not change the original artifact. So, "Lens" is a front-runner, here. My main misgiving is that it's hard to make a verb out of - "apply a lens"? - so maybe "Translation" is better.
Note
This has always been a handwavy placeholder name, and i'd really like to see it replaced.
"Warning" seems like the obvious candidate - an event indicating a suboptimal runtime behavior occurred, but that's not sufficient to actually stop the process. I didn't go with this in the first place, though, because there's baggage there which i think would misdirect people:
If we switch to "Lens" or "Translation" for migrations we could extend the metaphor here and use e.g. "Flaw" or "Distortion". Front-runner for flourish and elitist Latinate whiff, though, would be "Lacuna".
Family
Decent enough. I'm not really motivated to change it, but i could be moved.
That human families are heterogeneous and branching makes it somewhat misleading - arguably, Family should be Lineage, and Lineage then becomes something else (Sequence?).
Scuemata
It's the name for the whole system. It's also probably the big one that bothers people the most. Maybe you're:
I don't have any alternative ideas, but i could still be convinced to rename this whole thing. If we do, i'd strongly prefer that we deal with the colloquial ambiguity around families, though.
PS - yes, i had "stigmata" in mind originally. The original design doc was called "Confrigor and Scuemata." No, i'm not Catholic, but i am a word nerd and studied European medieval history in school, so it was close to hand.
Candidates
i'll keep this list up to date with the current name, and their candidate replacements. (Assuming anyone cares much at all 😜) Bolded candidates indicate a choice has been made/discussion is closed.
Sequence
Lens
Translation
Warning
Flaw
Lacuna
Lineage
Let the bikeshedding begin!
/cc @ryantxu @rgeyer @ying-jeanne @sh0rez @dsotirakis @pkolyvas @malcolmholmes
Beta Was this translation helpful? Give feedback.
All reactions