NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

不小心将仓库私有化,这个开源项目失去了 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:037283

评论 3 条评论

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

对话庄表伟:开源第一课

开源社

#开源

RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析)

矜辰所致

RTT RT-Thread 8月月更

COSCon'22城市/学校/机构出品人征集令

开源社

#开源 COSCon'22

leetcode 240. Search a 2D Matrix II 搜索二维矩阵 II(中等)

okokabcd

数组 LeetCode 数据结构与算法

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

美创科技

漏洞

兵荒马乱,毕业季的故事

坚果

毕业 8月月更

我和 TiDB 的故事 | 学tidb半年,社区治好了我的精神内耗

TiDB 社区干货传送门

人物访谈 社区活动

数据结构与算法完整版 | 超详细图解,看这一篇就够了

冉然学Java

字节跳动 java; 技术分享 编程、 算法与数据结构

中移链EOSJS实战使用

BSN研习社

观测云产品更新|DCA Web 端上线;新增全局的查看器自动刷新配置;新增全局黑名单功能;新增自定义功能菜单等

观测云

兆骑科创高层次人才引进平台,赛事活动举办,线上路演

兆骑科创凤阁

踩坑了!mysql明明加了唯一索引,还是产生了重复数据

程序员小毕

Java MySQL 数据库 程序员 后端

CRM巨头败走中国,Salesforce中国区或将解散?

ToB行业头条

华为分析&联运活动,助您提升游戏总体付费

HMS Core

华为 游戏开发 分析 HMS Core

文盘Rust -- 配置文件解析

TiDB 社区干货传送门

开发语言

我和 TiDB 的故事 | 横看成岭侧成峰

TiDB 社区干货传送门

人物访谈

vue-router 如何实现支持外部链接

Five

vue-router 路由 8月月更

荆棘与玫瑰:基础服务架构师的成⻓之路

九叔(高翔龙)

架构师 全球架构师峰会

字节跳动 Flink 状态查询实践与优化

Apache Flink

大数据 flink

我和TiDB的故事 | 遇上你是我的缘

TiDB 社区干货传送门

人物访谈 社区活动

【Spring Boot 三】SpringBoot中事件与通知

石臻臻的杂货铺

Spring Boot 8月月更

【Spring Boot 四】启动之准备系统环境environmentPrepared

石臻臻的杂货铺

Spring Boot 8月月更

行云管家荣获第十一届中国财经峰会“2022杰出品牌形象奖”

行云管家

云计算 多云管理 财经峰会

NFT卡牌游戏系统Dapp开发(NFT链游)

薇電13242772558

dapp NFT

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

冉然学Java

数据库 编程 架构 分布式 并发系统设计

shell脚本,帮你提升摸鱼时间!

工程师日月

签约计划第三季 8月月更

酷炫一款动态背景+鼠标点击效果(HTML +js canvas)

Five

Hexo js 动效 canvas 8月月更

自己动手制作elasticsearch-head的Docker镜像

程序员欣宸

Java Docker elasticsearch 8月月更

国密是什么意思?属于商密还是普密?

行云管家

信息安全 国密

NLP 论文领读|无参数机器翻译遇上对比学习:效率和性能我全都要!

澜舟孟子开源社区

人工智能 自然语言处理 机器学习 深度学习 机器翻译

47K Star 的SpringBoot+MyBatis+docker电商项目,附超详细的文档

冉然学Java

数据库 项目 java; 编程、 源码学习

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