开放的力量—破解 GitHub 的发展密码

GitHub :

一个共享虚拟主机服务,用于存放使用 Git 版本控制的软件代码和内容项目。它由 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werne 用 Ruby on Rails 编写而成。

—维基百科

但是这项服务逐步演变成为了开源软件开发与管理的社区,其开放一切的梦想实现了软件开发的虚拟化。这股力量是强大的。成立 1 年之后不久公司就吸引了 10 万用户。2012年GitHub获得了A16Z的1亿美元融资,表明了 VC 对该公司的信心。同年,GitHub 入选了福布斯评选的十大技术公司。

GitHub 只用了不到 4 年的时间就让库(repository,用于存放共享代码的历史版本)的数量到达 100 万。到了 2013 年 1 月,GitHub 用户达到 300 万,库数量达到了 490 万。而且显然还在以更快的速度增长,截止 2013 年 12 月,GitHub 的库数量突破了 1000 万,其中最近新增的 100 万是在 48 天内实现的。

GitHub 的用户里面不乏大牌客户,包括 Amazon、Twitter、白宫等。Facebook 用 GitHub 来开发自己的漏洞跟踪工具、LinkedIn 用它来维护其 People You May Know(你可能认识的人)及 Skills & Endorsements(技能与推荐)功能。

那么 GitHub 是如何从一个自称的“业余项目”变成每周新增用户超过 1 万的全球最强大的软件开发工具的呢?

解决问题

说到 GitHub 不得不提 Git。这是 Linux 的创始人 Linus Torvalds 针对 Linux 内核开发而开发的一款版本控制工具。开发者迅速接受了 Git,因为它要比其他类似工具更快更强大。因此,算不上完美的 Git 被视为当时其他的版本控制软件的升级版。

而 Preston-Werner 注意到,尽管 Git 为令人头疼的协作问题的解决提供了可能,但是用 Git 来进行协作仍比较困难,这一观察导致了 GitHub 的诞生—一个通过 Git 解决协作问题的解决方案。

而 Chris Wanstrath 是这样解释的:

开始时 GitHub 只是一个业余项目。在当地举行的一次开发会议结束之后,我和 Tom Preston-Werner 去了一个体育酒吧,他告诉了我做 Git 托管网站的想法。这个地方应该能够很方便地共享代码和学习 git,也即要成为一个 git 的集散地(git hub)。我们都很热爱 git,但是却没有可接受的方式来分享代码。所以我们做这个更多地是出于必要。Tom 认为我会对解决这个问题感兴趣的,的确如此。

GitHub 自始至终都是作为问题的解决方案而存在的,网站成功不仅仅是因为它解决了最初的问题,还在于它在 Git 原来的功能基础之上添加了许多自己的功能。包括 forking(复制)、pull request(修改合并请求)及 merging(合并)等。正如 Code School 的 Gregg Pollack 所述:

在 GitHub 之前,如果你希望为开源项目做贡献,你得人工下载项目源码,在本地做出自己的变更,创建一系列叫做“补丁”的变更清单,然后发电子邮件给项目维护者。维护者然后得对可能完全来自陌生人的补丁进行评估,然后再决定是否合并变更。

相比之下,GitHub 的“forking”功能可让用户复制任何一份公共库的内容到自己的账号上,然后基于此进行修改。用户随后还可以通过“pull request”将这些变更共享给库的所有人。如果所有人喜欢其做出的变更,就可以把那些变更合并进原来的库内。

这个新流程把之前进行软件协作时的一大堆开销和摩擦通通省掉了,取而代之的是无缝、可管理且可扩充的解决方案,每一个人都可以共享在 GitHub 上公开分享的项目,或为此做出贡献或进行扩展。

拥有私有账号和库的 GitHub 客户也可以在团队内部利用同样的功能,从而对自己的专有代码进行开发和管理。

网络效应+市场

上述功能特性吸引到最初的一批用户,然后又为其他开发者参与和加入创造了一个很有力的理由。在网络效应的推动下,这个天才的工程师中心和项目库每一天都在不断地吸引着新的用户。

GitHub 的这个独特优势也是他最强大的增长引擎。GitHub 同时受到了网络效应和市场动态的推动。公司受益于两个独特且倍增式的增长驱动要素:网络效应吸引到更多的人和他们的代码,而不断增长的代码库又为那些给自己的项目找代码的人扮演了集市的角色。

这一双增长引擎的结果是两大资产的确立:

1、 Web上计算机工程师最重要且最具活力的社交网络
2、 为那些替自己的项目寻找代码素材人准备的大规模的代码库

这两大资产为其自身发展提供了持续的动力。新用户通过多种渠道被源源不断地吸引进来:如代码搜索、现有 GitHub 用户的邀请、或者通过开源项目的协作等。

GitHub 被称为是“代码样例的亚历山大图书馆”,如 Preston-Werner 所述:

网络效应太出色了。现在有了基于 GitHub 的标准,每个人都可以建新项目,然后马上知道去哪里找代码,如何给开发做贡献,如何审核代码,如何提交问题给代码库…做这些事情的人越多,效应就越强大, 从这个统一、知名、规范的系统中得到的东西就越多。而且这一切发生得实在是太快了。

这是一种最好的网络效应,上GitHub的人越多,GitHub上的项目就越多,它对每个人的价值也就越大。

随着 GitHub 成为许多开发者和公司事实上的标准,那里逐渐汇聚了最伟大的编程思想,让众人合力开发东西,GitHub 不仅促进了这一切,还把过程记录下来供他人观瞻。GitHub 的档案跟踪了用户对网站上的项目作出的贡献。一旦用户提交了 pull request,项目经理就会像了解简历一样评估该用户的档案。如果补丁获得接受,那么该用户的档案上又会增加一项荣誉。

GitHub 的网络效应是充满活力的,因为每一个新用户—无论是个人或者公司,都有可能带来更多的新用户。公司一旦决定加入,有可能就会把整个团队都带了进来,或者反过来,热爱 GitHub 的个人也会把整个团队都吸引到该平台上来。

网络效应还会吸引那些希望与 GitHub 上的开发者共事的人进来。技术营销人员和其他的专业人士现在利用 GitHub 作为接触开发者的手段,这里的一切都是开源的,信息开源、书也开源,还有人把平台当作写博客的工具。这些用途都超出了原来 GitHub 的用例范围,但却帮助了平台的推广并形成一个不断发展的网络。

口口相传

除了网络效应和市场这两个驱动力以外,GitHub 的增长还部分得益于口口相传。要想实现口碑营销并不是增加“转发”和“喜欢”按钮那么简单。相反,好口碑靠的是内容、体贴、解决问题还有易用—换句话说,产品和服务的体验才是关键。

GitHub 的口碑来自它给人带来的惊喜和愉悦,而这些带给人的惊喜,不是说出来的,而是做出来的。说得好不如做得好,而带给人的惊喜会使人自愿为 GitHub 代盐。

口口相传的另一个关键驱动是“超级粉丝”,这些人不仅喜欢产品,而且也是最忠实的公众支持者或批评者,在台上台下帮助你渡过难关。而产品或服务获得口碑的关键,正在于它能带来惊喜、带来快乐,能有所帮助。

免费增值

跟 Evernote 一样,免费增值也是 GitHub 的一个重要的增长因子。虽然 GitHub 协作、民主化的开发哲学需要免费才能让大家使用,但 GitHub 的创始人从一开始就清醒地意识到,就其本质而言,这项服务是要耗钱的。如 Wanstrath 指出那样:

Tom(Preston-Werner)在自己的上一家创业公司 Gravatar 学到的一件事情是,免费提供资源密集型服务是亏本生意。Gravatar 的图片托管很耗流量,而 GitHub 托管 git 需要保存和传输代码,这也是非常耗钱的。我们需要收回这些成本。

幸运的是,GitHub 免费的测试版的推出让它无意间走到了免费增值模式。GitHub 的许多用户一开始都是出于免费在上面搭建自己的公共或私有库的,但久而久之,越来越多的人也开始用它来管理自己的商业代码。

然后那些人开始发邮件给 GitHub 主动问管理自己的私有库应该怎么付钱。创始人们开始意识到,除了收回成本以外也许他们还可以做得更多—把它做成一门生意。于是他们决定,一方面继续免费提 供无限制的公共库,但是私有库则要付费。既然人家都想给你钱了,怎么好意思不要呢?

GitHub 现在的定价模式就是这么来的—公共项目免费,私有项目收费,个人 7 美元 / 月,组织则是 25 美元 / 月。此外,还有年费达数百万美元的企业级服务,像洛克希德马丁、微软、LivingSocial、VMware 及沃尔玛等都是其客户。

一般而言,免费增值模式都会碰到一个问题,即通常给不出具有吸引力的让用户从免费升级到付费的理由。而 GitHub 的免费增值模式则避免了这个问题。如果你渴望使用 GitHub 的工具,但又不想别人看到你的东西,那么切换到付费套餐就成为了那些希望使用 GitHub 的公司的自然之选。

开源冠军

GitHub 的协作架构不仅令在现有开源项目基础上开展工作变得更加容易,对于开源新项目来说也是如此。公司和个人现在可以把自己之前不公开的项目开放出来,然后让社区的人帮助改进。

这一变化的影响是非常大。如果公司希望开源某个项目,就会面临前面提到过的那些版本控制和补丁问题。在时间和带宽有限的情况下,大多数公司都不愿为 了开源带来的机遇而投入所需的时间和资源。有了 GitHub 以后,这些公司开源自己的项目变得容易多了。补丁管理、版本控制以及代码托管等麻烦事通通都交给 GitHub 处理掉了。

这一点导致了一系列颇具知名度的项目开源化,包括 Twitter 的 Bootstrap、Zurb 的 Ink,社区的人可以免费使用这些东西,项目本身也不断得到改进。GitHub 为这些公司提供了一个此前无法做到的回馈社区的手段,从而以一种有意义的方式推动着开源运动的发展。

本文来自开源中国社区 [http://www.oschina.net]

时间: 2024-10-28 18:09:00

开放的力量—破解 GitHub 的发展密码的相关文章

开放的力量—破解GitHub的发展密码

中介交易 SEO诊断 淘宝客 云主机 技术大厅 GitHub : 一个共享虚拟主机服务,用于存放使用 Git 版本控制的软件代码和内容项目.它由 Chris Wanstrath.PJ Hyett 和 Tom Preston-Werne 用 Ruby on Rails 编写而成. -维基百科 但是这项服务逐步演变成为了开源软件开发与管理的社区,其开放一切的梦想实现了软件开发的虚拟化.这股力量是强大的.成立 1 年之后不久公司就吸引了 10 万用户.2012年GitHub获得了A16Z的1亿美元融资

担心黑客的破解技术已经发展到可以读取哈希密码明文的程度

7月19日报道,澳大利亚最知名的团购网站Catch of the Day宣布,该网站遭遇了黑客攻击,其部分用户的密码和信用卡数据被盗. 令人震惊的是,这次黑客攻击发生在三年多以前,而Catch of the Day现在才披露这一事件. 根据Catch of the Day向一位用户发送的一封邮件,该公司在网站遭遇黑客攻击之后很快就发现了这件事,并向澳大利亚联邦警察局(Australian Federal Police)报了案.除了一些用户密码泄露之外,--这些密码是采用哈希(hash)单向散列算

破解本地MySQL数据库密码

破解本地MySQL数据库密码: 1.用系统管理员登陆系统. 2.停止MySQL的服务. Windows:运行net stop mysql关闭数据库 3.进入命令窗口,然后进入 MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 4.跳过权限检查启动MySQL, c:mysqlbin>mysqld-nt ––skip-grant-tables 或则:c:mysqlbin>mysqld ––skip-grant-tables mysqld.exe是微软Windows

实验室:破解所有版本Access密码

access|破解 关于Access97的密码破解,在很多的网站和杂志上都有过介绍.在这里我简单重复一下. 在mdb文件第0x42字节处的13个字节分别与0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13异或后即可得到数据库的密码.但在Access 2000和2002的版本里密钥不再是固定的13个字节.而且加密的方式也有了变化. 经过ccrun用一下午的时间研究,终于将Access2000的加密方式搞清楚了.嘿嘿.在此

破解Word文档密码的三种方法

  破解word文档密码方法一:文件另存法 打开受保护的文档,依次单击"文件→另存为",弹出"另存为"对话窗口,在"保存类型"中选择"WORD97-2000&6.0/95-RTF(*.doc)", 再给文档取个名字,单击"保存"按钮.关闭文档再次打开,然后再依次执行"工具→解除文档保护",这时就不会再提示输入密码了.在另存为时,也可将文件类型选择为html,然后打开html文件,

穷举法破解密码-MPI+VC6.0进行两台PC的并行计算,穷举法破解6-12位的密码(字母和数字组合)的MPI程序

问题描述 MPI+VC6.0进行两台PC的并行计算,穷举法破解6-12位的密码(字母和数字组合)的MPI程序 10C 需要分配任务,任务不知道怎么分配,我打算写控制台程序,先提示输入密码,用"*"显示,然后破解密码,显示密码是什么.怎么写这个程序啊,谢谢各位大神了.我在网上找了好多资料,可是估计是因为编程能力太差,实在写不出来啊.求大家帮帮忙,比较着急这个,谢谢 解决方案 我搭建好了MPI运行环境,只是遇到编程就傻了,实在编不出来,能给出程序吗?本身编程能力比较差,现在马上要交毕业设计

开机密码 破解-怎么破解电脑的开机密码(不借助启动盘)

问题描述 怎么破解电脑的开机密码(不借助启动盘) 想破解电脑的开机密码(网上说的net user 用户/add貌似根本就不行) 解决方案 电脑一般有两种密码,开机密码和登录密码 一.开机密码即是BIOS密码,在系统启动前用. 1.要清楚最简单办法是,把BIOS电池拆下,等2.3分钟放进就可以了,缺点就是需要拆机. 2.还有一种是通用密码,这个需要看说明书或与厂家联系. 二.登录密码就是系统启动后,登陆系统用的. 1.当忘记登陆密码 (只有用户名不是Admininstraor的时候有效) 启动时按

2015年最容易被破解的25个密码

1月19日,美国调研公司SplashData日前发布了2015年最容易被破解的25个密码.与去年一样,123456和password(密码)仍是网民最常用的两个密码,当然也最容易被黑客破解. SplashData从2012年就开始发布最容易被破解的密码排行榜,今年已进入第五个年头.但从今年的排行榜来看,互联网用户似乎并未从中吸取教训. 今年,SplashData对2015年泄露的约200万个密码进行了分析,找出了其中最简单.最容易被破解.且仍有大量用户在使用的密码.结果,123456和passw

依靠开放创新,破解信息领域核心技术安全发展难题

长期以来,信息领域核心技术受制于人的问题给我国网络安全埋下重大隐患,而我国核心技术产业安全发展方面也存在多种声音,无法形成全力.2016年4月19日,习总书记在网络安全和信息化工作座谈会中进一步明确了核心技术发展的目标和路径.事实上,核心技术发展是安全与发展问题的一个典型案例,必须将自主创新和开放发展结合起来,通过推动核心技术产品安全可控打通自主创新与引进消化吸收之间的坚冰,形成开放创新之路,在拥抱世界的同时,快速形成自己的能力,解决核心技术产业安全发展难题. 一.自主创新是发展信息领域核心技术