Skip to content
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

Rhetorical: Why did caskroom just re-install (rather than migrate) every app in Brewfile? #21894

Closed
remy-actual opened this issue Jun 12, 2016 · 3 comments

Comments

@remy-actual
Copy link
Contributor

Yes, I know why. But since a main topic of discussion in "the relevant issue and pull request" is the Caskroom UX, I thought I'd share my User Experience this morning.

Steps to replicate:

  • Run Brewfile
  • Encounter questions
  1. Why is cask reporting Adium not currently installed?
  2. We're re-installing Adium now? Okay...
  3. Now cask is reporting BitBar is not currently installed too? Um... I'm looking at it running in the Menu Bar right now.
  4. Did I mess something up? Is Cask misconfigured?
  5. Are we re-installing everything? A - Z ?
  6. 😑 We are reinstalling everything. Greeeeeaaat. How long is this going to take?
  7. "It seems there is already an App at '/Applications/iTerm.app'; not moving." No kidding! Where do you think I'm reading this?
  8. So... does this mean I have two copies of iTerm on my system now? Two Google Chromes?
  9. How much am I going to have to clean up? Am I going to have a bunch of broken links? Working links pointing to multiple installs? This is turning into a real PITA.
  10. How much of this is running brew cask cleanup going to fix?
  11. 😱 Are my app preferences being preserved? Or are they getting wiped out? Because that would suck. Guess we'll wait and see!
  12. Well my custom key maps aren't functioning now. Time to go re-setup Karabiner! 😡
  13. Ugh. MacTeX. Seriously? All I wanted was to install colordiff and brew upgrade. I'm gonna go take a shower...
  14. Okay. 30 minutes and 6.6 gigs later and we're done! Glad I have a decent processor and unlimited reliable bandwidth. Feel bad today for anybody who doesn't 😕 ...
  15. Ugh. What is this system pop-up? I don't even know what app is sending this...
    whoareyou
  16. Is this the thing they were talking about in the README about changing Caskroom behavior? They wouldn't push out a major change like that without including some notification on the command line, right? I mean, Cask is a CLI workflow -- why wouldn't you advise your users of changes in the CLI?
  17. Maybe they did and I just didn't see it because I'm calling Brewfile from a script. But surely that's a very common use case for Cask, right?

Not offering this as a complaint. Just a head's up for how pushing out silent changes can really bork someone's work day.

Anyways... gonna go play detective in my filesystem now.

@vitorgalvao
Copy link
Member

vitorgalvao commented Jun 12, 2016

@remy-actual Thank you for your well-written, detailed, understanding, and polite comment. It’s a good example to any bug reporter. Since I like it a lot, I’ll make this issue the default to explain this problem, and what we’re doing. First, the thought process1:

  • We are alpha-grade software, and you should not yet rely on us to be stable and not break things. This has been made clear and repeated since the inception of the software.
  • brew cask list is broken and you should not rely on it under any under circumstance. This has been made clear and repeated for over one year.
  • There is no upgrade functionality, and any upgrading tricks you use are unsupported. This has been made clear and repeated for over one year.
  • We will undergo under major breaking changes, and are aware things will break. This has been made clear and repeated for almost a year.
  • The alternative to breaking things is doing nothing and stagnation. This is not supposition, but a proven reality. We know because the project was dead core-wise for a long time.

All that said, the project was stagnant before the addition of @jawshooah and the return of @claui, both of which we’re very lucky to have (and every other maintainer, naturally, but they are particularly relevant to this point since they work a lot on the core and the core was the stagnant part).

In addition, I did not predict this would cause such distress to some people, seeing as the much bigger behavioural change has been going pretty smoothly, all things considered. I also wanted this new change to be made really soon so it could piggyback on the other pull request and cause the least amount of distress (everything at once, instead of one major break here, one major break there).

So in summation, my apologies for the disturbance. A fix is on the way. In the meantime, there are workarounds.

I ask that any non-maintainer commenting after this only does so with something constructively relevant. Insults and comments about what we should have done2 will lead us nowhere, and will be deleted3. This comment admits the mistake, gives context as to why it happened, and describes the coming fix and the present workaround. Please do not comment if your comment isn’t pertinent to the fix.

Thank you in advance for understanding and keeping things civil.


1 If it seems like I’m evading blame, rest assured I am not, as you will see if you read until the end.
2 Especially from users who never otherwise contributed, even in discussions, as is the norm.
3 It pains me a bit to do so, but I will not submit myself or the other maintainers to abuse (though it has yet to happen on this issue, I don’t see it far off).

@Homebrew Homebrew locked and limited conversation to collaborators Jun 12, 2016
@vitorgalvao
Copy link
Member

vitorgalvao commented Jun 13, 2016

Since in less than an hour I’ve already been forced to play whack-a-mole and am starting to get unfriendly twitter mentions, I’ve locked the issue.

My sincere apologies to everyone that has a genuine comment related to the fix and now is prevented from commenting, but I’m a person, I had a full day, and I am tired and just want to go to sleep. Frankly, had it not been for seeing an email related to this and seeing some people were having issues, I wouldn’t even have opened my laptop after I got home. I did so because I care about this community and our users, and you deserve a reassurance we’re taking care of this. More specifically, at the moment @jawshooah is. It was his comment that alerted me.

Every maintainer of this project, past and present, has been a pleasure to work with, and I’m really glad to have them all on this team. Most of our contributors, experienced and unexperienced alike, are nice and understanding people that I like to encounter every day, even if to many I simply merge the PR without saying a word. Rest assured, those are a huge favourite to merge, when everything is fine. We simply get a huge barrage of daily PRs, and thanking you all individually every time does add up.

When I read a comment, I always read it in the most positive way possible. I always assume the user is typing it with a smile and being friendly. That way only the unambiguously aggressive comments are treated as such. Those are a shame when they happen, and even more of a shame when they continue after all the points have been addressed in a polite manner.

Occasionally we do encounter some entitled users, or users that just want to argue. Those users quite often get me close to burnout. Those users are also always users that haven’t previously commented or contributed. Those users do not care that we are all people and volunteers, doing the best we can with the time available. Those users do not take the time to understand a bit of our history and the “why” of decisions, the context of an always evolving project. Those users, to put it bluntly, are not worth it. Those users can bugger off; their absence is appreciated.

And then we have users like @remy-actual, who even in frustration can make a friendly bug report, not bashing the people that caused the frustration, but commenting on the cause itself. Those are the ones worth it. Those many times end up being great maintainers as well (I’ll mention @adidalal as one of the friendliest maintainers I’ve ever encountered, in any project).

When maintainers burnout, the whole community suffers. I do not want to burnout, I want to make this project the best it can be, even if it means breaking things and owning that breakage, or breaking things and scaling back the breakage.

Thank you to all of you that make it worth it. Thank you to all of you who are friendly and understand healthy people make healthy software.

@vitorgalvao
Copy link
Member

The fix is in. Closing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants