Welcome to open source software. The site I run has 70,000+ monthly unique visitors; It's used by all of the top tech companies, and brings in about $45 a month in ad revenue. I'm not complaining because the only financial costs are my domain hosting. I chalk up my personal time to an educational investment.
I'm sure Homebrew has a significantly higher value, but you've got to weigh the tradeoffs. If Homebrew cost $9.99 a year for access to updates I would pay it, but I know a lot of people would complain.
Reminds me of one of patio11's posts somewhere. I don't remember which one, but the gist is that big companies basically can't donate to tipjars, patreons, etc. But if you make it a product with an enterprise option for support or something, they'll gladly pay tens of thousands a month.
Until reading this comment, I didn't know they had a patreon page. As far as I can tell, it's not linked from the front page of brew.sh. It is linked down at the bottom of the README on github though.
Anyway, that number would probably be higher if it were advertised more.
Also, interestingly, there are large companies that we know use our software heavily internally who flat out lie about using Homebrew in any form when we've asked for help with resources. It's a sad state of affairs that smaller companies and individuals are far more generous when it comes to supporting us.
> Homebrew requires the CLT on all but the latest version of macOS (to avoid copious workarounds in formulae)
Why? What are these workarounds? The linked PR didn't explain, and as someone who's still got one machine on 10.12 I'd really rather not have to keep CLT installed as well.
Edit: Wow, the maintainer on that PR is a real jerk. He refused to answer a legitimate question (and locked the PR at the same time) because he thought the original (since edited) complaint of "The error message for this patch is terrible" was "rude".
MikeMcQuaid, if you ever read this, this sort of behavior on your part is a great argument for ditching HomeBrew.
> Wow, the maintainer on that PR is a real jerk. He refused to answer a legitimate question (and locked the PR at the same time) because he thought the original (since edited) complaint of "The error message for this patch is terrible" was "rude".
The commenting user in this case immediately opened another issue where they were rude to another maintainer too, had to be warned about their behaviour and (unlike most people who are warned) did not apologise. This issue was not locked.
My work on Homebrew over the last 9 years has been almost entirely in my free time. That's time I'm not spending with my wife, friends, dog or (now) new baby. As my Twitter and GitHub bios point out: "I block rude people". I'm not interested in giving my free time to people who cannot be polite.
The GitHub UI indicates whether someone is a first-time contributor, contributor or maintainer. You get cut proportionally more slack for having a bad day and being rude if you've contributed to Homebrew already. I try to be over-the-top positive for new contributors and I will immediately and genuinely gratefully accept apologies that are given.
> MikeMcQuaid, if you ever read this, this sort of behavior on your part is a great argument for ditching HomeBrew.
If you'd like to ditch Homebrew: please go ahead. There's things that MacPorts do better than we do and the MacPorts maintainers I know are good people. If you use Homebrew: you are the one who benefits, we do not. I want to build something that's useful but primarily maintaining Homebrew needs to be an enjoyable experience for me and others for it to be a sustainable project.
I'm the guy who originally made Homebrew independent of the CLT (GSoC 2015).
macOS is a constantly moving target, and it's hard enough to get consistent behavior across multiple versions with the CLT installed. It's a losing battle that I've been fighting for the last 3 years, and it's one with diminishing returns (only a minority of Homebrew users don't want/need the CLT for other purposes anyways).
Edit: As for PR, we get a lot of issues and PRs that amount to handling a 1% case at the cost of the 99% case. When we get those, we have to consider both to time cost to ourselves and the future maintenance cost. We could probably be a little less brusque about it, but the reality is that we don't have the kind of labor or resources necessary to support maintenance-heavy features like CLT-free installs on older macOS versions.
Why is it necessary for people to be polite in the face of rudeness? Especially when the person expected to be polite is volunteering their time for you?
To enlighten the polite people who have not insulted Homebrew maintainers: the issue with requiring the CLT on everything but the latest version of macOS is because of the horrible workarounds. Grep the Homebrew taps for "Xcode-only", "CLT.installed?", or "clock_gettime" for an idea of the amount of hacks required. I don't know precisely why this occurs but it's related to Apple only shipping the latest SDK in Xcode rather than one that matches the version of macOS that Xcode is running on.
Homebrew is an awesome, super useful piece of software that people put in tonnes of effort to maintain, for free. Your complaint was indeed worded rudely. Also, re: the “why” behind this commit, “to avoid copious workarounds in formulae” is already a pretty good description, I can see why he didn’t feel the need to elaborate.
Remember that maintainers of projects like Homebrew have to deal with an endless stream of complaints and feature requests, and don’t get paid to do so. If this commit is a big deal for you, just make the effort to bring it up in a nice, thoughtful way. Or, don’t use the software if you don’t like it/the maintainers.
I had the same experience with MikeMcQuaid. I asked a question, he got offended, and then he locked the issue. I stopped participating in the community after this.
And now MikeMcQuaid has actually banned me (presumably from the whole organization) over this.
Mike, I don't know what you think you're doing, but you threatened to ban zenspider simply because they asked to have their issue reopened, and you actually banned me because I pointed out that your behavior was unacceptable. I'd go so far as to say you're actually violating your own Code of Conduct, and if you had any sense whatsoever, you'd immediately stop interacting with the community and appoint someone else to handle all tickets from here on out.
Edit: Wow...within 20 seconds of me posting this, an update to "Command Line Tools" version 9.2 showed up in the App Store app. So, if you have this problem, check updates again.
Anyone else getting a warning about command line tools?
$ brew doctor
tells me:
Warning: A newer Command Line Tools release is available.
Update them from Software Update in the App Store.
Looking around, I see that there are two sets of the command line tools installed. There is a set in
The latter is what /usr/bin/clang invokes. The /Library/Developer set is older. The file date on clang is 2017-10-20 on that one, and 2017-11-17 on the one under XCode.app.
Homebrew checks the command line tools version by running "clang --version". It uses this one:
/Library/Devloper/CommandLineTools/usr/bin/clang
It has the /Library/Developer/CommandLineTools prefix hard coded.
The version I have there is 900.0.38. The version under Xcode.app is 900.0.39.2 (which is the version Homebrew wants).
Looking back at my Time Machine backups, I see that /Library/Developer/CommandLineTools/usr did not even have a bin directory until 2017-11-23 (it just had usr/share/man). The bin directory there, and its contents, were apparently created when I installed "Command Line Tools (macOS High Sierra Version 10.13) for Xcode" version 9.1 from the App Store on 2017-11-22. That had clang version 900.0.38. That is also the version that was under Xcode.app at the time.
It looks like on 2017-12-06 there was an Xcode update (version 9.2) that updated the command line tools under Xcode.app bringing the clang version to 900.0.39.2 (which is the one Homebrew wants).
I haven't seen any updates for the "Command Line Tools" package, so what is the correct way to get the 900.0.39.2 tools into /Library/Developer/CommandLineTools/usr/bin, where Homebrew expect to find them? Is Apple just being slow to get the update out?
The first-time installation on Mac OS X 10.5 has been improved
This is just pleasant to see. Some people like/are stuck using older OSes.
Which Apple itself conveniently ignores (inconveniently for its developers), e.g., Xcode hacks and looking for 3rd party copies of old SDKs to be able to keep compiling for older OSes. :(
While it's definitely bad that Apple stopped supporting PowerPC Macs just 3 years after they sold the last machines, expecting any support at all 10 years later is ridiculous.
What ties people to PowerPC these days? Surely the speed and power consumption of the latest Intel machines is 100x better?
To the conversation of making it easier for enterprises to support open source projects.
Would it make sense to create a legal entity whose only goal would be to "sell" enterprise subscriptions to open source products and then channel all the funds to those projects, after taking a reasonable cut for administrative expenses - such as invoicing, collection, production of physical media when required and etc?
That would make support of open source projects fit much easier into standard enterprise procurement process.
Each project would define different levels of subscription with different price tags. Token licenses would be generated and physical media created and mailed out.
Pretty sure something like this was already discussed on HN?
Our team uses MacPorts, at this point mostly out of habit and because no-one has taken the time to try out Homebrew and see how our pipeline would work on that.
Not that we have any problems with MacPorts really.
I too am curious about qualitative differences between the two.
I like MacPorts over Homebrew because MacPorts lives in its own directory. Homebrew can hose your system binaries and that was enough for me to never use it.
I haven't looked into this too heavily, but my understanding is that Homebrew prefixes everything it installs. It does not touch any existing files, so uninstallation (even just to reinstall) is just deleting a directory.
They're removing those taps, but that's because they're migrating the formulas to homebrew core. Do a "brew update" and "brew search apache" and you can see they're all there, but now as just, e,g, "apache-httpd" rather than "homebrew/apache/apache-httpd". I assume the same is going to happen with PHP.
I love that one. I now regularly use "invert a binary tree" as a proxy joke for "let's grill you at a whiteboard with algorithmic puzzles that we never use in practice here but they make a great reason for us to belittle and laugh at you for not being desperate enough to drill these kind of questions for months before coming here"
I dunno--to me that rant hints at a potential inability to take rejection well. No matter what company you're talking about, getting hired has a luck-based component, so you shouldn't take rejection personally. I've probably been turned down for 99% of the jobs I've applied for in my career. If I opened Twitter to rage every time someone told me "no" I'd sound like a lunatic.
In my view, the correct response to being turned down at a company where I want to work is to simply try again later. No need to stress about it.
One of my less-favorite things is how many people always pop up to defend the Google approach and argue that if he couldn't pass such an interview he must by definition not be qualified.
Welcome to the free market, where private companies are free to hire or not hire at will based on criteria that works for them. Writing OSS doesn’t entitle you to any job.
Also “inverting” a binary tree is a trivial computation exercise. There’s a difference between engineering and scripting. Homebrew is very much a scripting problem.
[+] [-] drinchev|8 years ago|reply
I read somewhere ( and I bet ) it's used by Google / Facebook / Apple employees.
[+] [-] blackRust|8 years ago|reply
https://brew.sh/analytics/os-version/
[+] [-] joeblau|8 years ago|reply
I'm sure Homebrew has a significantly higher value, but you've got to weigh the tradeoffs. If Homebrew cost $9.99 a year for access to updates I would pay it, but I know a lot of people would complain.
[+] [-] ufmace|8 years ago|reply
[+] [-] jpk|8 years ago|reply
Anyway, that number would probably be higher if it were advertised more.
[+] [-] efields|8 years ago|reply
[+] [-] mikemcquaid|8 years ago|reply
[+] [-] cholmon|8 years ago|reply
[+] [-] amarsahinovic|8 years ago|reply
[+] [-] the_watcher|8 years ago|reply
[+] [-] eridius|8 years ago|reply
Why? What are these workarounds? The linked PR didn't explain, and as someone who's still got one machine on 10.12 I'd really rather not have to keep CLT installed as well.
Edit: Wow, the maintainer on that PR is a real jerk. He refused to answer a legitimate question (and locked the PR at the same time) because he thought the original (since edited) complaint of "The error message for this patch is terrible" was "rude".
MikeMcQuaid, if you ever read this, this sort of behavior on your part is a great argument for ditching HomeBrew.
[+] [-] mikemcquaid|8 years ago|reply
The commenting user in this case immediately opened another issue where they were rude to another maintainer too, had to be warned about their behaviour and (unlike most people who are warned) did not apologise. This issue was not locked.
My work on Homebrew over the last 9 years has been almost entirely in my free time. That's time I'm not spending with my wife, friends, dog or (now) new baby. As my Twitter and GitHub bios point out: "I block rude people". I'm not interested in giving my free time to people who cannot be polite.
The GitHub UI indicates whether someone is a first-time contributor, contributor or maintainer. You get cut proportionally more slack for having a bad day and being rude if you've contributed to Homebrew already. I try to be over-the-top positive for new contributors and I will immediately and genuinely gratefully accept apologies that are given.
> MikeMcQuaid, if you ever read this, this sort of behavior on your part is a great argument for ditching HomeBrew.
If you'd like to ditch Homebrew: please go ahead. There's things that MacPorts do better than we do and the MacPorts maintainers I know are good people. If you use Homebrew: you are the one who benefits, we do not. I want to build something that's useful but primarily maintaining Homebrew needs to be an enjoyable experience for me and others for it to be a sustainable project.
[+] [-] woodruffw|8 years ago|reply
macOS is a constantly moving target, and it's hard enough to get consistent behavior across multiple versions with the CLT installed. It's a losing battle that I've been fighting for the last 3 years, and it's one with diminishing returns (only a minority of Homebrew users don't want/need the CLT for other purposes anyways).
Edit: As for PR, we get a lot of issues and PRs that amount to handling a 1% case at the cost of the 99% case. When we get those, we have to consider both to time cost to ourselves and the future maintenance cost. We could probably be a little less brusque about it, but the reality is that we don't have the kind of labor or resources necessary to support maintenance-heavy features like CLT-free installs on older macOS versions.
[+] [-] jonchang|8 years ago|reply
To enlighten the polite people who have not insulted Homebrew maintainers: the issue with requiring the CLT on everything but the latest version of macOS is because of the horrible workarounds. Grep the Homebrew taps for "Xcode-only", "CLT.installed?", or "clock_gettime" for an idea of the amount of hacks required. I don't know precisely why this occurs but it's related to Apple only shipping the latest SDK in Xcode rather than one that matches the version of macOS that Xcode is running on.
[+] [-] yashap|8 years ago|reply
Remember that maintainers of projects like Homebrew have to deal with an endless stream of complaints and feature requests, and don’t get paid to do so. If this commit is a big deal for you, just make the effort to bring it up in a nice, thoughtful way. Or, don’t use the software if you don’t like it/the maintainers.
[+] [-] felixgallo|8 years ago|reply
[+] [-] zachberger|8 years ago|reply
[+] [-] lilyball|8 years ago|reply
Mike, I don't know what you think you're doing, but you threatened to ban zenspider simply because they asked to have their issue reopened, and you actually banned me because I pointed out that your behavior was unacceptable. I'd go so far as to say you're actually violating your own Code of Conduct, and if you had any sense whatsoever, you'd immediately stop interacting with the community and appoint someone else to handle all tickets from here on out.
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] sametmax|8 years ago|reply
[+] [-] tzs|8 years ago|reply
Anyone else getting a warning about command line tools?
tells me: Looking around, I see that there are two sets of the command line tools installed. There is a set in and a set in The latter is what /usr/bin/clang invokes. The /Library/Developer set is older. The file date on clang is 2017-10-20 on that one, and 2017-11-17 on the one under XCode.app.Homebrew checks the command line tools version by running "clang --version". It uses this one:
It has the /Library/Developer/CommandLineTools prefix hard coded.The version I have there is 900.0.38. The version under Xcode.app is 900.0.39.2 (which is the version Homebrew wants).
Looking back at my Time Machine backups, I see that /Library/Developer/CommandLineTools/usr did not even have a bin directory until 2017-11-23 (it just had usr/share/man). The bin directory there, and its contents, were apparently created when I installed "Command Line Tools (macOS High Sierra Version 10.13) for Xcode" version 9.1 from the App Store on 2017-11-22. That had clang version 900.0.38. That is also the version that was under Xcode.app at the time.
It looks like on 2017-12-06 there was an Xcode update (version 9.2) that updated the command line tools under Xcode.app bringing the clang version to 900.0.39.2 (which is the one Homebrew wants).
I haven't seen any updates for the "Command Line Tools" package, so what is the correct way to get the 900.0.39.2 tools into /Library/Developer/CommandLineTools/usr/bin, where Homebrew expect to find them? Is Apple just being slow to get the update out?
[+] [-] iRobbery|8 years ago|reply
Side note: I find it a pity brew upgrade webcalls google analytics.
[+] [-] mmastrac|8 years ago|reply
[+] [-] dom96|8 years ago|reply
[+] [-] danra|8 years ago|reply
This is just pleasant to see. Some people like/are stuck using older OSes.
Which Apple itself conveniently ignores (inconveniently for its developers), e.g., Xcode hacks and looking for 3rd party copies of old SDKs to be able to keep compiling for older OSes. :(
[+] [-] mikemcquaid|8 years ago|reply
[+] [-] orbitur|8 years ago|reply
What ties people to PowerPC these days? Surely the speed and power consumption of the latest Intel machines is 100x better?
[+] [-] TY|8 years ago|reply
Would it make sense to create a legal entity whose only goal would be to "sell" enterprise subscriptions to open source products and then channel all the funds to those projects, after taking a reasonable cut for administrative expenses - such as invoicing, collection, production of physical media when required and etc?
That would make support of open source projects fit much easier into standard enterprise procurement process.
Each project would define different levels of subscription with different price tags. Token licenses would be generated and physical media created and mailed out.
Pretty sure something like this was already discussed on HN?
[+] [-] bluedino|8 years ago|reply
[+] [-] zakk|8 years ago|reply
- MacPorts does not track you by default with Google analytics.
- MacPorts lives by default in a self-contained directory tree.
- MacPorts tends to be more stable than Homebrew, but that’s just my personal experience.
- I didn’t like the slogans Homebrew used for years, implying MacPorts wasn’t good quality.
[+] [-] ketralnis|8 years ago|reply
[+] [-] AceJohnny2|8 years ago|reply
Not that we have any problems with MacPorts really.
I too am curious about qualitative differences between the two.
[+] [-] mulmen|8 years ago|reply
[+] [-] epicide|8 years ago|reply
MacPorts does not work the same way.
Edit: grammar.
[+] [-] fs111|8 years ago|reply
[+] [-] 2bitencryption|8 years ago|reply
Just curious, that always seemed like a strange scenario.
* or am I wrong that it ever did?
[+] [-] dunein|8 years ago|reply
[+] [-] mikemcquaid|8 years ago|reply
[+] [-] jlillyreed|8 years ago|reply
[+] [-] chipotle_coyote|8 years ago|reply
[+] [-] dordoka|8 years ago|reply
For example, apache has been moved to homebrew-core. You can see that in the archived repository: https://github.com/Homebrew/homebrew-apache
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] snitzr|8 years ago|reply
[+] [-] philip1209|8 years ago|reply
https://mobile.twitter.com/mxcl/status/608682016205344768?la...
[+] [-] rdtsc|8 years ago|reply
[+] [-] ryandrake|8 years ago|reply
In my view, the correct response to being turned down at a company where I want to work is to simply try again later. No need to stress about it.
[+] [-] ubernostrum|8 years ago|reply
[+] [-] kindfellow92|8 years ago|reply
Also “inverting” a binary tree is a trivial computation exercise. There’s a difference between engineering and scripting. Homebrew is very much a scripting problem.
[+] [-] anabala|8 years ago|reply
[deleted]
[+] [-] huwinfa|8 years ago|reply