<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>starhaven.io</title><description>Open-source tools for macOS and developer workflows, plus the occasional write-up.</description><link>https://starhaven.io/</link><language>en-us</language><atom:link href="https://starhaven.io/rss.xml" rel="self" type="application/rss+xml"/><item><title>The Package Manager for Everywhere</title><link>https://starhaven.io/blog/2026-07-27-the-package-manager-for-everywhere/</link><guid isPermaLink="true">https://starhaven.io/blog/2026-07-27-the-package-manager-for-everywhere/</guid><description>Homebrew has grown far beyond its macOS roots</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Rethinking where Homebrew runs&lt;/h2&gt;
&lt;p&gt;For years, Homebrew described itself as &quot;The Missing Package Manager for macOS
(or Linux)&quot;. Buried in the
&lt;a href=&quot;https://brew.sh/2026/06/11/homebrew-6.0.0/&quot;&gt;release notes&lt;/a&gt; for Homebrew 6.0.0
was a small line you may have missed.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Homebrew is increasingly a &lt;strong&gt;&quot;package manager for everywhere&quot;&lt;/strong&gt;: Homebrew is
recommended in Microsoft&apos;s Windows Developer Config for WSL comfort, works
well on Bazzite and now supports &lt;code&gt;winget&lt;/code&gt; in &lt;code&gt;brew bundle&lt;/code&gt; as a Windows-only
feature.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In July 2026, we
&lt;a href=&quot;https://github.com/Homebrew/brew/pull/23315&quot;&gt;updated references&lt;/a&gt;
to the old tagline across the Homebrew codebase. Homebrew now describes itself
as The Package Manager for Everywhere.&lt;/p&gt;
&lt;h2&gt;The numbers&lt;/h2&gt;
&lt;p&gt;Homebrew collects
&lt;a href=&quot;https://docs.brew.sh/Analytics&quot;&gt;aggregate, anonymous analytics&lt;/a&gt;. Analytics are
opt-out, and Homebrew displays a notice before enabling them so users can opt
out before an event is sent.&lt;/p&gt;
&lt;p&gt;These reports count events generated by Homebrew activity, not unique users,
machines, or installations. A frequently used installation can generate more
events than an occasional one, while CI systems can generate many more.&lt;/p&gt;
&lt;p&gt;Even with that limitation, the data can show us broad patterns in how and where
Homebrew is used. The split between macOS and Linux is similar across the three
trailing windows below.&lt;/p&gt;
&lt;p&gt;All figures in this article come from Homebrew&apos;s public analytics API and were
retrieved on 2026-07-27 UTC. The windows overlap and should not be read as
three separate points in time.&lt;/p&gt;
&lt;h3&gt;Homebrew events by platform&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Window&lt;/th&gt;
&lt;th&gt;macOS&lt;/th&gt;
&lt;th&gt;Linux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Last 365 days&lt;/td&gt;
&lt;td&gt;75.6%&lt;/td&gt;
&lt;td&gt;24.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last 90 days&lt;/td&gt;
&lt;td&gt;75.2%&lt;/td&gt;
&lt;td&gt;24.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last 30 days&lt;/td&gt;
&lt;td&gt;76.1%&lt;/td&gt;
&lt;td&gt;23.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Linux is harder to interpret because CI accounts for a large amount of its
activity. Over the last 30 days, 53.4% of Linux events reported running in CI,
compared with 20.6% on macOS.&lt;/p&gt;
&lt;p&gt;The public analytics API reports operating-system versions and CI status in
separate aggregates. It cannot tell us directly which Linux distributions
produced those CI events. The table below uses a simplifying assumption: it
assigns all Linux CI events to the combined Ubuntu, Debian, Fedora, Amazon Linux,
RHEL-family, and Arch group. It should be read as an estimate rather than a
directly measured breakdown of non-CI event activity.&lt;/p&gt;
&lt;h3&gt;Estimated share of non-CI Linux events&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Linux group&lt;/th&gt;
&lt;th&gt;365d&lt;/th&gt;
&lt;th&gt;90d&lt;/th&gt;
&lt;th&gt;30d&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;General-purpose distributions (combined)&lt;/td&gt;
&lt;td&gt;73.1%&lt;/td&gt;
&lt;td&gt;66.5%&lt;/td&gt;
&lt;td&gt;65.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Universal Blue&lt;/td&gt;
&lt;td&gt;18.7%&lt;/td&gt;
&lt;td&gt;26.0%&lt;/td&gt;
&lt;td&gt;26.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux Mint&lt;/td&gt;
&lt;td&gt;1.9%&lt;/td&gt;
&lt;td&gt;1.7%&lt;/td&gt;
&lt;td&gt;1.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pop!_OS&lt;/td&gt;
&lt;td&gt;1.2%&lt;/td&gt;
&lt;td&gt;1.0%&lt;/td&gt;
&lt;td&gt;1.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CachyOS&lt;/td&gt;
&lt;td&gt;0.6%&lt;/td&gt;
&lt;td&gt;0.8%&lt;/td&gt;
&lt;td&gt;0.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;All others&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;td&gt;4.0%&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The recent Universal Blue share stands out.
&lt;a href=&quot;https://universal-blue.org/&quot;&gt;Universal Blue&lt;/a&gt; provides a community process for
building operating-system images based on Fedora Atomic. Those images include
&lt;a href=&quot;https://bazzite.gg/&quot;&gt;Bazzite&lt;/a&gt;, &lt;a href=&quot;https://projectbluefin.io/&quot;&gt;Bluefin&lt;/a&gt;, and
&lt;a href=&quot;https://getaurora.dev/en/&quot;&gt;Aurora&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Under this estimate, Universal Blue accounts for roughly 26% of non-CI Linux
events in both recent windows, compared with 18.7% across the trailing year.&lt;/p&gt;
&lt;p&gt;Universal Blue&apos;s underlying event count is measured directly. The uncertainty
lies in treating those events as non-CI because the operating-system report
does not include CI status. The resulting 26% estimate would change materially
only if a meaningful share of Universal Blue activity came from CI.&lt;/p&gt;
&lt;h3&gt;Universal Blue share of estimated non-CI Linux events&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Image&lt;/th&gt;
&lt;th&gt;365d&lt;/th&gt;
&lt;th&gt;90d&lt;/th&gt;
&lt;th&gt;30d&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bazzite&lt;/td&gt;
&lt;td&gt;12.4%&lt;/td&gt;
&lt;td&gt;20.7%&lt;/td&gt;
&lt;td&gt;20.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bluefin&lt;/td&gt;
&lt;td&gt;4.1%&lt;/td&gt;
&lt;td&gt;3.5%&lt;/td&gt;
&lt;td&gt;3.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aurora&lt;/td&gt;
&lt;td&gt;2.2%&lt;/td&gt;
&lt;td&gt;1.8%&lt;/td&gt;
&lt;td&gt;2.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Bazzite alone accounts for about one in five estimated non-CI Linux events in
both recent windows.&lt;/p&gt;
&lt;h2&gt;Shipping &lt;code&gt;brew&lt;/code&gt; by default&lt;/h2&gt;
&lt;p&gt;Bazzite, Bluefin, and Aurora use three complementary ways of delivering
software: image-based updates for the operating system, Flatpak for graphical
applications, and Homebrew for command-line tools.&lt;/p&gt;
&lt;p&gt;Homebrew is not merely available on these systems. They include it by default
and present it as a preferred way to install command-line software. The
projects document that integration directly for
&lt;a href=&quot;https://docs.bazzite.gg/Installing_and_Managing_Software/Homebrew/&quot;&gt;Bazzite&lt;/a&gt;,
&lt;a href=&quot;https://docs.projectbluefin.io/command-line/&quot;&gt;Bluefin&lt;/a&gt;, and
&lt;a href=&quot;https://docs.getaurora.dev/guides/software/&quot;&gt;Aurora&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These integrations appear to have developed independently of Homebrew. I am not
aware of a formal relationship or ongoing coordination between Homebrew and any
of these projects.&lt;/p&gt;
&lt;p&gt;That matters. It suggests that Homebrew&apos;s Linux support and package catalogue
have become useful enough for other projects to make them part of their
default experience without first needing a coordinated upstream integration.
Homebrew is no longer only software that people install after setting up their
computer. It now forms part of the experience delivered by community-maintained
operating systems.&lt;/p&gt;
&lt;h2&gt;The Windows question&lt;/h2&gt;
&lt;p&gt;An evergreen question we receive is: &quot;When are you going to support Windows?&quot;&lt;/p&gt;
&lt;p&gt;Homebrew does not run natively on Windows. It does support an increasingly
useful Windows development workflow through Windows Subsystem for Linux.
Homebrew itself runs as a Linux process inside WSL, while selected features
can integrate with the Windows host.&lt;/p&gt;
&lt;p&gt;Microsoft&apos;s
&lt;a href=&quot;https://github.com/microsoft/WindowsDeveloperConfig#-wsl-comfort&quot;&gt;Windows Developer Config&lt;/a&gt;
offers Homebrew as an optional part of its WSL Comfort setup. When Homebrew is
running under WSL, &lt;code&gt;brew bundle&lt;/code&gt; can also
&lt;a href=&quot;https://github.com/Homebrew/brew/pull/22397&quot;&gt;manage Windows packages through &lt;code&gt;winget&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To better understand this group, we began
&lt;a href=&quot;https://github.com/Homebrew/brew/pull/22558&quot;&gt;labeling WSL analytics&lt;/a&gt; in
Homebrew 6.0.0, released on 2026-06-11.&lt;/p&gt;
&lt;p&gt;WSL currently accounts for around 3.7% of non-CI Linux events over the last
30 days. We only have labeled data from late June onward, so this is an early
figure that is certain to change. WSL is also an environment rather than a
distribution family. Its events are counted under the underlying Linux
distribution, primarily within the combined row above.&lt;/p&gt;
&lt;p&gt;I&apos;m looking forward to seeing how this data develops and where WSL sits in
Homebrew activity a year from now.&lt;/p&gt;
&lt;h2&gt;What &quot;everywhere&quot; costs us&lt;/h2&gt;
&lt;p&gt;Most Homebrew maintainers primarily use macOS. A much smaller group works
regularly with Linux distributions and their particular constraints.&lt;/p&gt;
&lt;p&gt;One of those maintainers, &lt;a href=&quot;https://github.com/ZhongRuoyu&quot;&gt;Ruoyu Zhong&lt;/a&gt;, put
tremendous effort into bringing ARM64 Linux support to Homebrew and helping
make it a Tier 1 supported platform. I highly recommend
&lt;a href=&quot;https://www.zhongruoyu.com/talks/homebrew-on-arm64-linux/&quot;&gt;his FOSDEM 2025 talk&lt;/a&gt;
about that work.&lt;/p&gt;
&lt;p&gt;That effort also illustrates the cost of supporting more platforms. When a
downstream operating system includes Homebrew by default, some of its users
will inevitably bring platform-specific problems to Homebrew&apos;s issue trackers.
Some will be upstream Homebrew bugs. Others will result from the downstream
integration or the underlying operating system. Determining which is which
still requires maintainer time.&lt;/p&gt;
&lt;p&gt;Homebrew also has an important support boundary. Its current
&lt;a href=&quot;https://docs.brew.sh/Support-Tiers&quot;&gt;Tier 1 criteria&lt;/a&gt; for Linux cover supported
Ubuntu releases and Homebrew-provided Docker images, along with requirements
for architecture, prefix, system libraries, and other configuration details.
Fedora-based Universal Blue images do not currently meet that distribution
criterion.&lt;/p&gt;
&lt;p&gt;That does not mean Homebrew cannot work well on those systems. The activity
above suggests that it can. It means that platform-specific failures do not
carry the same support promise as failures reproduced on a Tier 1
configuration.&lt;/p&gt;
&lt;p&gt;Security and trust introduce another boundary. Homebrew can attest to the code,
bottles, and official installation methods that the project ships. A downstream
project controls how Homebrew is installed, who owns the installation, how it
is updated, whether anything is modified, and how it interacts with the rest
of the operating system. Even when the Homebrew code itself is unchanged,
those integration decisions can affect its security and reliability.&lt;/p&gt;
&lt;p&gt;Homebrew&apos;s
&lt;a href=&quot;https://github.com/Homebrew/brew/blob/main/LICENSE.txt&quot;&gt;BSD-2-Clause license&lt;/a&gt;
allows redistribution with or without modification and disclaims warranties
and liability. That establishes the legal baseline, but it does not determine
how users will attribute a failure. If a downstream integration breaks or
suffers a security incident, many people will not immediately distinguish
between Homebrew itself and its downstream delivery.&lt;/p&gt;
&lt;p&gt;That freedom is part of the beauty of open-source software. Homebrew does not
need or seek control over projects that redistribute it. But as those
integrations become more widely used, clearer communication about support,
updates, and security becomes valuable to everyone involved.&lt;/p&gt;
&lt;h2&gt;Where this goes&lt;/h2&gt;
&lt;p&gt;Homebrew is a package manager and an open-source project that I love
maintaining. We will continue working to make it a free way to install software
across the platforms we support.&lt;/p&gt;
&lt;p&gt;The adoption described here makes me wonder whether closer relationships with
downstream projects would benefit everyone involved. That does not need to mean
approval, control, or a formal partnership. Even lightweight coordination could
give us known security contacts, document how Homebrew is installed and
updated, and help route integration-specific problems to the right project.&lt;/p&gt;
&lt;p&gt;If you maintain a project that ships Homebrew by default, or uses it in some
other creative way, I would love to learn more about what you are doing and
how you handle updates, support, and security. You can find me on
&lt;a href=&quot;https://mastodon.social/@linnane&quot;&gt;Mastodon&lt;/a&gt; or email me at
&lt;a href=&quot;mailto:patrick@brew.sh&quot;&gt;patrick@brew.sh&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is a personal post reflecting my perspective as a Homebrew maintainer,
not a statement of Homebrew project policy.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Methodology:&lt;/strong&gt; The figures in this article come from Homebrew&apos;s public
analytics API. These are rolling windows, so requests made later will not
reproduce the exact values retrieved on 2026-07-27 UTC.&lt;/p&gt;
&lt;p&gt;The platform, CI, and WSL figures, as well as the non-CI Linux denominator,
come from the &lt;code&gt;homebrew-os-arch-ci&lt;/code&gt; report. The distribution numerators come
from &lt;code&gt;os-version&lt;/code&gt;. These reports can have slightly different total event
counts, so independently calculated results may differ slightly after
rounding.&lt;/p&gt;
&lt;p&gt;As described above, the calculation assigns all reported Linux CI events to
the combined Ubuntu, Debian, Fedora, Amazon Linux, RHEL-family, and Arch group.&lt;/p&gt;
&lt;p&gt;Replace &lt;code&gt;30d&lt;/code&gt; with &lt;code&gt;90d&lt;/code&gt; or &lt;code&gt;365d&lt;/code&gt; to retrieve the other windows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://formulae.brew.sh/api/analytics/os-version/30d.json&quot;&gt;https://formulae.brew.sh/api/analytics/os-version/30d.json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://formulae.brew.sh/api/analytics/homebrew-os-arch-ci/30d.json&quot;&gt;https://formulae.brew.sh/api/analytics/homebrew-os-arch-ci/30d.json&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI disclosure:&lt;/strong&gt; I wrote the original draft of this post. I used AI during
the editing process to stress-test claims, reproduce the analytics, and
improve its structure and clarity. I reviewed the final text and remain
responsible for its content.&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>Hello from starhaven.io</title><link>https://starhaven.io/blog/2026-04-17-hello-starhaven/</link><guid isPermaLink="true">https://starhaven.io/blog/2026-04-17-hello-starhaven/</guid><description>A welcome note, the projects in flight, and what the blog will be for.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Hi, I&apos;m Patrick. I&apos;ve been wanting a place for my projects and the occasional write-up that isn&apos;t a social-media account. This is that.&lt;/p&gt;
&lt;h2&gt;What lives here&lt;/h2&gt;
&lt;p&gt;Outside of my day-to-day on Homebrew, three smaller projects are in flight:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/starhaven-io/Brewy&quot;&gt;Brewy&lt;/a&gt;&lt;/strong&gt;: a SwiftUI macOS GUI for Homebrew.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://macosdb.com/&quot;&gt;macOSdb&lt;/a&gt;&lt;/strong&gt;: a catalog of which open-source component versions ship with each macOS and Xcode release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://pinprick.rs/&quot;&gt;pinprick&lt;/a&gt;&lt;/strong&gt;: a supply-chain security scanner for GitHub Actions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What to expect&lt;/h2&gt;
&lt;p&gt;Open source, security, and whatever else I feel like writing about. There&apos;s an &lt;a href=&quot;https://starhaven.io/rss.xml&quot;&gt;RSS feed&lt;/a&gt; if you prefer a reader.&lt;/p&gt;
&lt;p&gt;More soon.&lt;/p&gt;
</content:encoded></item></channel></rss>