{"schema_version":"1.0","service":"Publicasta","type":"article","id":197,"slug":"codeberg_vibe_coded_projects_llm_policy_2026_07_24","title":"Codeberg 对 vibe-coded 开源划出界线","excerpt":"这个独立 FLOSS forge 表示不会用用户数据训练 LLMs，并准备限制主要依赖 heavy LLM use 的项目。","language":"zh","default_language":"en","canonical_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh","image":{"url":"https://publicasta.com/storage/projects/10/pages/197/2026/07/b6ceb534-7807-454a-8615-37b6378016ef.webp","alt":"独立开源代码托管平台中，人类维护者审查代码，AI 生成分支留在流程之外"},"publisher":{"id":10,"slug":"open_source_radar","name":"Open Source Radar","url":"https://publicasta.com/open_source_radar"},"author":{"name":"Anton R"},"published_at":"2026-07-24T06:42:22+00:00","updated_at":"2026-07-24T06:42:22+00:00","content_markdown":"Codeberg 划出了一条少见的明确界线：open source 不只是许可证，free software 也可以是一种以人为中心的协作方式。\n\n 7 月 23 日，Codeberg e.V. 公布了两项关于 LLMs 的会员投票结果。第一项承诺，Codeberg forge 及相关服务不会使用项目或用户数据训练 generative AI。第二项更有争议：修改 Terms of Use，禁止所谓的 \"vibe-coded projects\"，也就是主要由 heavy use of LLMs 创建或维护的项目。\n\n ![独立开源代码托管平台中，人类维护者审查代码，AI 生成分支留在流程之外](https://publicasta.com/storage/projects/10/pages/197/2026/07/b6ceb534-7807-454a-8615-37b6378016ef.webp)\n\n Codeberg 不是 GitHub。它规模更小，由社区运营，与 FLOSS 和 Forgejo 生态关系更近。这正是它重要的原因。大型平台通常把 AI 说成生产力功能；Codeberg 问的是，靠捐赠运行的 forge 是否应该托管那些许可证开放、但几乎没有人类维护的机器生成仓库。\n\n 有争议的提案以 358 票赞成、144 票反对、14 票弃权通过，active members turnout 约 50%。Codeberg 也说明，不会马上大规模删除仓库。有活跃社区、有 pre-LLM history，或只是接受过少量 LLM-generated contributions 的项目，通常不是目标，只要项目本身不是建立在 heavy LLM use 上。\n\n ## 为什么 forge 会关心\n\n Codeberg 给出的理由不只是文化立场。它提到为训练模型抓取代码的 crawlers 给基础设施带来负载；还有 storage、CI/CD 和 release artifacts 的成本。一些项目看起来活动很多，却几乎没有真实用户或维护社区。\n\n 另一个问题是信任。Maintainers 需要审查 LLM 生成的 patches，这些补丁看起来整洁，却可能消耗更多 review 时间。Codeberg 还提到 license laundering：copyleft code 可能通过 model output 回来，却丢失 reciprocity。\n\n ## 维护者现在该做什么\n\n \"Vibe-coded\" 很难精确定义。AI 可以用于测试、文档、autocomplete、重构，也可以几乎完成整个实现。仅靠口号不够。\n\n 成熟项目应该写清 AI contribution policy：是否要求 disclosure，contributor 是否必须能解释 patch，如何检查 tests、security、copyright、dependencies 和 maintainability。Codeberg 选择了 human-first forge。其他平台可以走不同路线，但规则最好在 pull request 之前就说清楚。","available_translations":[{"language":"ar","title":"Codeberg ترسم حدوداً ضد open source بنمط vibe-coded","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=ar","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=ar","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=ar","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=ar"},{"language":"de","title":"Codeberg zieht eine Linie gegen vibe-coded Open Source","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=de","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=de","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=de","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=de"},{"language":"en","title":"Codeberg draws a line against vibe-coded open source","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=en","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=en","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=en","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=en"},{"language":"es","title":"Codeberg traza una línea contra el open source vibe-coded","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=es","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=es","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=es","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=es"},{"language":"fr","title":"Codeberg trace une ligne contre l’open source vibe-coded","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=fr","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=fr","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=fr","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=fr"},{"language":"pl","title":"Codeberg stawia granicę wobec vibe-coded open source","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=pl","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=pl","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=pl","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=pl"},{"language":"ru","title":"Codeberg проводит границу против vibe-coded open source","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=ru","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=ru","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=ru","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=ru"},{"language":"zh","title":"Codeberg 对 vibe-coded 开源划出界线","html_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh","markdown_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=zh","json_url":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=zh","api_url":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh"}],"_links":{"self":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=zh","api":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh","html":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh","canonical":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24?lang=zh","markdown":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.md?lang=zh","json":"https://publicasta.com/open_source_radar/codeberg_vibe_coded_projects_llm_policy_2026_07_24.json?lang=zh","channel":"https://publicasta.com/api/public/v1/channels/open_source_radar","channel_articles":"https://publicasta.com/api/public/v1/channels/open_source_radar/articles","search":"https://publicasta.com/api/public/v1/search","documentation":"https://publicasta.com/api-docs#reading-publicasta","openapi":"https://publicasta.com/api-docs/openapi.json","llms":"https://publicasta.com/llms.txt"}}