GitHub:不再能在未登录的情况下搜索代码

GitHub 决定要求用户在执行代码搜索前先登录,引发了关于开放性、隐私和公共代码控制的争论。一些人认为此举是遏制恶意抓取、减少昂贵的搜索负载、并阻止寻找机密信息者或 AI 竞争对手的合理方式,并指出仍可克隆仓库和使用第三方搜索工具。另一些人则认为这削弱了开源的可访问性,侵蚀了“开放网络”,并符合大型平台在占据主导地位后对用户贡献数据收紧访问的更大模式。

需要登录的代码搜索变更

  • GitHub 现在要求用户登录后才能使用代码搜索,包括在单个仓库内搜索。
  • 一些评论者指出这已经实施了几个月;GitHub 已在更新日志中宣布。
  • 有人说自己几乎没注意到,因为一直保持登录状态;也有人觉得这很烦,尤其是在工作/公共电脑或无痕会话中。

推测的动机

  • 成本 / 基础设施:新的搜索据称更消耗计算资源;仅向已登录用户开放可能有助于减少爬虫和机器人负载。
  • 机器人 / 爬取控制:登录会创建可按账户进行限流和封禁的处理对象;匿名流量更难控制。
  • 安全:搜索可能被滥用于查找硬编码凭据;要求登录可改善审计轨迹,尽管这并不能阻止攻击。
  • AI / 数据护城河:有人认为这是控制 GitHub 代码语料访问、避免被非微软的 AI 训练和工具利用的一部分策略。
  • KPI / 参与度:还有人怀疑这只是为了增长“已登录用户”指标,而非技术必要。

对开源与开放性的影响

  • 批评者认为,这削弱了 GitHub 作为 OSS 开放基础设施层的角色,把参与门槛推到公司账号和额外条款之后。
  • 反方观点:仓库仍然可以在不登录的情况下克隆和浏览;搜索只是“锦上添花”,不是许可证要求。
  • 关于要求账户(即使是免费的/一次性邮箱)究竟是实质性障碍,还是任何平台的正常要求,也存在争论。

搜索质量与 UX 回退

  • 许多人表示新搜索不那么好用了:缺少精确匹配、没有按时间排序、随机失败,以及令人困惑的重定向。
  • 有人说自己基本已经不再使用 GitHub 搜索,而是改用本地 git clone + grep/rg

替代方案与变通方法

  • 第三方工具:推荐使用 grep.app、Sourcegraph 及其他工具进行匿名代码搜索。
  • 仓库级变通:github.dev / 基于网页的 VS Code(但要注意登录限制),或者直接克隆后在本地搜索。

更广泛的主题与反应

  • 这被视为 2023 年更大趋势的一部分:大型平台(Reddit、Twitter、StackOverflow、GitHub)收紧访问,以控制抓取并将数据变现。
  • 反应从轻微恼火到将其视为“enshittification” 开端,并呼吁转向自托管或其他代码托管平台。