-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please consider changing the name of PetSet before General Availability #27430
Comments
Thanks for speaking up - we will definitely take this into the discussions in the community before this feature moves out of alpha. |
Agree. We went with PetSet as a working name in part because we knew it could never be the "real" name, but we didn't have a good name for the concept yet. Names hold power, so we want to be careful to find something thta captures the problem well. Having a first impl of the solution will help refine the problem statement, too. |
@thockin I kinda like it ... and it may be a bit too late. Lots of press about Pet Set already. |
Yeah, I may have misunderstood what was meant by changing it before coming out of alpha. To some extent I think the damage is already done now. |
Blame me 👍 One good thing ... memorable names stick. Can we close this? |
I'd still like the team to consider changing it. |
I think we really should consider changing it. Silly names do stick, but On Fri, Jul 8, 2016 at 3:32 PM, Jimmy Cuadra notifications@github.com
|
@thockin we have videos on YouTube, blog posts, tweet, LinkedIn stuff and presentations at conferences, and many many decks with that content. You want to do the rebranding??? It is a big problem to change at this point... |
Let's just leave it on the table. I suspect neither of us have marketing On Fri, Jul 8, 2016 at 3:55 PM, Chris Love notifications@github.com wrote:
|
I'm 100% ok with renaming, and don't feel like there's any pain in doing so. However, CarSet does not feel like a fit. For any who would like name change, please voice here. We'll bring this up at the community meeting next week, and I'd like to settle on a new name by August 1. |
Re-quoting myself for emphasis:
If the name were something that was seen more universally as unacceptable, I don't think "people already started using the term in social media, oh well, let's keep it" would be an acceptable attitude. The fact that it's already out there doesn't mean there's no value in changing it. If having a reference to something out in the wild meant you couldn't change it in the future, we wouldn't have things like changelogs and semantic versioning. |
CarSet does not have any relevance in tech, can we come up with something techy or ship like? I am sorta on the side of not changing it, but we need a good name. If we do change it we gotta change it quite quickly. People will have PetSet in production very quickly if not now. Changing code because a team chooses to change branding probably will not make people happy. |
Let's be sure to separate this out into two discussions - deciding on a On Fri, Jul 8, 2016 at 7:34 PM, Chris Love notifications@github.com wrote:
|
I'm not bound to CarSet (though PetSet doesn't have any "relevance in tech" either)—I was just offering a suggestion that used a similar metaphor, so as not to simply ask the team to do something without offering a possible way to do it. People who have worked on the feature or been involved in its design discussions will probably have better ideas, since they have the best understanding of the use cases for the feature. |
Just stumbled on this thread...adding my $0.02.
As for PetSets in particular, I think it's a pretty good name. Both informative and evocative (IMO in a good way), which are two of the most important aspects of a name. That said, its really the name of one of several similar kind of features. And within this broader context it lacks the consistency you'd expect across similar things. Don't have any of the history, but I thought Replication Controllers were renamed to Replica Sets to introduce the idea of Sets which could then be applied to different kinds of sets (i.e. PetSets). But as a group, these two names seem random and they miss the opportunity to apply further consistency across Sets (i.e. one name is literal, the other analogous). Also, will there be other kinds of Sets? If not, then random is probably OK. But if there will be more kinds of Sets, then the next one would also have to be random since you definitely shouldn't have two 'literal' names with another that is 'analogous'. That would just make PetSets seem too casual and not serious. |
FamilialSet would get the same idea across. Each member of a family is Or something similar like KinSet or KindredSet On Friday, July 8, 2016, chrismarino notifications@github.com wrote:
|
JetSet seems fitting (and one letter off). Besides relating the term "jet set", a JetSet is composed of Jets, which should be handled with care |
The name petset is derived from the fact that I care about my pets, regardless of what anyone else thinks about their cattle. Cattle are sacred in some places, food in others, and I view that as a culture difference. I won't use pets vs cattle to explain this feature where I'm from, but pets vs servers works just as well :) |
That's a fair point. Pets have value whether or not they are compared to something else. But the usage of the term in Kubernetes is not without context: Pets vs cattle is a metaphor very commonly used in writing about modern infrastructure. A quick Google search even brings up usage of the term in Kubernetes's own blog. It seems to sidestep the issue I'm trying to address to suggest that the term has no prior meaning in this area of our industry. There are an infinite number of things this feature could be called. Surely there is something that would work that doesn't use this metaphor. |
We can publish options for discussion here. Instead of using metaphors, which can have unintended meaning, let's try a descriptive name. Should ideally be easy to understand for someone with a Linux background. Throwing out some options.
|
I think that's a good initial set of names (pun intended). I don't think we're too late to change it, as others have pointed out. Yes, there are videos and other materials out there, but it will only get worse with time. If the community agrees that this is a worthwhile thing to do, it should act quickly, otherwise we end up with fuzzy transitions like the one from Replication Controllers to Deployments and Replica Sets. If we can come up with and agree on API method and parameter names we can certainly converge on object names like these. I find several of the ones proposed by @apsinha to be simple and self-explanatory. I personally think the first two work well: PersistentSet or StatefulSet, as opposed to EphemeralSet. |
My $0.02 vote from Aparna's excellent list:
On the crazy idea side:
I was never fond of PetSet - only for the reason that it is not obvious what it is on its face, and breaks with the obvious naming we have across the product. A "ReplicaSet" is, plainly, a set of replicas. A "Deployment" is ... well ... a deployment. Etc. The word I'm looking for here is "what is the opposite of a bunch of exact replicas, each of which are unique in some way, but still have some similarity as a group." Maybe I'm coming around to Family/FamilialSet. Or ClusterSet? |
Aparna's list is great. My favorite of the bunch is StatefulSet, since the term "stateful application" is used in the container world and should be pretty easily understood. In discussion of container orchestration systems, you'll often hear people ask, "Great, but how does it handle stateful apps?" In a similar way to how the other ThingSets are sets of Things, a StatefulSet is a set of stateful pods/apps. It could even be more explicit: StatefulPodSet. |
FamilySet probably fails the "is a recognizable term for describing the The distinguishing characteristics of the use case for this object is:
Sequence and ordering are relevant, but not strictly necessary (in the On Sat, Jul 9, 2016 at 4:13 PM, Jimmy Cuadra notifications@github.com
|
It's hard to pick a name that doesn't extol any single feature of petset (such as state, persistence, ordering, ordinality, name, sequence). This is one feature we built in reverse, by prototyping a bunch of applications that didn't fit in any existing bucket and formalizing their requirements into an api. This process is sometimes called domain modelling, and the number of things required by this domain is > 1 word. We faced a similar dilemma choosing its api-group. I think "is a recognizable term for describing the concept at play" might be a trap, and we just need to call it a word that makes people think of the domain. |
Aparna's list is awesome!
We should consider primary use-cases of PetSet to choose name http://kubernetes.io/docs/user-guide/petset/#when-to-use-pet-set |
Here are a few more options:
|
I like this @Lukenickerson |
So the features of Pet Set are based on identity and don't have to include Data existence. I can have a stateless Pet Set of an application that required known identity for quorum. I would ask to stay away from names that include references to other components like Persistent Volumes when you don't need a PV for a Pet Set. But back to @smarterclayton's point, should we focus on if we want to change the name to what the name should be on this issue? @smarterclayton you mentioned that we have a procedure for naming stuff? |
I'm personally a fan of PetSet. When I first saw it in the documentation I knew exactly what it was for and what problem it solved before I even read a word about it and how often does that ever happen? It also seems more succinct than any of the alternatives so far. It could be argued that the vast majority of people in the container community will understand the analogy and that anything that can be done to make kubernetes concepts easier to understand by building on existing concepts will reduce the overall bandwidth spent answering questions that could be spent making PetSet's even better :) I'm certainly not opposed to a name change, I just hope it will be for a better, more succinct name since names really are important. :) |
I know people probably don’t want even more choices at this point but, after reading again recent arguments and looking at the options in that poll, I wonder why I haven’t seen: OrderSet - os Key point: Noun (not Adjective) It’s important that the name reflects what the abstraction actually represents and establishes expectations. Just stirring things up on an otherwise boring Saturday :) |
@danpaik I noticed that the polljunkie summary scores do not seem to make sense when compared with the downloadable votes. I encourage you to use the Export to CSV option and crunch the numbers yourself to find the Condorcet winner. |
Thanks for the info. I'll download the csv as well after midnight on Monday night. |
The whole idea of renaming, because of pets should not be replaced (kill and create) is a bit crazy to me. As german I have to say that having shortcuts like "ns" [1] and "sa" [2] are much more offending than "PetSet". [1] https://en.wikipedia.org/wiki/Nazism |
@szuecs it seems unfair to the conversation to compare two letter acronyms as similar to an intentional metaphor. The question is whether the "pet" term lends itself too naturally to the phrase "vs cattle" as discussed from the beginning or whether it stands on its own as @wallverb discussed. I still like pet since it makes me think of my pets, which I do value more than other animals. That's my preference, but I'm happy with how open the discuss has been and I'm thankful our community is rising to the occasion to find a democratic process. Thanks again to @danpaik for all the hard work! |
Minor observation: |
The poll result is official? PetSets are StatefulSets now? |
I think that chosen |
@danpaik do we have results? I need to rename a talk at kubecon |
Yes, I am crunching the final tally to find the condorcet winner which may or may not be consistent with the polljunkie results (which uses a different method). I'll update later today. |
I think what redis did here is worthy of thought: http://redis.io/commands/SLAVEOF When we talk about PetSets, we have an opportunity for advocacy. Talking about things and giving them names is the only way to effect change. I have never thought more about cattle and where meat comes from than I have since the pets vs cattle analogy came about. We don't need to endorse the analogy, but stopping using the words removes that thought from my mind. @jimmycuadra what is a successful outcome here? |
Yes Chris. That was my main concern when I first posted on this thread. But how big of a debt is it really? I mean, this is still beta, and it’s only been out for a few months. I’m not saying the cost is zero. There are clearly many documents, blog posts, tutorials, videos, etc. already out there. My point is that it’s only going to get worse. And if we’re going to make a change it should be done now.
|
I know people probably don’t want even more choices at this point but, after reading again recent arguments and looking at the options in that poll, I wonder why I haven’t seen: OrderSet - os Key point: Noun (not Adjective) It’s important that the name reflects what the abstraction actually represents and establishes expectations. Just stirring things on an otherwise boring Saturday :)
|
PersistentPodSet?
|
I finished crunching the numbers and the winner is StatefulSet. It won via multiple methods - average position (polljunkie) and condorcet using completion rules Schulze/Beatpath/CSSD, CIVS Ranked Pairs, MAM, Condorcet-IRV. There is sometimes a bit of variation on the ordering after the top but the top is always StatefulSet. The new name for PetSets will be StatefulSet. I am truly sorry that some folks were displeased with the processes, transparency, and choices. Hopefully we can do a much better job next time should such a need arise. |
I'll take the todo to formalize some of the name decision processes and get that adapted to api_change.md. We have a set of guidelines for names (some of which we helped describe here) and that will help make the future process for name changes smoother. Marking as resolved - thanks everyone for keeping this civil, even if there were some bumps. |
@danpaik would be great if you consider the old name in the next poll. I don't really care about names, but if you break backwards compatibility, because of renaming then I care. |
@smaterclayton having a defined process about re-naming I think is worthwhile. Think it would have helped with some of the bumps. Appreciate u taking that on |
I'll take the todo to formalize some of the name decision processes and get On Tue, Oct 25, 2016 at 6:08 PM, Dan Paik notifications@github.com wrote:
|
@smarterclayton if you can have a PR / issue open for comment about doing so, that'd be swell (and link it in this issue) |
Renaming to StatefulSet: #35663 |
There is the question of how we decide the name. I don't think voting turned out to be a good way to do that. There is also the question of how rename impacts users. We will see how the "delete alpha resource" impacts users when they upgrade their clusters to 1.5 and StatefulSet. We may decide that pattern is too costly. If so, we should invest in the API machinery to allow us to concurrently host the old Kind and the new Kind (in cases when the representations are intraconvertible). @justinsb we talked about this topic recently. |
@smarterclayton your proposal will cover both those topics? (and more, I suspect, knowing you 😄 ) |
Yeah I plan to early next week. On Thu, Oct 27, 2016 at 2:18 PM, Eric Tune notifications@github.com wrote:
|
I brought this up back when PetSet was just a proposal, but it didn't get much response. At the risk of being labeled or dismissed as an "SJW" or "preachy vegan," or of stirring up drama, please hear me out:
The name PetSet is derived from the common metaphor in infrastructure of "pets vs. cattle." The metaphor encourages infrastructure developers to think of cloud servers as anonymous and fungible resources rather than things to be manually managed by a person. The implication is that instead of treating a server like a pet, which you take care of and treat when it becomes sick, you simply destroy the server and replace it with a new one, as a cattle rancher would simply kill an animal that didn't serve its economic purpose to the rancher. The pet has a personal and emotional value to you, but the cattle is just a commodity.
The lesson in infrastructure here is quite a good one, and its value should be preserved, but using this particular metaphor is quite unfortunate, because it perpetuates the belief that the life and well being of an animal has value only in relation to its value to humans.
This may seem like making a mountain out of a molehill, but try to think about how our language perpetuates our culture and our beliefs. Try to think about it in the context of how future generations will see it. In the same way that homophobic or racist language was (and in some cases still is) commonplace and accepted in days past, in the modern world we generally recognize this language as unacceptable because it promotes a negative world view that we have progressed past. Imagine how angry people would be if this feature were called "WifeSet" and the analogy were "wives vs. bar hook-ups." We're in an era of increasing empathy, and that empathy is not bounded only to other humans. It affects any being that can feel pain, sadness, or loss, like we can.
While I don't claim to have a perfect substitute for this analogy that might replace PetSet, the one I have been using myself is to compare the role of owning a car vs using a taxi or ridesharing service. When you own a car, it is your personal possession. You take care of it. You keep it fueled, cleaned, and maintained in good shape. When it breaks, you get it fixed. In contrast, a taxi or ridesharing service is using a car as a fungible resource. You hail one only when you need the service it provides, and you use it only as long as you require that service. You don't care which car picks you up, or who is driving it, as long as it is fulfills the service. So my own suggestion for a replacement for PetSet is CarSet. If someone has a better idea that seems to "click" with people more, all the better. And of course, the feature could be named something more general—it doesn't have to use an analogy. (I recall that originally "NominalSet" was being considered.)
This issue is not about me or anyone else being "offended," or requesting that the name be changed to CarSet specifically—it's just asking specifically not to invoke the pets vs. cattle metaphor in the name of this feature.
Thank you very much for considering this.
For context, here is my previous comment from back in the proposal phase.
The text was updated successfully, but these errors were encountered: