写点什么

不小心将仓库私有化,这个开源项目失去了 54k GitHub Stars

  • 2022-04-15
  • 本文字数:1256 字

    阅读完需:约 4 分钟

不小心将仓库私有化,这个开源项目失去了 54k GitHub Stars

近日,开源项目 HTTPie 的创始人 Jakub Roztocil 发文表示因项目短暂私有,而丢失了原来的 54k star,运营十年的社区也被 GitHub 删除。

“乌龙”操作?起因只是想隐藏另一项目简介

 

据 Jakub 介绍,作为一个开源的 CLI HTTP 客户端,HTTPie 从 2012 年 2 月 25 提交第一个公开版本开始,截止 2022 年,累计在 GitHub 上收获了了 54k 的星星,HTTPie 也通过 GitHub 社区一步步成为非常受欢迎的 API 工具,两个月前 HTTPie 还庆祝了项目第一次提交 10 周年。



对于这起乌龙事件,Jakub 解释道,他其实知道将代码仓库设置为私有,就会永久删除所有关注者和星级,显然他也无意将 HTTPie 私有化。情况是他在事情发生一周之前创建了一个新的仓库,当他在操作隐藏项目简介时混淆了新的仓库与原来的 HTTPie 项目,从而不小心将 HTTPie 项目私有化,导致项目星星消失。

 

操作完成后,Jakub 第一时间并未发现异常,后面 Jakub 进行问题排查时才发现是 GitHub 在项目名称与提示上不太直观导致自己出现重大失误。如下图所示,仅有的不同是底部的 name/namename/.github ,这让他没有意识到自己操作上的严重失误,他认为 GitHub 应该提供更多的提示,比如“你即将杀死 55000 人”,这肯定会让他停下来。


GitHub 拒绝提供恢复服务

 

GitHub 官方项目也曾出现过不小心将仓库私有化造成损失的情况。在 2020 年,GitHub Desktop 应用将自己仓库设置为私有,几个小时后项目就恢复正常了。Jakub 团队也向 GitHub 发出了恢复备份的请求。



由此可见,“GitHub 显然是有备份的”, Jakub 说到。不过在 HTTPie 这个项目中,GitHub 拒绝了 Jakub 的请求,理由是“不理想的副作用和资源成本”,Jakub 还提出向 GitHub 提供经济补偿以恢复项目星级不过也被拒绝了。

 

对于此情况,GitHub 也在事故发生后发表了一篇推文进行解释并为项目重新推广。



经过这次“乌龙”事件,Jakub 事后总结了一些经验教训。

 

  • 在 UI 设计上展示出来,而不是用一种抽象的让用户思考的方式去进行设计,特别是在涉及删除的功能上;

  • 数据库设计上使用软删除;

  • 抛弃在运营开源项目上天真的想法。

 

同时他们表示,尽管 GitHub 上的星星已经消失,但是 HTTPie 已经变得足够好,用于 Web 个桌面的 HTTPie 测试版也得到了很好的反馈,未来团队会将 HTTPie 发展成为优秀的 API 开发平台。

开发者态度呈两极化

 

在 Hacker News 的讨论中,开发者多为两极分化的声音。

 

有开发者认为 Jakub 在经验总结中的内容非常重要,不管是 UI 设计还是数据库软删除,都是值得所有人学习的经验。

 

另一类开发者持反对意见,他们认为 Jakub 总结的内容是将所有的责任都归咎于 GitHub,这是非常奇怪的,现在的 GitHub 已经很难犯这样的错误。他们还拿出来 rm 的例子进行解释。许多人使用 rm 误删除了内容,但不能将过错归结于 rm 技术本身。

 

对于作者抱怨 GitHub 不恢复项目的情况,也有开发者提到:“GitHub 当然可以恢复备份,但如何决定哪些用户应该得到特殊待遇,如果 GitHub 开始为部分用户提供备份,更多的人会期待同样的事情。”

 

参考链接:

 

https://httpie.io/blog/stardust

2022-04-15 18:038194

评论 3 条评论

发布
用户头像
手机端打开文章的APP,要如何在手机浏览器继续阅读呢。没看到相关按钮。
2022-04-18 06:10
回复
用户头像
牛逼啊,自己的锅,把锅推给github
2022-04-17 17:57
回复
你怎么看出来推锅了
2022-04-19 15:35
回复
没有更多了
发现更多内容

干货分享 | 一看就懂的电脑配置代理IP全流程

kookeey代理严选

代理商 住宅ip 海外IP 配置IP 跨境网络

三角偶极子天线(下)---MIMO系统, 包络相关系数ECC和分集增益DG

思茂信息

cst仿真软件 CST软件 CST Studio Suite

国产IT运维监控系统标杆之选:Gartner推荐的嘉为蓝鲸全栈智能可观测中心——IBM Tivoli国产化替代实践

嘉为蓝鲸

AIOPS Gartner 智能运维 可观测 国产IT运维监控系统

MCP客户端与服务端使用教程

测试人

软件测试

OmniGen2重磅升级,统一图像生成再进化

智源研究院

图像生成

抖音内容技术团队开源ContentV:有限算力下高效训练视频生成模型的新路径

字节跳动开源

开源 视频生成 ContentV

单卡推理吞吐2300Tokens/s,昇腾AI云服务正在改写算力法则

Alter

Taobao Agent Russia丨俄罗斯淘宝代购集运系统搭建指南

tbapi

淘宝代购系统 俄罗斯淘宝代购系统

MyEMS能源管理系统后台配置-传感器管理

开源能源管理系统

开源 能源管理

计算架构,行业AI竞争的下一个分水岭

极客天地

Alpha系统联结大数据、GPT两大功能,助力律所管理降本增效

科技汇

混合开发赋能快节奏业务增长:跨端生态构建与敏捷迭代实践

xuyinyin

轻松上手|用 TRAE 搭建 AI 健身私教

火山引擎开发者社区

AI Trae

AI 背单词 App 的技术架构

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI背单词

时序数据库 TDengine × Node-RED:打造开箱即用的工业数据自动化流程

TDengine

tdengine 时序数据库 国产时序数据库 时序数据库tdengine

MyEMS能源管理系统后台配置-数据源管理

开源能源管理系统

开源 能源管理

正品库拍照PWA应用的实现与性能优化|得物技术

得物技术

PWA

Product Hunt 双料榜首,开发仅用 2 周:00 后创业者的 AI 智能体实践

火山引擎开发者社区

AI DeckSpeed

软件测试丨Playwright测试工程师必备技能总结

测试人

软件测试

假如你从7月开始准备Java面试,如何秋招拿下offer?

程序员高级码农

java 程序员‘

在AI时代,挖掘新需求比实现功能更具挑战性

qife122

开发者工具 需求分析

Spring Boot 插件化开发模式,忒香了!

Geek_e3e86e

Java 编程

怎么修改网站域名的DNS服务器?

国科云

商品中心—库存分桶的一致性改造文档

电子尖叫食人鱼

C# 数据库

字节跳动 ByteBrain 开源 MySQL 虚拟索引 VIDEX:让 AI+DB 也能大规模落地

火山引擎开发者社区

字节跳动

如何在预算确定的情况下发挥财务规划的最大价值?

智达方通

企业管理 全面预算管理

AI测试的准确率覆盖率稳定性

测试人

软件测试

MyEMS能源管理系统后台配置-计量表管理

开源能源管理系统

开源 能源管理

VKProxy新增CORS设置和http响应缓存

八苦-瞿昙

Proxy csharp

CAD一键锁定坐标,图块批量插入快人N步!

在路上

cad 浩辰CAD CAD看图王

这份指南教你如何打造一款 AI 陪伴虚拟角色

火山引擎开发者社区

AI 智能体

不小心将仓库私有化,这个开源项目失去了 54k GitHub Stars_产品_辛晓亮_InfoQ精选文章