查看原文
其他

项目一年不更新就删除,GitLab 为省钱不惜用户流失

康熙 终码一生 2022-09-22

点击“ 终码一生 ”, 关注,置顶 公众号

每日技术干货,第一时间送达!



据外媒 The Register 的独家报道,GitLab 计划自动删除免费用户账号下超过一年时间不活跃的项目。



目前托管在 GitLab 上面的这类项目占了所有托管费用的四分之一,而自动删除这些非活跃的项目可以为 Gitlab 每年节省约 100 万美元的成本。从 GitLab 公司的角度出发,该政策可以帮助它们保持财务可持续性。据报道,该政策计划于 2022 年 9 月开始实施。


可能也是意识到该计划正式实施后,会遭到用户的反对和批评。因此在正式删除用户的项目之前,GitLab 会提前几周或几个月时间向用户发出警告。The Register 透露的信息显示,只要在 12 个月的时间里向项目提交过 PR 或发布新的 issue 就足以让该项目继续存在。


该政策一旦实施,很可能会引发 GitLab 社区用户的担忧,毕竟一个项目长期没有更新并不代表该项目已被开发者废弃,也有可能是项目功能已经足够丰富,运行十分稳定,确实不需要再进行额外更新;当然还有些项目虽然没有这么完美,但只要 “够用了”,也会让开发者不再更新这个项目。


更何况目前还有大量项目严重依赖于这些 “不活跃” 的项目,如果这些 “不活跃” 的项目一旦被删除,将会导致下游项目出现无法编译和运行的情况,产生非常大的负面影响。

还有一点需要注意的是,虽然这一决策短期内可能会让 GitLab 节省一些资金,但这一决定有可能会让用户将项目迁移到 GitHub 或其他免费托管平台,导致用户流失,社区活跃度下降。


GitLab 目前的免费计划为用户提供了 5GB 的存储空间、每月 10GB 的数据传输、每月 400 分钟的 Cl/CD 流水线时间,以及每个命名空间 5 个用户的名额。最便宜的付费版价格则是每月 19 美元。


如今 GitLab 又在社交平台发布公告表示,不会删除这类 “非活跃” 项目,而是会将这些项目放入速度比较缓慢的对象存储(object storage)中。


上文也提到过,GitLab 通过删除这些 “非活跃” 项目可以为他们每年节省下 100 万美元,保持公司财务的健康有序,该政策原计划将于下个月推出。但消息一出,就引发了大量讨论,官方也在社交平台发出了公告来进一步解释。


GitLab 官方社交平台发布的公告表示:



我们在内部讨论了如何处理这些不活跃的仓库。我们达成了一个决定,会将未使用的仓库转移到对象存储(object storage)中。一旦实施,它们仍然可以被访问,但在长期闲置后需要更长的时间才能访问。


在这则公告中,GitLab 并没有否认此前报道的会自动删除免费用户非活跃项目一事。

在 The Register 获悉的一份给员工的内部会议通知显示,GitLab 曾计划于 8 月 9 日举行一场会议,议程中赫然列出了「删除非活跃仓库的计划」,会议的描述为:

2022 月 9 月 22 之后,我们将为免费用户推出数据保留政策(Data Retention Policy)。这个子计划将对免费项目在我们自动删除之前可以保持不活跃的月数施加限制。


除此之外,从内部人士那里获得的信息还显示,该计划已经过几个月的讨论和开发,GitLab 甚至已经于 7 月底完成了删除不活跃项目的自动化代码,并做好了推出的准备。但碍于这两天在 Twitter 和 Reddit 等网络平台上面临的讨论和压力,迫使 GitLab 重新进行了反思。



GitLab 的联合创始人兼首席执行官 Sid Sijbrandij 在官方社交账号下也回复道,放入对象存储中的项目仍然对所有公众可见,并不会施加只有所有者可见的限制,而且根据它附加在推文中的链接可以发现,对仓库进行任何读 / 写操作都会自动恢复仓库。


相关链接:

https://www.theregister.com/2022/08/04/gitlab_data_retention_policy/

https://twitter.com/gitlab/status/1555325376687226883

https://www.theregister.com/2022/08/05/gitlab_reverses_deletion_policy/

https://twitter.com/sytses/status/1555344675761819648

https://gitlab.com/groups/gitlab-org/-/epics/4959

出品 | OSC开源社区(ID:oschina2013)


PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。


往期推荐



为什么,程序员下班,很少关电脑?

快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)

面试官问:Java 序列化和反序列化为什么要实现 Serializable 接口?

这是我见过写得最烂的Controller层代码,没有之一!

CTO强烈禁止使用Calendar,那用啥?

阿里官方 Redis 开发规范

别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存