{
  "id": 10288675,
  "title": "Don't couple your Go code to GitHub",
  "url": "https://urgent.news/2026/09/27/dont-couple-your-go-code-to-github",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-27T20:17:42.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://iain.rocks/blog/dont-couple-your-go-code-to-github"
  },
  "original_language": "en",
  "account": "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.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}