Linux、git和github的故事
副标题[/!--empirenews.page--]
【技术】近日,分析业内知名技术社区时,详细看了下github。作为笔记,留下学习印记。 一、Linux和git 7月,阿里云参加了LinuxCon + ContainerCon + CloudOpen中国(简称LC3)大会,并做了重要分享。详见。 没想到linux和git之间的故事是这样开始的。来自廖雪峰的博客中有这样一段描述: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码! 你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。 不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。 安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。 Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的: Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。 Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,,PHP,Ruby等等。 历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。 二、从git到github,还有10个故事是这样的介绍这样的文章有一些,但硅星人今年4月所发的,题为《全球最大同性交友网站GitHub,今天10岁了》,作者是光谱,内容比较详细。 1999年上线的Source Forge,因为免费一度是世界上最受欢迎的开源软件代码托管网站。然而Google担心它一家独大,上线了自家的代码托管网站Google Code。 2005年,Linux的缔造者Linus Torvalds对现有的代码托管工具效率不满意,便自己做了一个名叫Git的版本控制工具。Git颇具革命性,允许大量开发者同时为源代码贡献新代码,彼此间并不影响,最重要的在于它是开源的。 三个来自旧金山的年轻人认为Git的潜力巨大,在2008年正式推出了GitHub,一个基于Git的代码托管网站。他们没想到,GitHub 后来击败了元老Source Forge和背景强大的Google Code,成为了全世界最受欢迎的代码托管网站。 2008年4月10日,GitHub正式上线。到今年,GitHub刚好10岁! 去年5月底,GitHub完成了第1亿个pullrequest(PR合并请求)命令。截至今天,GitHub上已经拥有超过8000万个repo(代码仓库),活跃用户达到2700万人,超过150万家公司和机构进驻。 由于程序员群体里缺少女性,拥有高纯度男性用户的GitHub,也被戏称为全球最大的同性交友网站…… “10年前的今天,GitHub正式上线。最一开始,我们只有一个特别简单的目标:连接所有的开发者,让他们用Git更轻松地进行项目协作,”联合创始人ChrisWanstrath在博客里写道,“10年过去了,我们作为公司,作为平台都有了很大的变化,但GitHub存在的意义从未改变。” 作为对十周年的纪念,GitHub团队并没有选择回顾公司历史,而是整理了在他们眼中过去10年间的几大里程碑事件。这很GitHub——这份光荣,其实不止属于平台自己,更属于那些为了让这个世界变得更好,通过Git、GitHub,用JS、Python和各种语言贡献代码的人们。 以下,就是这些曾在计算机业界和GitHub的发展中创造历史的事件。 20080403:Rails转移至GitHub Rubyon Rails(Rails),是一个用Ruby语言编写的开源web应用框架。它提高了开发复杂网页的效率,是计算机界最受欢迎的开源项目之一。2008年4月,Rails做出了表率,将版本控制从SVN换成了Git,并成为第一个进驻GitHub的大型开源项目。 当时,GitHub还处在内测阶段,没有正式上线。GitHub本身就是用Rails写的,这件事为GitHub带来了不小的影响力。 20090103:比特币诞生 2009年诞生后,比特币于2010年正式开源,并托管在了GitHub上。比特币是世界上第一个去中心化的数字货币,它的诞生和开源更是引发了一场同时波及金融和科技,甚至更多行业的革命。 至今,比特币项目接受了超过500名用户贡献的代码。比特币的底层技术“区块链”被广泛视为下一个革命性的计算机技术,比特币项目已经被fork(代码库复制)逾1.8万次,大量的区块链、数字货币项目在GitHub上开源,其中很多都来自比特币源代码。 20090521:Node.js发布 你可能听说过网络开发分前端后端之说,前端管网页呈现,后端管数据输出。然而这两者不是孤立的,前端开发也会涉及到确保后端数据能够正确呈现出来,所以大量采用JavaScript(JS)语言的前端人士需要学习后端PHP、Ruby之类的后端语言,很麻烦。 Node.js的主要意义是让前端用JS即可完成前端需要的大量开发任务,开发适配多种操作系统的复杂服务器端应用。简单来说,它同时把前端和后端工程师从各自不熟悉的领域内解放了出来。2009年5月底,Node.js正式在GitHub上发布,收到了不少前端和后端人士的追捧,被认为是未来趋势。 2014年,Node.js主要贡献者对这个项目的官方管理公司不满,于是自立门户,fork原版代码做了一个社区驱动而不是公司化运营的替代品,名叫io.js。这个项目一度比Node.js更受欢迎,但后来Node.js在开源治理上有了改善,两个项目再次合并。 在整个过程中,GitHub的开放机制确保了社区拥有自主权力,不必服从于开源项目的所有者。在必要的时候,fork是一种力量,也是一种态度。 20101126:RailsGirls第一次线下聚会 2010年,一群用Rails做开发的女程序员在芬兰赫尔辛基举办了第一次线下聚会。 三年后,他们专为女性和LGBTQ人士开设了一个夏令营RailsGirlsSummerofCode。这个开源培训项目帮助开源社区改善了性别多样性,为解决女性在科技行业内受到的结构性歧视做出了贡献。 20110101:TravisCI持续集成的第一个PR (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |