蚊章汇 - Josh Wulf
type: channel
link: https://linuxcn.bwsl.wang/author/636/
description: Josh Wulf
items: GitHub 对软件开发业造成的冲击

GitHub 对软件开发业造成的冲击
type: item
date: 2017-07-08T20:57:00+08:00
description: 在未来的 12 到 24 个月内（也就是说，在 2018 年，或者是 2019 年），人们雇佣软件开发者的方式将会发生彻底的改变。2004 至 2014 期间，我曾经就职于红帽，这是世界上最大的开源软件公司。还记得 2004 年七月的一天，我第一次来到这家公司，我的老板 Marty Messer 就跟我说，“所有你在这里所做的工作都会被开源，在未来，你将不需要任何的简历，因为所有的人都可以 Google 到你。”供职于红帽的一个独特的好处是，在这种开源的工作期间，我们有机会建立自己的个人品牌和树立自己的声誉。我们可以通过邮件列表和 bug 追踪器与其它的软件工程师进行沟通，而且提交到 mercurial、subversion 和 CVS 仓库的源代码都会被开源，并且可以通过 google 找到。（写本文时）马上就到 2017 年了，我们将生活在一个处处充满开源的世界。以下两点会让你对这个新时代有一个真正意义上的了解：微软在过去的一段很长的时间里都在坚持闭源，甚至是排斥开源。但是现在也从心底里开始拥抱开源了。它们成立了 .NET 基金会（红帽也是其中的一个成员），并且也加入了 Linux 基金会。 .NET 项目现在是以一个开源项目的形式在开发着。GitHub 已经成为了一个独特的社交网络，并将问题追踪器和分布式源码版本控制融入其中。对于那些从闭源走过来的软件开发者来说，他们可能还不知道发生了什么。对于他们来说 ，开源就意味着“将业余时间的所有工作成果都免费开放”。对于我们这些在过去十年创造了一家十亿美元的开源软件公司的人来说，参与开源以后就没有什么空闲的时间可言了。当然，为开源事业献身的好处也是很明显的，所得到的名誉是你自己的，并不隶属于某个公司。GitHub 是一个社交网络，在这个地方，你可以创建你的提交、你可以在你所专长的领域为一些全球性的组织做出贡献，你临时做的一些工作并不附属于所任职的公司。聪明的人会利用这种工作环境。他们会贡献他们的补丁、 工单 （ issue ） 、评论给他们平时在工作中使用的语言和框架，比如 TypeScript、 .NET 和 Redux 。他们也拥抱开源，并会尽可能多的开源他们的创新成果。甚至会提交他们的贡献给私有仓库。GitHub 对平等居功至伟。比如说，你也许很难在澳大利亚得到一份来自印度的工作，但是，在 GitHub 上，却没有什么可以阻止你在印度跟澳大利亚的工作伙伴一起工作。在过去十年里，想从红帽获得一个工作机会的方式很简单。你只需要在一些某些小的方面，与红帽的软件工程师在开源的项目上协作，然后当他们觉得你在某些方面做出了很多有价值的贡献，而且成为一个很好的工作伙伴时，那么你就可以申请一个红帽的工作机会了，或许他们会邀请你。现在，在不同的技术领域，开源给了我们所有人同样的机会，随着开源在世界的各处都流行开来，这样的事情将会在不同的地方盛行开来。在最近一个访谈中，Linux 和 git 的发明者 Linus Torvalds（在 GitHub 上有 49K 粉丝，0 关注），这么说，“你提交了很多小补丁，而在某个时候项目的维护者开始信任你，在那一刻，你跟一般人不同的是，你不仅仅是提交了一些补丁，而是真正成为了这个组织里被信任的一部分。”实际上你的名声存在于那个你被信任的网络。我们都知道，当你离开一家公司以后，你的人脉和名声可能会削弱，有的甚至会丢失。就好像，你在一个小村庄里生活了很长的一段时间，这里所有的人都会知道你。然而，当你离开这个村庄，来到一个新的地方，这个地方可能没人听说过你，更糟糕的是，没有人认识任何知道你的人。你已经失去了一度和二度连接关系，甚至有可能会失去这三度连接关系（LCTT 译注：指六度连接理论）。除非你通过在会议或其他大型活动中演讲来建立自己的品牌，否则你通过在公司内部提交代码建立起来的信任早晚都会过去的，但是，如果你在 GitHub 上完成你的工作，这些东西依然全部都在，对这个信任网络的连接仍然可见。首先会发生的事情就是，一些弱势群体可能会利用这个。包括像学生、新毕业生、移民者--他们可能会利用这个“去往”澳大利亚。这将会改变目前的现状。以前的一些开发人员可能会有过人际网络突然中断的情况，开源的一个原则是精英——最好的创意、最多的提交、最多的测试，和最快的落实执行，等等。它并不完美，当然也没有什么事情是完美的，不能和伙伴一起工作，在人们对你的印象方面也会大打折扣。红帽公司会开除那些不能和团队和谐相处的人，而在 GitHub 工作的这些员工，他们主要是和其它的贡献者之间的交流。GitHub 不仅仅是一个代码仓库或是一个原始提交成员的列表，因为有些人总是用稻草人论点描述它。它是一个社交网络。我会这样说：GitHub 有多少代码并不重要，重要的是有多少关于你代码的讨论。…