软件开发人员生活在不均匀分布的未来的前沿是有原因的:他们的工作产品一直是数字工件,而且自从网络出现以来,他们的工作流程一直是连接在一起的。
使软件开发人员能够工作的工具以及围绕这些工具的文化倾向于找到进入主流的方式。回想起来,它似乎是显而易见的,电子邮件和即时消息 - 两者都在任何人之前使用的开发人员 - 将到达群众。那些通信模式与每个人都相关。
这不太明显Git,该工具发明了协调Linux内核的开发,以及GitHub,围绕它的刀具的文化将与其广泛相关。大多数人不争夺代码以谋生。但随着每个职业的工作产品和过程越来越数字化,我们中的许多人将倾向于旨在协调我们在共享数字伪影上的工作的工具。这就是为什么Git和Github正在进行进入生产除了代码之外的工件的工作流程。
如同报道《连线》杂志那ReadWrite.在其他地方,GitHub用于管理食谱,音乐评分,书籍,字体,法律文件,课程和教程以及数据集的协同开发。鉴于Git的臭名昭着的复杂性,这是可能的?
一个原因是GitHub在其Web界面中逐渐暴露了更多的潜在的GIT功能。另一种是使用GitHub作为平台的Web应用程序的出现。然后有文化因素:GitHub体现了一种合作的特定方式。Dave Winer用这句话描述了它“叙述你的工作。“我已经使用过了”可观察的工作。“ 这响应组织运动庆祝“透明度对隐私“对于GitHub的政府福音师,Ben Balter,它是”开放协作."
Ben Balter提出该术语的博客文章在我读完时未发布。但由于博客托管在公共Github存储库上,我不仅可以在草稿中阅读帖子,还可以遵循讨论与邀请的审稿人一起,观察讨论是如何影响草稿的。当然,存储库不必对公众开放——但是每个组织都应该希望其内部流程能够利用这种开放协作的风格。据GitHub战略副总裁布莱恩•多尔(Brian Doll)称,越来越多的公司正在这么做。
现在人们常说,每一家公司都是软件公司。如果你将知识产权定义为软件,那么从抽象的角度来看这是正确的。但对于那些价值体现在内部开发的软件中的公司来说,这也是千真万确的。
在传统的代码、测试、QA和文档编制之外,扩大对开发的参与总是令人向往的。但如果你能做出的贡献是基于你对业务或客户的了解,你就不能直接参与。
“那是疯了,”布莱恩娃娃说。“如果您是银行,财富管理工具您的员工和客户使用是该产品,这些人怎样才能在改善它的情况下直接掌握它?“与GitHub,每个利益相关者都可以成为一流的参与者。而不是写出轨道系统的电子邮件,他们可以发送拉出请求并讨论相关问题直接在该系统中。
驯服Git野兽
Git,Typensized Version Control Engine在GitHub的引擎盖下,不仅令人惊讶的是非编程的方式,还可以从集中系统到达它的程序员。
在这些系统中,在存储库中创建一个分支是一个很大的协议,以便探索一组伪像的替代版本。在Git中,分支是一种轻量级构造,通过移动指针而不是数据创建的幻觉。在传统系统中,创建一个分支以在文档中更改单个单词是不可思议的昂贵。Git让这辆演动变得艰巨。GitHub可以在工作流程中嵌入它 - 拉请求 - 封装对更改的讨论并将其联系到文档的更改历史记录。
Git千变万化的功能使它成为工作流创新的实验室,出现的许多方法呈现了另一层复杂性。分支和合并的机制已经够复杂的了,但是关于何时以及如何分支和合并还有各种各样的学派。所有这些对程序员来说都是一种挑战,而且远远超过了其他大多数人。您如何能够驯服这头野兽,使非技术涉众能够参与进来?
GitHub的回答是:为核心活动加强网站。想要更改法律文档中的一个单词的律师不需要使用可怕的Git客户机;她可以在浏览器中编辑文件。该操作将启动一个pull-request工作流,该工作流将自动创建专门用于建议的更改的分支。githubber喜欢说“只有一种方法可以改变一些事情。”没有人需要遵守这条黄金法则,但这样做遵循的是一条阻力最小的道路。
因此,启用GitHub的公司中的每个人都可以轻松采用这种最佳实践。“而不是在水冷却器上闷闷不乐,因为软件是可怕的,”Brian娃娃说,“你有办法改变它。”每个人都可以使用相同的机制,是否对该更改的贡献是代码或文档或法律建议或商业透视或客户反馈。
该共同公约的价值可以通过社交媒体进口的其他公约加强了Github最重要的创新。在Twitter上,例如,您可以通过提及其用户名来引起另一个推特用户的注意。此@mention技术在Github中适用于个人和团队。
还有一种叫GitHub Pages的服务,它在GitHub知识库上托管网站。对于那些熟悉Git并愿意安装(并在本地使用)基于ruby的站点生成器Jekyll的技术博主来说,它很受欢迎。但正如其他人所发现的,你不必安装杰基尔。完全可以在浏览器中管理GitHub Pages站点,享受版本历史和问题讨论的好处。