清华博士创业之路从程序员工作量化到开源价

前沿科技

AI及AI应用

在开源社区中,关于个人贡献者利益分配的话题从未停息。这些来自开源项目创始团队以外的开发者,出于个人的热情为社区贡献代码,那么他们是否应该享有一定的权利呢?

供职于英特尔的开发者ThiagoMacieira是一名开源爱好者,他曾利用业余时间长期为Qt项目贡献代码。去年年初,Qt官方正式宣布将项目LTS版本全面转入商业化阶段,不再向社区无偿提供。这一变化让包括Thiago在内的Qt外部贡献者感到心寒,他们多年来出于热情向Qt贡献的代码被官方当成赚钱的工具,自己却没有收到任何回报,甚至连无偿使用稳定版Qt的权利都没有。

比起商业公司或项目所有者,无数开源项目个人贡献者的利益往往更容易被人们忽视。

01

开源社区价值难以分配

事实上,除了项目创始人和极少数核心开发者可以通过开源项目获得一些利益以外,大部分开发者对于项目的贡献程度难以度量,这导致了开源项目所产生的价值难以分配到这部分人手中,这些利益包括社区获得的捐赠、项目商业化经营所得等。

知名开源前端框架VUE作者尤雨溪是少数通过开源项目实现财务自由的顶级开发者之一,在全职开发Vue的初期,他的主要收入来源是众筹平台Patreon上的捐赠。在年时,Vue的核心开发团队已发展至近20人的规模,其成功离不开每一个人的贡献。尤雨溪曾尝试过将自己收到的捐赠分配部分给一位贡献突出的团队成员,却遭到了对方的谢绝,原因是“他觉得如果他拿了一些钱,那么对于同样从事这项工作的其他贡献者来说是不公平的。”尤雨溪坦言,如何正确量化和衡量每个贡献者所做的工作,合理公平地为每个贡献者分配利益成为了社区一直难以解决的问题。

与歌曲、电影、书籍等发行物的原创作者拥有明确的收益分成比例不同,大部分由团队研发的软件(无论是开源软件还是商业软件)很难将其收益分配给所有参与该软件研发的人员。清华大学计算机科学与技术博士、前微软研究院研究员任晶磊指出,造成这一现状的原因可以用经济学中的两个概念来解释,即信息不对称与契约成本。

信息不对称:软件用户很难了解程序员的开发工作,而每个程序员个体其实也缺乏全局信息以及对每个人贡献的了解。那么,谁又能来决定价值收益的分配呢?人们不得不采取如下两个办法中的一个:构建起公司的层级结构来进行价值分配,即便这个体系并不高效和公平;或者干脆放弃这些价值,免费开源,从而规避了分配问题。前者是商业公司的道路,后者是开源社区的道路。

契约成本:为了促成交易,每个用户需要和每位贡献代码的程序员达成契约,订立合同;所有开发者之间也要为知识产权的共享和酬劳讨价还价,直至形成共识和契约。更糟糕的是,开发者可能随时退出当前项目,也会有新的程序员加入;用户们更是会来来去去。于是,人们想了两个办法来降低这些契约成本。一是设立一个法人的概念,作为软件用户和开发者的中间人;这样,每位用户或开发者都只需要和法人形成一个合同。二是将所有可能的契约简化并统一成一个简单的开源协议。这样的简化降低了契约成本,但通常只规定免费共享著作权,而舍弃了更加有利的合同关系。前者构成商业公司的基础,后者构成开源软件的基础。

总结起来,不论商业公司还是开源社区的软件开发模式,都是人们面对信息不对称和契约成本而做出的妥协。正是软件开发过程中所有参与者的工作难以量化,从而导致软件产生的价值难以像歌曲、电影、书籍等出版物一样“公平”地分配。

02

如何量化开发者贡献?

从上世纪八九十年代开始,人们常常用代码行数LOC来衡量开发者在一个软件项目中的贡献,这种衡量方式无论在开源社区还是商业公司中都曾被广泛采用,甚至延续至今。

年,LLVM社区发起了对代码进行重新授权的提案,他们在这项工作中绘制了一张图来统计每个贡献者的贡献比重,其中每个矩形代表一个人所做的贡献,每个矩形的大小代表该人贡献了多少行代码:

由于不涉及利益分配,开源社区用代码行数来统计开发者贡献比重的方式无伤大雅。但在商业公司中,这种按照代码行数来计算员工绩效的方法就显得非常不合理。

年,Facebook内部仍在采用统计代码行数的方式计算员工项目奖金,这种简单粗暴的衡量方式遭到了业界的质疑。图灵奖获得者EdsgerDijkstra早在上个世纪80年代就指出,用“每月生产的代码行数”来衡量“程序员的生产力”,忽略了程序员的创造性带来的更大价值,反而会鼓励人们编写没有意义的多余代码。

为了探寻能够合理衡量开发者贡献比例的方法,任晶磊和来自UCBerkely、清华大学、FreeBSD项目组的团队成员开启了相关领域的探索。他们利用程序分析和机器学习技术,对代码的结构化价值和非结构化价值进行分析,以期找到能够更加全面、合理量化开发者工作的指标。

年,团队在软件工程领域顶级国际学术会议FSE上发表论文《关于量化代码贡献的开发价值》,引发了业内的广泛


转载请注明:http://www.xxcyfilter.com/zyfl/zyfl/15726.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了