There's 49 permutations of GOOS + GOARCH that we can build for, plus whatever we get when we add in GOARM and GOAMD64:
go tool dist list
So which should we release for?
Wild guesstimates from Gippity:
Including appliances like routers, game consoles, and other embedded devices dramatically changes the estimates, particularly for Linux and FreeBSD. Here's an updated estimate factoring in those broader use cases:
Operating System
Users/Devices
Comment
Android
~3 billion
No significant change—dominates mobile but not commonly used in appliances.
Windows
~1.5 billion
Mostly desktops and laptops; minor use in specialized systems.
iOS
~1.2 billion
Mostly mobile, some use in iPads in embedded/enterprise contexts.
Linux
~5 billion
Massive expansion when including routers, smart TVs, IoT devices, automotive systems, and gaming consoles (e.g., Nintendo Switch). Linux dominates the appliance market.
Darwin (macOS)
~100 million
Mostly desktop and mobile, minimal embedded usage outside of Apple devices.
FreeBSD
~50 million
Widely used in routers, storage appliances, and embedded systems (e.g., PlayStation consoles, Juniper routers).
Illumos
~100,000
Some use in specialized infrastructure systems and storage appliances.
OpenBSD
~500,000
Expanded slightly due to its use in security appliances and firewalls.
NetBSD
~500,000
Increased due to its reputation for portability, used in embedded systems.
Solaris
~100,000
Still used in legacy enterprise systems and some storage solutions.
Plan 9
~10,000
No significant appliance usage.
WASI (wasip1)
~10,000
Growing in specialized WebAssembly environments but still niche.
JavaScript (Node.js runtime)
~10 million developers
No change—focused on development, not OS deployment.
AIX
~5,000
Minimal use outside of legacy enterprise servers.
DragonFly BSD
~5,000
No significant appliance usage.
Key Adjustments:
Linux jumps dramatically to ~5 billion when including game consoles (Nintendo Switch), smart devices, routers, and IoT systems.
FreeBSD increases to ~50 million due to its use in PlayStation consoles and high-end routers.
OpenBSD and NetBSD see moderate increases due to their use in specialized appliances and embedded systems.
There's 49 permutations of
GOOS
+GOARCH
that we can build for, plus whatever we get when we add inGOARM
andGOAMD64
:So which should we release for?
Wild guesstimates from Gippity: