Proposal Details
I propose that we delete support for GNU Bazaar (bzr) from cmd/go, because Bazaar itself is no longer used, nor developed.
GNU Bazaar last issued a release in 2016. The last commit in its development repo was in 2017. The last issue filed in its issue tracker was in 2023. There is no homebrew package for it.
Canonical's Launchpad.net, the only public Bazaar hosting service, announced plans to remove Bazaar support at the end of 2025. (That said, it does seem to still be running; at least I can 'bzr branch https://launchpad.net/goose'.)
In 2016 we introduced GOVCS and the policy of only fetching public modules from git and hg by default. The proxy still enables all the vcs systems, so people using the proxy (which is also the default) can still fetch bzr-hosted modules.
In 2022 we added information about the VCS repo to the module's .info file, which the proxy then saves. So we know for all modules fetched since late 2022 what version control system they are. Scanning all the .info files for modules in the proxy index (using proxy.golang.org/cached-only, to avoid making the proxy refetch expired non-open-source things), I get these counts:
git 30,726,669
hg 1,123
fossil 1,021
bzr 46
svn 1
(I'm very surprised how little Mercurial usage there is, but both Mercurial and Fossil are actively maintained, which makes them very different from Bazaar. I'm not surprised that Subversion is so low - I expected zero - because Subversion support has always really been meant for private modules inside enterprises. It may still have significant usage in that context. I don't believe Bazaar ever did.)
Here is the full list of the 46 bzr fetches since late 2022: the newest module being fetched is launchpad.net/kjvonly-bql, dated 2023. Excluding that, all the code being fetched is from 2015 or earlier. Note that this excludes fetches of non-redistributable modules (those without open source licenses) that have expired from the proxy's cache.
2026-03-08T13:14:19.993429Z 2014-07-02T05:51:33Z launchpad.net/goose v0.0.0-20140702055133-000000000127
2025-12-23T13:23:52.538467Z 2014-07-30T02:02:17Z launchpad.net/golxc v0.0.0-20140730020217-000000000012
2025-12-23T13:23:51.657409Z 2014-09-15T05:14:21Z launchpad.net/gomaasapi v0.0.0-20140915051421-000000000054
2025-12-23T13:23:50.890722Z 2014-06-24T09:32:41Z launchpad.net/gwacl v0.0.0-20140624093241-000000000236
2025-12-20T01:00:42.221842Z 2014-07-01T14:00:51Z labix.org/v2/mgo v2.0.0-20140701140051-000000000287+incompatible
2025-09-07T18:59:34.657249Z 2016-10-08T00:52:54Z launchpad.net/ubuntu-sdk-tools v0.0.0-20161008005254-000000000033
2024-10-27T07:56:39.58051Z 2014-03-24T06:53:52Z launchpad.net/widelands-metaserver v0.0.0-20140324065352-000000000047
2024-08-09T16:52:09.778056Z 2014-03-12T05:13:45Z labix.org/v2/mgo v0.0.0-20140312051345-000000000264
2024-08-09T16:51:23.098253Z 2014-01-25T23:50:43Z labix.org/v2/mgo v0.0.0-20140125235043-000000000261
2024-08-09T16:50:30.751403Z 2014-01-25T17:54:08Z labix.org/v2/mgo v0.0.0-20140125175408-000000000259
2024-08-09T16:49:33.135943Z 2014-01-25T17:41:22Z labix.org/v2/mgo v0.0.0-20140125174122-000000000257
2024-08-09T16:48:43.463934Z 2014-01-24T01:06:51Z labix.org/v2/mgo v0.0.0-20140124010651-000000000256
2024-08-09T16:48:06.824359Z 2014-03-12T05:15:20Z labix.org/v2/mgo v0.0.0-20140312051520-000000000265
2024-08-09T16:47:14.668196Z 2013-11-18T22:17:17Z labix.org/v2/mgo v0.0.0-20131118221717-000000000250
2024-08-09T16:46:14.45485Z 2014-06-18T21:51:24Z labix.org/v2/mgo v0.0.0-20140618215124-000000000280
2024-08-09T16:45:28.603809Z 2014-06-30T23:42:58Z labix.org/v2/mgo v0.0.0-20140630234258-000000000285
2024-07-24T16:07:47.247602Z 2014-08-13T15:05:39Z launchpad.net/~goamz/goamz/trunk v0.0.0-20140813150539-000000000049
2024-05-22T13:17:48.140405Z 2017-11-02T04:55:27Z launchpad.net/ciborium v0.0.0-20171102045527-000000000174
2024-05-22T08:00:34.426048Z 2013-01-21T23:47:36Z launchpad.net/~mirtchovski/goamz/ec2@v0.0.0-20130121234736-000000000027
2024-03-26T12:08:20.795158Z 2016-09-28T04:59:22Z launchpad.net/usensord v0.0.0-20160928045922-000000000031
2023-09-08T00:41:34.38007Z 2023-09-08T00:17:51Z launchpad.net/kjvonly-bql/trunk v0.0.0-20230908001751-000000000007
2023-09-08T00:35:58.252721Z 2023-09-08T00:17:51Z launchpad.net/kjvonly-bql v0.0.0-20230908001751-000000000007
2023-09-08T00:17:13.716212Z 2023-09-07T23:57:20Z launchpad.net/kjvonly-bql/trunk v0.0.0-20230907235720-000000000006
2023-09-07T23:52:44.522797Z 2023-09-07T23:51:59Z launchpad.net/kjvonly-bql/trunk v0.0.0-20230907235159-000000000005
2023-09-07T23:28:12.993684Z 2023-09-07T23:21:25Z launchpad.net/kjvonly-bql/trunk v0.0.0-20230907232125-000000000003
2023-02-27T13:22:14.294246Z 2014-02-12T15:20:42Z launchpad.net/errgo v0.0.0-20140212152042-000000000010
2023-02-27T13:19:10.275909Z 2014-06-10T12:27:28Z launchpad.net/goose v0.0.0-20140610122728-000000000125
2023-02-27T13:16:47.724449Z 2014-03-12T04:10:35Z launchpad.net/gwacl v0.0.0-20140312041035-000000000234
2023-02-27T13:16:45.335261Z 2014-05-13T11:18:13Z launchpad.net/gomaasapi v0.0.0-20140513111813-000000000050
2023-02-27T13:16:42.065745Z 2014-05-16T07:09:29Z launchpad.net/goose v0.0.0-20140516070929-000000000124
2023-02-27T13:16:34.488373Z 2014-06-04T05:56:17Z launchpad.net/goamz v0.0.0-20140604055617-000000000047
2023-02-27T13:16:31.901051Z 2014-05-28T13:24:19Z launchpad.net/golxc v0.0.0-20140528132419-000000000009
2023-02-27T13:06:04.644217Z 2013-12-18T15:52:44Z launchpad.net/goamz v0.0.0-20131218155244-000000000044
2023-02-27T13:05:58.529365Z 2013-10-17T01:14:45Z launchpad.net/gomaasapi v0.0.0-20131017011445-000000000047
2023-02-27T13:05:57.368177Z 2014-02-05T04:54:33Z launchpad.net/gwacl v0.0.0-20140205045433-000000000231
2023-02-27T13:05:57.082892Z 2014-01-16T22:57:18Z launchpad.net/golxc v0.0.0-20140116225718-000000000006
2023-02-27T13:05:52.011269Z 2014-01-24T16:52:35Z launchpad.net/goose v0.0.0-20140124165235-000000000116
2023-02-27T13:03:29.483366Z 2014-03-31T18:50:09Z labix.org/v2/mgo v0.0.0-20140331185009-000000000273
2023-02-27T12:58:18.660133Z 2015-06-02T21:51:05Z launchpad.net/gomaasapi v0.0.0-20150602215105-000000000062
2023-02-27T12:56:55.223497Z 2014-12-03T07:29:23Z launchpad.net/gwacl v0.0.0-20141203072923-000000000242
2023-02-27T12:56:52.074979Z 2015-01-13T03:20:02Z launchpad.net/gomaasapi v0.0.0-20150113032002-000000000061
2023-02-25T19:01:46.739294Z 2015-07-03T10:11:40Z launchpad.net/gomaasapi v0.0.0-20150703101140-000000000063
2022-12-22T05:04:57.404073Z 2013-11-18T21:37:20Z labix.org/v2/mgo v0.0.0-20131118213720-000000000248
2022-12-22T05:04:56.831716Z 2014-02-11T11:10:26Z launchpad.net/usso v0.0.0-20140211111026-000000000033
2022-11-03T22:55:09.423107Z 2013-12-10T23:13:47Z launchpad.net/phablet-tools/bootimg v0.0.0-20131210231347-000000000001
2022-11-03T22:54:27.933462Z 2013-12-20T15:24:30Z launchpad.net/phablet-tools/ubuntu-emulator v0.0.0-20131220152430-000000000020
So in addition to the Bazaar software project being dead, Go usage seems dead.
We added Bazaar to goinstall (the predecessor of 'go get') to support Canonical and launchpad.net. Now that even they have moved on, it seems like Go can too.
There seems to be zero value to providing Bazaar support at this point, and there is non-zero cost. For example I am working on the implementation for #77897 and need to update the Bazaar support. But I went to install it using Homebrew (something I can do for all the other VCSes) and found that I couldn't. Digging into that is how I found out that there hasn't been a release since 2016 and that even launchpad.net has dropped support.
Given that no one has been maintaining Bazaar for a decade, that cmd/go's Bazaar support appears to provide zero value to Go users anymore, and that there is non-zero cost to continuing to maintain it, I propose we delete Bazaar support from cmd/go.
It is worth noting that those launchpad.net modules will stop being fetchable directly when launchpad.net does remove Bazaar support. At that point only the proxy's copies will be accessible. That happens whether we implement this proposal or not.
The earliest this could happen would be Go 1.27 (to be released August 2026).
/cc @niemeyer, who added the Bazaar support long ago.
Proposal Details
I propose that we delete support for GNU Bazaar (bzr) from cmd/go, because Bazaar itself is no longer used, nor developed.
GNU Bazaar last issued a release in 2016. The last commit in its development repo was in 2017. The last issue filed in its issue tracker was in 2023. There is no homebrew package for it.
Canonical's Launchpad.net, the only public Bazaar hosting service, announced plans to remove Bazaar support at the end of 2025. (That said, it does seem to still be running; at least I can 'bzr branch https://launchpad.net/goose'.)
In 2016 we introduced GOVCS and the policy of only fetching public modules from git and hg by default. The proxy still enables all the vcs systems, so people using the proxy (which is also the default) can still fetch bzr-hosted modules.
In 2022 we added information about the VCS repo to the module's .info file, which the proxy then saves. So we know for all modules fetched since late 2022 what version control system they are. Scanning all the .info files for modules in the proxy index (using proxy.golang.org/cached-only, to avoid making the proxy refetch expired non-open-source things), I get these counts:
(I'm very surprised how little Mercurial usage there is, but both Mercurial and Fossil are actively maintained, which makes them very different from Bazaar. I'm not surprised that Subversion is so low - I expected zero - because Subversion support has always really been meant for private modules inside enterprises. It may still have significant usage in that context. I don't believe Bazaar ever did.)
Here is the full list of the 46 bzr fetches since late 2022: the newest module being fetched is launchpad.net/kjvonly-bql, dated 2023. Excluding that, all the code being fetched is from 2015 or earlier. Note that this excludes fetches of non-redistributable modules (those without open source licenses) that have expired from the proxy's cache.
So in addition to the Bazaar software project being dead, Go usage seems dead.
We added Bazaar to goinstall (the predecessor of 'go get') to support Canonical and launchpad.net. Now that even they have moved on, it seems like Go can too.
There seems to be zero value to providing Bazaar support at this point, and there is non-zero cost. For example I am working on the implementation for #77897 and need to update the Bazaar support. But I went to install it using Homebrew (something I can do for all the other VCSes) and found that I couldn't. Digging into that is how I found out that there hasn't been a release since 2016 and that even launchpad.net has dropped support.
Given that no one has been maintaining Bazaar for a decade, that cmd/go's Bazaar support appears to provide zero value to Go users anymore, and that there is non-zero cost to continuing to maintain it, I propose we delete Bazaar support from cmd/go.
It is worth noting that those launchpad.net modules will stop being fetchable directly when launchpad.net does remove Bazaar support. At that point only the proxy's copies will be accessible. That happens whether we implement this proposal or not.
The earliest this could happen would be Go 1.27 (to be released August 2026).
/cc @niemeyer, who added the Bazaar support long ago.