近日,GitLab称计划在平台上自动删除免费用户账号中一年没有活跃的项目,以此减少托管成本,此计划将于2022年9月生效。消息一出,圈内一片哗然。
图源 TheRegister
GitLab为什么要删除休眠项目?
开源的本质是通过个体协同,从而创造价值。这种协同能够打破地域限制、连接到全球的开发者,推动共同技术进步。其初心是为开发者提供一个能够发挥自己技术特长的舞台,在参与共创共享的过程中收获自身价值、提高技术水平。
为什么GitLab要做出九月下旬开始自动删除没有活动状态,且是免费用户所持有项目的计划呢?在该项计划中所提到的,长期无活动项目的托管成本预计占GitLab总托管成本的1/4。开发者对于GitLab做出该项计划的意图各有猜测。目前,最为贴切的就是GitLab为了减少托管成本,自动删除这些项目每年可以为其节省高达100万美元的托管支出。并将资金用于SaaS业务,帮助其SaaS业务可持续,保持GitLab财务状况可持续。截至发稿前,GitLab官方的Twitter账号已经发文,并对该事件进行了回应。"我们在内部讨论了如何处理非活动存储库。我们决定将未使用的存储库移动到对象存储。一旦实现,它们仍然可以访问,但在长时间不活动后需要更长的时间才能访问。"
图源推特
开发者对GitLab行为的不满
对于GitLab的这项计划,很多开发者表示不满,并提出质疑。其中,大部分开发者表示,该项计划,破怀了他们对于GitLab的信任,并对删除项目可以节省托管成本表示质疑。有开发者提出,一旦该计划开始实行,那么仍然在生产中使用的项目,就会因为长期不更新,而被停用,导致生产故障。
图源 (reddit)
“这是一个糟糕透顶的主意,把潜在的用户推向了Github,原因在于个人项目可能会被删除。我钟爱的项目里90%已经休眠了一年多,我认为它们已经'完成了',但是这不意味着如果以后我希望重新访问或者改进它时,我已经失去它了。"
"我也不认为几年是合理的。很多人都在使用Github和Gitlab来存储他们所有的项目。想象一下,如果是Backblaze宣布它将删除你所有超过1年的备份文件。我也不明白他们如何通过删除这些项目每年节省100万的。他们是在iPhone上存储数据还是其他什么?存储很便宜,源代码并不会占用太多空间。“
"开源"之忧
1、"开源"、协作,打破了沟通壁垒
前红帽总裁兼CEO Paul Cormier表示,开源、协作的工作方式正在推动时代的前行。人类社会里交流的方式主要是语言,除了汉语和英语,可能大部分人无法使用其它任何语言进行交流。数学的公式和符号需要语言的解释,哲学的思想需要语言的陈述和案例,但开源软件只需要代码即可。大多数程序员可以不理解语言,但代码一定能理解。一群相互不认识的陌生人,甚至都不知道他来自于哪个国家,却可以为了一个共同的目标,默默贡献很多年。
2、国内外"开源"现状,"开源"是否不纯粹了?
GitHub封停俄罗斯开发者账号事件引起了很多开发者的关注。作为一个开源平台,本身不应该有任何倾向性,但是其给出的封停账号原因是,账号的使用者受雇于被美国制裁的一些公司。这不禁让人怀疑开源的中立性。无前置征兆的封停账号,给很多开源项目带来了影响,其中就包括Quick和Nimble这两个热门项目。国内开源现状也没有很乐观。贾扬清评价国内开源现状,他表示,我们国内目前具备了优秀的开发者群体,并且也有意愿有想法来进行知识共享,但是却缺少一个良好运营的组织保障。代码是没有国界的,不能因为一些商业因素或其他因素,就分而治之,这对我们的开源建设是没有正向作用的。我们需要的是培养开发者具备开源的精神,并非是在已有的技术体系里面搞一个我们的开源,而是要投入到开源社区和项目当中去,展示出我们国家开发者的技术深度以及领导力。
当开发者们开始讨论"开源的中立性"时,就是在质疑"开源"自身的中立性。不论是Github封停俄罗斯开发者账号,还是我们国内的不完整“开源”,都让开发者对“开源”的信任产生了动摇。
3、如何应对"开源"
开放源码的世界实在太美好了,在信息快速发展的当代,没有人能够抗拒开源软件带来的诱惑。
开源项目是公开的,大家都可以采用,但是不能完全依赖,选择的时候需有替代方案和框架。这样可以在其项目出现问题的时候,或者突然宣布闭源的时候,进行替换,否则没有替代方案,直接进行项目的重写,那么代价就会非常大。作为开发者,在使用"开源"的同时,应当尽可能吃透想要使用的开源代码,通过学习开放的源代码,学习代码的结构、思路,然后用自己的理解,重新进行代码的,这样在提高代码可维护性的同时,也能够提升自己的编码能力及代码水平。结语"开源"成就了这个程序员时代,很大比例的开发者都从"开源"中收益匪浅,有代码能力的提升,也有个人声望的提升。但是"开源"不仅是开发者的"开源",同时也有商业公司具备商业目的的"开源"。我们不需要讨论"开源"究竟是"成功",还是"失败",开发者定义的成功与企业定义的成功是不一样的。最终的结果,还是交由"市场"来决定,而"开源"能否存活,就是其成功与否的最好凭证。
参考链接:
https://www.theregister.com/2022/08/05/gitlab_reverses_deletion_policy/
https://www.theregister.com/2021/01/27/gitlab_removes_starter_tier/?td=keepreading
https://www.theregister.com/2022/08/04/gitlab_data_retention_policy/