smee
smee copied to clipboard
Consider a new name for `boots`
I was trying to talk with @gauravgahlot about some stuff, and we had to be really careful about phrasing sentences to not get confused about if we were talking about a verb (to boot, it boots) or a noun (boots, the software).
Here are some excerpts:
okay, so boots first serves a regular ipxe file
- the worker boots and uses whatever PXE support it has to netboot off of boots
- boots notices the worker is booting with whatever PXE support it had, and says "okay, you need to run my own version of iPXE first. Here it is, netboot off of: undionly.kpxe (https://github.com/tinkerbell/boots/blob/master/job/dhcp.go#L61, this is the "not isPacket branch": https://github.com/tinkerbell/boots/blob/master/job/dhcp.go#L105-L114)
- the worker says "yep, sure" and netboots off of undionly.kpxe and that again connects to boots
- boots notices the worker is using boots's special iPXE and then goes through the same codepath, but should fall through to this case: https://github.com/tinkerbell/boots/blob/master/job/dhcp.go#L130-L131
and then consider this sentence, and whether or not you're 100% certain as to what kind of log file you're about to see:
I saved these boot logs sometime ago...
Maybe a new name could be connected to boots, like a type of boot Hegel might have worn: Hessian, Wellington, Blucher, and ankle-jack.
Anyway, it isn't too late. I like the levity in the name boots, but I think it comes at a high cost.
I quite looked "booty" that I saw on a similar OSS project.
I do think renaming boots will make writing and reading about it more clear and less context dependent. Just throwing some ideas out there:
- hubbard - as in Old Mother Hubbard, who lived in a shoe
- socks - shoe/foot related
- booten - German for shoe, I think.
- dust - as in pixiedust, which Tinkerbell uses in Peter Pan
- pixiedust - related to above, a little on the nose, though
- crook - @grahamc 's idea, as in shepard's crook
Any other ideas? I think it's a fun discussion, I'll keep adding things as I think of them.
I think that Alice's names above are consistent with the Tinkerbell theme, if fully committing to that, any of them could work.
Here's what I wanted to add from my experience of being frustrated with developer tooling. I find that the terminology of projects like Brew are off-putting and hard to remember. Why? They require mental mapping and are non-intuitive, making it difficult for new developers to pick up and retain that information.
Brew is a package manager - terms like package, repository, and private repository are clear and easy to transfer between projects. To be different / unique - they used terms like Brew/Cask/Keg/Pour etc - https://docs.brew.sh/Formula-Cookbook#homebrew-terminology
The Helm project also uses helm, tiller and chart - did anyone really know what tiller was? The burden isn't too bad now that there are only two things - helm (the app installer) and chart - the app definition. What do they call repos? Just repos, so they didn't stretch it too far and call them "oceans"
There's a new project by a Helm maintainer called "fish food" that speaks of "fish", "food", "rig", "barrel" - who knows what those terms mean at first glance?
boots was good at describing itself despite the ambiguity. booten could be fun, I don't know what "To boot up a machine" in German is though.
Perhaps a name relating to the behaviours of boots might be more useful (serving, offering, answering)?
offerd/addressd(d implies a long-running daemon)geben- if we like German, then we could use the wordto giveaddresser- gives out addresses.DHCP server- perhaps BOOTS does more than DHCP?Netbooting service- plain English, speaks of the combinedbootstrap- the thing that bootstraps a node / worker onto the networkdoorman- going back to the theme of letting a node in and into the real world again
I like the descriptive/use naming approach. addresser, doorman, and offerd are my favorites. Also maybe a shortened Netboots?
One other thing to consider is that we could just have the convention of capitalizing "Boots" when referring to the service in text. It mostly side steps the issue, and it's a little hard to enforce, but worth a few minutes thought as well.
Discussion from InfraCloud - Provisioner Sync
- phonebook
- porter
- pixiedust (had some popularity due to boots being a small bit of code that only does a little bit)
"pixieboots"
"dustyboots"
"pixienet"
I like pixieboots and pixienet a lot.
I find that the terminology of projects like Brew are off-putting and hard to remember. Why? They require mental mapping and are non-intuitive, making it difficult for new developers to pick up and retain that information.
I too dislike uninformative cute names. I'll take a descriptive name over cute/clever, but I do like cute/clever names that don't take a lot of mental mapping effort (pbnj is nice, boots used to be called tinkerbell back in the proprietary days and was ok).
bootencould be fun, I don't know what "To boot up a machine" in German is though.
I like this.
Perhaps a name relating to the behaviours of
bootsmight be more useful (serving, offering, answering)?* `geben` - if we like German, then we could use the word `to give`
This one too, boots gives network settings, and all sorts of boot files.
* `bootstrap` - the thing that bootstraps a node / worker onto the network
I interpret bootstrap to mean of a cluster, and considering the space/time where tinkerbell will take place bootstrapping a cluster seems to be something that will be done with tinkerbell and thus confusion may arise there too.
* `doorman` - going back to the theme of letting a node in and into the real world again
We have an internal service named doorman at packet already. And while not a big deal from the greater tinkerbell community it would be immensely confusing to a lot of its developers.
pixieboots is my favorite I think.
Call it "shoes".
Brought up in the Triage meeting. Folks seem open to the idea, as boots as a name does becoming confusing in conversation.
If anyone is interested in taking this on, I don't think there will be much disagreement. It may become a bit less important with the future refactor work in boots. shrug
"smee" had the most votes in a recent poll in the community slack channel.
https://cloud-native.slack.com/archives/C01SRB41GMT/p1672771947110689?thread_ts=1672771947.110689&cid=C01SRB41GMT