首页 > WEB开发 > JavaScript开发 > 为什么程序员们愿意在GitHub上开源自己的成果?
2018
04-30

为什么程序员们愿意在GitHub上开源自己的成果?

  从2008年4月10日正式上线到今天,GitHub已经完成了它的第一个十年,正式进入下一个十年。Chris DiBona(Google的开源代码经理)认为“Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐!

  抛开“代码闭源是否就能赚很多钱”这个话题先不谈,我们直接总结一下程序员愿意在GitHub公开自己的源代码的几点主要原因:

 1、通过代码的展示,提升自己的知名度

  先来讲一个闻名全球的案例吧。有一家很著名的公司叫37signals,是一间非常小的公司,员工很少,但是在业内却非常出名。它的出名,很大程度上得益于一次机缘:员工大卫·海纳梅尔·韩森在工作的时候,用Ruby写了一个划时代的web快速开发框架——Ruby on Rails,其革命性的设计理念,大大的提升了WEB网站的开发效率。37signals选择了将此项目以开源的方式发布,在业内引发了轰动效应。

  随着Ruby on Rails的快速蹿红,作为ROR诞生的产房——37signals公司也进入了大众的视线,并于2008年被《连线》评为十大最值得关注的创业公司,继而该公司的几款产品都取得了非常好的销售业绩。在37signals出版的畅销书《Rework》里,有一段这样的文字:最好的大厨都乐于在公共频道上教授自己的厨艺,这不仅无损大厨的商业利益,反而大大增加了大厨的知名度,对大厨来说这是非常棒的举措。

  我们处在一个技术更新迭代越来越快的行业里,最可怕的并不是你高超的技术外泄,而是没有足够多的人透过你的技术了解你,拼技术的同时还要拼知名度,才能双丰收。

  以目前的GitHub而言,它不只是一个简单的代码仓库,更是程序员的社交平台和炫技舞台。在这个平台上展示自己的代码,可以让程序员们更快地在行业圈子内提升自己的知名度。当然,如果能够像大卫·海纳梅尔·韩森那样足够幸运的话,还可以在业内创造一个属于自己的传奇。

 2、展示作品,获得好的工作机会

  展示自己的作品,是获取优秀工作机会的最佳手段之一。在“Talk is cheap,show me the code!”的程序员行业里,尤为如此。

  GitHub同时为程序员与企业双方提供了非常便利的平台。

  作为企业雇主,可以通过这个平台了解应聘者的作品,评估其技术实力,判断是否符合公司的要求。这种把一个程序员在GitHub的表现视为人才评估标准的操作,在程序员面试中越来越普遍。

  作为程序员,GitHub上的关注数、星数、fork数量等数据,在一定程度上证明了你的编程能力是否出色,你的技术理念是否为更多的人所理解、赞同。越是在GitHub上受欢迎的程序员,越会被优秀的雇主青睐。

  因此,这种现象,也进一步激励了程序员在GitHub上努力展示自己,使得开源氛围更加浓厚。

 3、开源代码,利己利人

  Adobe公布了Photoshop 1.0的源代码,这些代码对Adobe已经没有太多价值了,不如公开出来,供其他程序员们观瞻学习,同时还能为自己带来一点新闻性和关注度;Linux之父林纳斯为了一个非常“自私”的目的——能够有一个适合自用的免费操作系统,便把Linux的内核开源了,让全世界的感兴趣的人一起来对Linux进行维护。

  所有的程序员在学习编程、解决BUG、交流心得的过程中,无可避免的会用到别人的劳动成果,同时也会帮别人去解决问题,这就形成了一个利己利人的生态。在这个生态中,所有的程序员都无需重复的造轮子,大家在一个开源共享的氛围中付出,在付出中享用所有的产出成果,在享用成果中不断的再创造,从而形成一个良性循环的利己利人生态,所有人都能在这个生态中收益。

 4、练习技能的同时结交业内朋友

  前面我们说过,GitHub可以是程序员的社交平台和炫技舞台。在这里,会有众多的技术大牛出没。也许平时很难有机会与他们接触,但通过GitHub这个平台,自己的作品将有可能得到技术大牛的点评及建议,帮助自己快速提升技能;同时,还可以与其他程序员交流BUG解决经经验以及需求实现等专业问题,从而产生联系,建立起属于程序员的社交圈。

  在程序员的世界里炫技简单粗暴,每当他们写出自认为很牛的程序,他们就迫切需要一个渠道来展示自己的才华,博客、论坛都可以成为他们的阵地,而Github等开源论坛则渐渐成为主战场。在程序员看来只有优秀的完整的代码才是有灵魂的,不懂程序的人都是麻瓜,这可能也是GitHub如此成功的一个重要原因。对于程序员极客来说,代码比言语更能让对方产生共鸣。

 5、如果你愿意,也能赚一点钱

  吹个牛,虽说我们程序员不差钱(正确读音:qian er),但是有钱可收,总不是一件坏事。如果是非常好的开源项目,在GitHub能引来相当好的流量,并且是与项目相关的精准流量,所以你懂的,适当做些广告是可以额外带来一些收入的。

  (图片截自GitHub,中国最火的开源项目VUE.js页面,就展示了不少赞助商的内容。)

  所以,在GitHub上展示自己的作品,已经是一个优秀程序员的标准操作,这或许能带来很多比赚钱更重要的东西。当然关乎项目发展最核心、最关键的技术和机密,应该还是很少会有人在GitHub上进行展示的。

编程技巧