Don't couple your Go code to GitHub
Go, a popular programming language, offers a feature where code can be namedpaced based on its location for fetching. This simplifies the process of reporting bugs and distributing libraries without a centralization system. However, this convenience comes with downsides. The main issue arises when developers couple their code to a specific hosting provider, such as GitHub.
If they later switch to another provider like GitLab or Azure DevOps, they must update their code, leading to significant overhead. This coupling to GitHub has become common in the Go community, as seen in companies like the one mentioned, which used multiple platforms simultaneously. The cost was high, as they paid for three hosting services at once.
To address this problem, custom domains like go.iain.rocks, go.uber.org, or go.mongodb.org can be used. This allows developers to change the location of their code by simply updating the domain's settings. For instance, go.iain.rocks/boneclone would direct users to the same code on GitHub or GitLab. Every commercial software development team using Go should adopt custom domains for naming their internal libraries and packages to avoid unnecessary coupling.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.