Open cgwalters opened 8 years ago
Why not simply abbreviate rpm-ostree to "ros" ? Not as sexy I admit (heck, Ross was the most boring of the band), but short and types very nicely.
How about "osm" ? Kinda short for "OSTree package manager", but sounds awesome. :)
If we must go the nexus route, I'd vote for "nxt", which types better than nxs as well.
My own un-scientific tests reveals that typing nxs
or nxt
is difficult for me. (Apparently, I haven't trained hard enough to reach that x
key with ease)
But osm
does type much easier, however isn't as exciting as anything nexus
based.
With nxt
, people will likely pronounce it as next
, which may be good or bad or indifferent.
I guess I would throw my vote in for nxt
if we are going the nexus
route.
There's two high level concerns:
/usr/bin
conflictsNow, we should generally assume that we'll have a conflict for any set of three letters in google. The question is more how strongly associated are the letters with 1) Software in general 2) Fedora/CentOS
Some combinations of 3 letters are too well known as either airport codes or tickers, etc.
Specifically we should be able to win google for "XYZ fedora" and "XYZ CentOS". From that perspective, ros
is a bit problematic because http://wiki.ros.org/groovy/Installation/Fedora
Whereas the only hit for "nxt fedora" is https://www.reddit.com/r/runescape/comments/46n3fh/using_nxt_on_fedora/ which looks fairly obscure (I had to look it up, apparently "nxt" is a codename for a new RuneScape client program).
A suggestion of tree-based names came up http://oregonstate.edu/trees/name_common.html
The tree-based names is clever. I thought this would be more "native" for you, though - http://forestry.ohiodnr.gov/trees
If trees are on the table, the Yew tree has some interesting connections, including the fact that it grows new trunks from the root system and survives splitting the main trunk.
No significant collision I can see googling around. Pretty easy to type too.
"nxt" is a cool-sounding combination of letters which means it has a lot of other uses - a blockchain, some sort of desktop even, and apparently most prominently wrestling. Exploring a bit led to "nts" which is a lot less commonly used and has basically zero fedora/centos usage. It's easier to type...and "nexus trees"?
Thinking about acronyms around the lines of "(os)tree package rpm system image atomic":
I like itps the most I think of those. The conflict level is pretty low, it's not hard to type.
+1 for itps
ipts gets a bit too close to ip for my mind. apts gets a bit too close to apt for comfort.
Narrowing down then to:
At the moment I'm not finding something via the "tree names" path that appeals - the downside of those is the association with the software is tenuous (tree - tree, but we also have the package thing in the mix).
One name that I'm now realizing is actually pretty good is lorax but it's definitely taken.
I did recently find one technology-related conflict for nts
which is https://github.com/dfoxfranke/nts
That said...eh. We'll deal with it, meaning should obviously be clear from context.
So, I'm going to advise against doing this.
I'm sorry I'm coming into this so late, but there wasn't any discussion on any forum I'm subscribed to, and I only became aware of this proposal today.
There are a lot of good reasons to rename a project or a utility: conflicts with other programs, misleading command name, poor googleability, market research testing of better new names, etc.. "Difficulty in typing" is simply not one of them, unless you've named your project/program "r4t5t2h4h1" or something with diacriticals. System administrators don't interactively type commands, they script them.
If we're renaming the project, that means that we're hitting a giant "reset" button on building awareness for it. People will not see "nts" as the continuation of "rpm-ostree", as far as they are concerned it will be a complete different project with zero history (and you'll be fielding questions for the next 5 years about "what happened to the rpm-ostree project"). Our community is small enough as it is; do you really want to start over from scratch?
The rename of ostree to libostree doesn't have the same problems; it's a clear continuation, searchable using the same terms, and being done for a better reason (that is, the original name was somewhat misleading).
Further, the proposed name of "nts" has three problems with it:
If you're really concerned about the awkward name/command of rpm-ostree, then there's two reasonable steps you could take:
But please don't junk a name and command that you've spent two years building awareness of for one which is hard to search for, hard to remember, and has no clear upside.
I don't think awareness of rpm-ostree is really large. People mostly seem to skip the name and call it either "atomic" or "ostree", but both of those are problematic and confusing.
"atomic" is a big bag of stuff that's hard to talk about.
Now for "ostree"...as far as separation between ostree and rpm-ostree...there are two things. First, I can't break the ostree command line. We could theoretically replace ostree admin
but...eh. Second, libostree is an independent project that can be reused by other distributions. For example, the flatpak package in debian depends on libostree, which does not (and never will) depend on RPM. In constrast, for rpm-ostree, the intention is to deeply integration with Fedora/CentOS, which would be problematic for Debian and other distributions like OpenEmbedded, etc.
With building the "newname" brand, there is a clear and direct analogy of yum/dnf -> newname in the architecture diagrams (for host systems). It's easy to talk about.
Colin:
Yum/dnf is a great example of the costs of changing command lines and names. I certainly wouldn't hold it up as a positive example of the ease of such things.
Anyway, like I said, if you're going to change names we need a better reason than "hard to type". That reason will also let you choose a better name.
Have you polled any folks who are good at marketing stuff about this?
I think rpm-ostree could definitely use better branding. Renaming it to something more catchy, slapping on a logo and making a website for non-dev audiences would definitely help settle its place in the Project Atomic story (combined with the rename of ostree to libostree). Basically, instead of presenting it as "this is the layer that makes ostree work with RPMs", we can "reduce" ostree to the library that it is, and really concentrate on the features that rpm-ostree brings to Project Atomic as a whole.
From what I understand, this is basically the transformation that happened to xdg-app
/flatpak
, and I think the rebranding worked well there. Maybe @alexlarsson can provide some feedback as to how that went and whether he thinks this is a comparable situation. (Notice BTW that the word ostree
does not appear even once on the flatpak website: http://flatpak.org/).
Yum/dnf is a great example of the costs of changing command lines and names. I certainly wouldn't hold it up as a positive example of the ease of such things.
This is not a good comparison. Yum and dnf are separate codebases, and thus had many differences, which I think is where the frustration came from. Here, we're talking about a rename of the same codebase, with compat symlinks for a long while. This is more comparable to the flatpak story, so again, we should query that community to see in what ways the rename affected them negatively (my guess is, any such effect was probably more than offset by the brand recognition gained).
As to the actual name we rename it to, nts
is nice and has some catchiness to it. Though it would make sense to raise awareness on the mailing lists first and see how the community reacts to it and whether better suggestions come out.
we can "reduce" ostree to the library that it is, and really concentrate on the features that rpm-ostree brings to Project Atomic as a whole
And this is becoming more and more relevant now. With the additions of client-side package layering and initramfs generation, the sysroot upgrader (basically, the code that handles creating new deployments from upgrade
/deploy
/rebase
) has diverged by even more lately from the "vanilla" ostree admin
equivalents. This again hints strongly towards pushing the ostree CLI out of the picture in the sysadmin context and focusing to story on rpm-ostree alone. Removing "ostree" from its name helps with that.
I think this is a good idea, because I agree that the rpm-ostree name is focusing on the wrong thing. All it does is that it says this is a combination of two lower-level technologies, which by themselves are not super interesting to end users. A better approach is for the highest-level user facing project (which in this case is rpm-ostree) to have a nice catchy name with a website and lots of PR, while rpm and ostree are just technologies used in the background.
However, names are very hard. We had a long search for good names in the flatpak project, and in the end we kinda randomly stumbled onto flatpak. But, it was clearly worth doing the switch for us as a project.
Hard to type is relatively minor. That said particularly as we go into the desktop space (and I am working on that), people will type it just as much as they type yum/dnf
.
But yeah, what @jlebon and @alexlarsson said re branding.
Ok, so those are some better reasons.
So, next, regarding names: are you sure you want to go with "nts"? It really does seem likely to lead to confusion with "ntp". I certainly doesn't help market the project. Compare "flatpak", which is a great project name.
I guess for me it would be good to know exactly why rpm-ostree
is a bad name from a "confusion" perspective. i.e. what exactly is the difference between rpm-ostree
and ostree
and why does nts
make this less confusing.
As a non-typical user I've become quite attached to rpm-ostree
as i thought it made things less confusing.. My understanding is rpm-ostree helps you build and distribute ostrees out of RPMs
.
I'm +1 , I prefer rpm-ostree and I know that I can install rpm and use ostree with this tool.
31 Янв 2017 г. 20:56 пользователь "Dusty Mabe" notifications@github.com написал:
I guess for me it would be good to know exactly why rpm-ostree is a bad name from a "confusion" perspective. i.e. what exactly is the difference between rpm-ostree and ostree and why does nts make this less confusing.
As a non-typical user I've become quite attached to rpm-ostree as i thought it made things less confusing.. My understanding is rpm-ostree helps you build and distribute ostrees out of RPMs.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/projectatomic/rpm-ostree/issues/405#issuecomment-276440037, or mute the thread https://github.com/notifications/unsubscribe-auth/AAdYGxjpV6wTNOoMjcVO2Nd0glebD_Reks5rX3XIgaJpZM4JUJY3 .
@jberkus I'd never heard of NTS in a time context before. I did both the google(nts) check as well as wikipedia(nts).
@dustymabe It does that, but it also acts as a client side tool. And to get on my soapbox for a second, I think this feature is of absolutely critical importance - it lets us make inroads into the Linux desktop case which ideally will gain us more developers, and I see the feature as useful on embedded devices potentially too. Yes, many of these are doing containers. But the problem is still the same one we have in our stack - what about all the things that aren't containers, like PAM modules?
So my feeling right now is that I want to do a rename. Willing to entertain other options though. For rost
, a quick google(rost) shows a conflict as the first hit. Not a bad one though. And I like the fact that it has a connection to the previous name.
Although, to be fair there is also a conflict for google(nts fedora).
Perhaps we could come up with something from a non-English language, like skopeo has done?
Using Greek as a starting point, dendro
is tree and dasos
is forest.
@dustymabe It does that, but it also acts as a client side tool. And to get on my soapbox for a second, I think this feature is of absolutely critical importance - it lets us make inroads into the Linux desktop case which ideally will gain us more developers, and I see the feature as useful on embedded devices potentially too. Yes, many of these are doing containers. But the problem is still the same one we have in our stack - what about all the things that aren't containers, like PAM modules?
so could we leave rpm-ostree
as the thing that creates ostrees from rpms
: i.e. rpm-ostree compose tree
and then have the new "thing" (client-side) do more, such as pull from a remote set up a new deployment edit grub, generate initramfs etc.. Am I making any sense?
If we had this separation it would allow someone to create a deb-ostree tool and the new "thing" could consume the repo that was generated from it as well.
As for the bikeshed what about otim
for OsTree Image Manager
or trum
for TRee Update Manager
. I like dasos
a lot, too, but there is this guy: https://github.com/dasos
There are indeed people using libostree for Debian systems. In fact, supporting this is the rationale for having rpm-ostree and ostree separate. For example, https://endlessos.com/ And there's also discussion on the upstream list for both Debian desktop systems and embedded (that one is OpenEmbedded/Yocto, not Debian, but the point remains relevant).
And yeah, I agree that rpm-ostree
"feels" better on compose servers. On that topic though...I'd like to move towards providing Docker images. Like this does.
So I guess a few more questions are:
rpm-ostree
get split out into something else, named something else?rpm-ostree db diff
is useful to me.A diagram of each "tool" in the puzzle and how they fit with everything else would be really useful. Also we could illustrate any piece of the puzzle that can be pluggable, (i.e. rpm-ostree compose tree
and deb-ostree compose tree
could be interchangeable). Sorry to beat this into the ground.
@dustymabe The scope of what we're talking about is in the pull request. What may not be obvious is the underlying infrastructure for having two names exists since this pull request.
Here's a direct commit link.
All of the command line will remain unchanged.
Just to jump on the naming bandwagon, I really like rost
. It's obvious where it comes from, it's short, it's easy to type, and you can say it like a word, rather than an acronym. (Apparently it's an alternative spelling for roust, "a strong tide or current, especially in a narrow channel"). Its pronunciation is pretty close to Rust, though within the context it should be obvious of course.
Just to jump on the naming bandwagon, I really like rost
I'm +1 especially if the R O S T
is just short for Rpm OSTree, which I assume is the case.
oh and is it pronounced "roast" or "rossed" ?
Right, that's what it's short for. I've been pronouncing it "rossed", though funny you say that, according to Merriam-Webster, it's also an old word for roast.
@miabbott Mmm...non-English names increase the risk of conflicting with something and us not knowing unless we find a native speaker. Though dasos
does have a nice ring to it.
For rost
...I think we'd want to check with some other language speakers too. Google Translate thinks it's Romanian - "sneak", though in German it's rust?
Maybe the next step here is to formalize a list of candidates/options, something like:
Then we have some sort of weighted vote by contributors?
+1 for a vote.
I think for rost
we could still have people refer to it as rpm ostree
if they wanted to, as it would just be an acronym for that. also we could encourage people to try to call it "roast" to quell any confusion with "rust" that may happen with variations in the way people pronounce "rossed".
whoa cool look at all the colors I have to paint my bikeshed!
nts
has no easily pronounceable name other than "N T S" and unpronounceable acronyms feel dated to me.nxs
. Looks cool and seems modern. You're just asking for it to be confused with nix
though. Perhaps pxs
(Paxos? hm, no, that's already a thing), pxy
(Pixie, no, that's a boot thing...)dasos
I'm neutral on.itps
reminds me of IMAP
, ipfs
. It's going to get spelled as ipts
and people will confuse it for a network tool. Feels like a super low-level tool.rost
sounds like it would get confused with rust
, both in typing (looks like a typo) and in spoken conversation.razor
. rzr
? :)Where did we land on this? Should we take it for a vote, or maybe just feedback on the lists for now?
rost
sounds like it would get confused withrust
, both in typing (looks like a typo) and in spoken conversation
Yeah, it's a risk, though I think their domains are sufficiently different I think that it'd be pretty easy from context to understand what is meant?
I've already have alias rost=rpm-ostree
😄
Well, I at least really like the Rust programming language and had been trying previous experimentation with using it in libostree - not yet rpm-ostree, but that was the idea. (The thing with doing it for rpm-ostree is it much more quickly hits up on needing usable introspection bindings and that's a whole world in itself)
It feels weird to me if "rost" starts using Rust - particularly given the German connection. I'm not going to say I'm entirely against it, but I can't say I like it (yet) either. Maybe it'd grow on me.
I propose we gather more candidates - I edited the first comment at the top with a list, feel free to comment with more, but please do some checking against the Google criteria.
One criteria to add to the mix is TAB conflicts. For example, here (using atomic-ws:atomicws/fedora/x86_64/continuous
):
# ls -al /usr/bin/fl*
-rwxr-xr-x. 2 root root 697384 Dec 31 1969 /usr/bin/flatpak
-rwxr-xr-x. 3 root root 7866 Dec 31 1969 /usr/bin/flatpak-bisect
-rwxr-xr-x. 3 root root 28192 Dec 31 1969 /usr/bin/flock
That's really good - one can just type fla<tab>
. The fact that flat
is English helps me at least since it's easier to type.
So perhaps an area we're underexploring is longer names that are still "tab-able". I notice at least das<tab>
would work for dasos
.
Can you also add the various criteria in the first post? E.g. Google-ability, tab-ability, etc...
/me wishes we could have a running poll on this somewhere - maybe a google form vote?
Here are a couple more in the "tree" family:
/usr/bin/nextree
Similar to the nts
/nxs
/nxt
ones, though longer to make it more unique and pronounceable.
Tab-ability: starting from nex
./usr/bin/tfoundry
Tab-ability: starting from tf
./usr/bin/tbox
"Box" here hinting at RPM packages.
Tab-ability: it's four characters long :) On AH at least, there's no conflict at tb
.Google-ability for all those seems pretty good. Wikipedia articles all free for grab. Though apparently, TreeBox is a vaping product.
I'd be happy to run a poll, if we can narrow this down to 4 options or fewer.
If we name it "nxs", can we advertise it using the famous boy band of the 80's?
So, where are we on this? Did we lose interest?
I'm definitely still interested. Here's another one in the 3 letter category:
btp
, short for Binary Trees and Packages.
Tab-ability: conflicts, but it's just 3 letters.
Googability: Fine for "fedora btp/centos btp". No major conflicts: https://en.wikipedia.org/wiki/BTP However, the British Transport Police clearly own Google for this now.
I'm still not keen on cryptic TLAs, regardless of what they are. Although at least BTP makes some kind of sense.
I still vote for keeping rpm-ostree
and/or derivative like rost
where we don't lose the identity that once was rpm-ostree
.
I've been thinking about this more lately a lot. I'm increasingly coming around
to the thought that we add three new aliases: yum
, dnf
, (and to some
degree rpm
).
Let's dig into my new proposal here a bit more :smile: First, why rpm
? It's
pretty simple, I want to take over rpm -ivh foo.rpm
for example to redirect to
rpm-ostree install ./foo.rpm
. Another very interesting one is e.g. rpm -qa
-
we could redirect that to a DBus request. Why would we do that? Because running
rpm -q
is fundamentally racy if another process is changing the database.
Which can happen again with us with livefs. That's a very longstanding
issue with RPM that we now have the opportunity to fix with a unified architecture.
To implement this we'd need to symlink /usr/bin/rpm
→ /usr/bin/rpm-ostree
,
parse/intercept options, and redirect back to /usr/libexec/rpm-real
for
options we don't handle.
Next, and probably more controversially, why both yum
and dnf
? Basically, we
start talking about an "ostree plugin" for "yum". Yes, that's not really how it
works, but it's a useful first approximation trying to explain things to someone
who e.g. has been using Ubuntu for a while but has a superficial understanding
of Fedora/yum.
Another argument for this is that our story for many container builds is yum/dnf
,
and having 3rd thing is just confusing.
Things would get interesting if we implement this via the "wrapper model" similar
to what I proposed for /usr/libexec/rpm-real
, since we could e.g. just redirect
to /usr/libexec/dnf-real search
via rpm-ostree search
, without having to
move search out of dnf
and into libdnf
.
(Technically this would mean adding the dnf
package of course to FAH, but
we already have to have Python due to atomic
, cloud-init
, and ansible
anyways)
This proposal makes things messier in some ways for sure, but we avoid having to retrain admin fingers. And it emphasizes much more strongly the package layering support.
Although possibly if we go this route we should only define the aliases for interactive shells, at least at first, to avoid having things detect the presence of /usr/bin/yum
and start doing anything advanced that we may not intercept correctly.
@cgwalters that sounds pretty good to me, it would help people over the transition to Atomic.
Just chiming in to say that the proposed yum/dnf/rpm aliasing would be a very elegant solution to the issue I filed (https://github.com/projectatomic/atomic/issues/1041) about the "Command not found" error for dnf
being very confusing for folks following a regular Fedora tutorial without knowing they have an Atomic Host instance instead.
Elegant from a user perspective, anyway - I make no claims as to the feasibility of an elegant implementation ;)
UPDATE
This issue is now primarily a proposal to use a name like
yum-image
. See this comment and the following.Original comment follows:
As I mentioned in https://github.com/projectatomic/rpm-ostree/pull/307 I'd like to do a rename, for a few reasons, but among others I find myself typing rpm-ostree a lot more, and it's both too long and not very sexy.
Feel free to propose more candidates, but you should verify "Googlability" - specifically we should be able to win google for "XYZ fedora" and "XYZ CentOS". Similarly, Wikipedia. Secondly, also check for "Tab-ability". Are there other conflicts in
/usr/bin
for much of the prefix?Candidates: