《开源思索集》一聊聊Github的方法与哲学

聊聊Github的方法与哲学

开源思索集
开源已经是一场革命,但是在开源的发展历史上,其实依然在不断地发展,甚至革命。简单地回顾一下:

最早的开源,仅仅是把自己的源代码开放出来,或者让别人用磁带复制带走,或者放在Server上供人下载。

再后来,关于这个项目的代码与功能,就浮现出来了两个问题:代码大家都能改,如何整理与汇总各自的工作成果?功能大家都有想法,最后应该做成什么样?

于是,源代码版本管理工具与各种在线讨论的方式,开始了一轮又一轮的演进。具体的项目就不再一一列举,但是其中最大的一次创新,就是从集中式版本管理走向了分布式版本管理。如果说Github有自己的哲学,它的来源,首先是分布式开发的理念。

分布式开发与分布式版本管理:没有一个核心的版本库,意味着没有任何一个人、任何一个组织是核心,每个人都可以在自己的机器上保留全部的版本树,并且不断发展自己的版本。一个人的代码,既可以贡献给A,也可以贡献给B,一切自由。

随着Linux开发的哲学,被逐步地传播开来,才有了Github的出现。最初的Github的最大的贡献,是将这种无中心,多分支的开发模式,Web化、常态化了。一键就能够fork自己的分支,然后可以跟原有的分支毫无关联,也可以非常方便地提交pull request,这就带来了更加频繁的分裂,**使得分裂常态化了。
**
原来的开源社区,我改了代码,希望能够贡献给社区,需要穿越种种障碍,如果社区不接受,最后我只能逼不得已,自己开一个新的分支,变成一个新的项目。在分裂是异常的状态下,分裂是罪恶的,是不应该的,是会带来阵痛的。当分裂变得常态化,pull request也变得常态化,分分合合,以每天N次的速度发生,恰恰因为如此,它不再是一种罪恶,而是一种健康的、向上的、以更快速度进步的模式。大家不再是在一个版本下,各自贡献,而是在各自的版本下,独立发展,想分就分,想合就合。

这背后折射出的哲学,可以这样总结:如果将分裂视为罪恶,而力图用各种方法去阻止,总会碰到各种各样的新的困难。如果反其道而行之,通过技术手段尽可能地方便分裂与合并,这反而是满足了真正的需求。(阻止分裂,其实是在压抑开发过程中存在的真实需求)所以,尽力满足真实的需求,才有可能获得成功。

随着这样的模式,变得常态化,然后Github才被称为一个社区,fork/pull request也从一种开发行为变成了一种社交行为。于是,程序员们发现,最好的交流,正是通过源代码来交流,一切的讲道理都不如用源代码来讲道理。这恰恰是程序员们最习惯,也最喜欢的一种交流方式。这当然也是因为满足了真实的需求。甚至我们可以说,Github创造了真实的需求

随后的事情是顺理成章的,程序员们泡在Github上,自然想在Github上做所有的事情,这不必再过多分析了。

时间: 2024-10-29 08:22:50

《开源思索集》一聊聊Github的方法与哲学的相关文章

《开源思索集》一导读

开放源码是开源软件吗? 当我们谈开源时,我们谈些什么? 如何更有效地学习开源项目的代码? 打开本书,为你解答有关开源的所有问题. "将开源与道德脱钩,既不以道德相标榜,也不以道德相指责.这是对于开源软件最好的态度!" "自由软件值得尊重:软件版权应该遵守:开源运动值得参与.专利说到底是个很糟糕的东西.而知识,蕴含在任何能够被读到的源代码里." "学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的." &

《开源思索集》一为什么 GitHub 只能关注个人,而不能关注组织?

为什么 GitHub 只能关注个人,而不能关注组织? 开源思索集首先回顾一下历史: 在Github里,组织并非一开始就有的.在2010年,他们发了一篇博客:Introducing Organizations · GitHub. 到了2012年,有了Team Mentions: Introducing Team Mentions . 到了2014年,有了更好的组织展现形式:Better Organizations · GitHub. 可以看出:Github的各种功能特性是逐渐出现的,也可以说:他们

《开源思索集》一“我们的开源项目”活动发起人——庄表伟专访

"我们的开源项目"活动发起人--庄表伟专访 开源思索集 1. 先来个自我介绍吧! 庄表伟,盛大创新院高级研究员.1997年毕业至今,始终战斗在编程的"第一线",2009年加入盛大创新院.一直致力于推广并服务开源,热爱社区,热衷参与各种社区的交流活动.对于开源的事业贡献度很低,目前稍微能够拿得出手的项目,是一个正在进行中的写作计划:<借助开源项目,学习软件开发>. 为什么要发起"我们的开源项目"活动? 这个活动,最初是因为即将召开的QC

《开源思索集》一Hacking the Game——我的“孔颜乐处”

Hacking the Game--我的"孔颜乐处" 开源思索集 不合格的儒家信徒 大约在10多年前,那时候我成天泡在网易的宗教信仰版,在与很多不同宗教信仰的朋友讨论的过程中,我也逐渐有了自己清晰的三观,以及较为确定的信仰,于是我写了一篇<我的信仰地图>.自己写了这么一篇文章,当然是挺得意的,后来有了一个机会,我还把这篇文章发给了自己的大学哲学老师,内心其实是希望获得他的表扬的.在文章中,我对于儒家的看法是这样的: 在儒家,个人问题几乎是完全不被考虑的,社会.他人.国家.天

《开源思索集》一基于包管理工具的开源生态圈

基于包管理工具的开源生态圈 开源思索集2005年,我还是一个典型的Java程序员.一个偶然的机会,我看到了一篇文章--<Ruby on Rails实践>. 在简单的试用之后,我于2005年05月27日在当年的JavaEye社区写了一篇热情洋溢的帖子:Java社群该向Ruby on Rails学习些什么? 当时的JavaEye站长Robbin回复到:"Python/Ruby是下一代的编程语言,Java是这一代的编程语言,要等到Python/Ruby流行,至少5年以后.正因为5年以后,所

《开源思索集》一GitCafe 这样的代码托管网站在国内的前景如何?

GitCafe 这样的代码托管网站在国内的前景如何? 开源思索集 我想来回答这个问题,说说我对开源托管网站的看法. 1.我在盛大创新院工作,我们团队正在做一个叫做 http://www.teamhost.org的开源托管服务.说起来,还是GitCafe的竞争对手. 2.上一次"我们的开源项目"活动,淘宝的淘叔度(淘蝌蚪),ThomasYao(GitCafe),我(Teamhost),以及上海锐道的朋友(http://BSDN.org),汇聚一堂,共话国内的开源社区发展,大家在一起聊了很

《开源思索集》一欢迎来到异步社区!

欢迎来到异步社区! 开源思索集异步社区的来历异步社区(www.epubit.com.cn)是人民邮电出版社旗下IT专业图书旗舰社区,于2015年8月上线运营. 异步社区依托于人民邮电出版社20余年的IT专业优质出版资源和编辑策划团队,打造传统出版与电子出版和自出版结合.纸质书与电子书结合.传统印刷与POD按需印刷结合的出版平台,提供最新技术资讯,为作者和读者打造交流互动的平台. 社区里都有什么? 购买图书我们出版的图书涵盖主流IT技术,在编程语言.Web技术.数据科学等领域有众多经典畅销图书.社

《开源思索集》一黑客的胜利——读《增长黑客》有感

黑客的胜利--读<增长黑客>有感 开源思索集 增长黑客 这本书在写的时候,我就知晓,只是一直没有去看.作者是我在盛大创新院的前同事,所以在出版之后也很高兴收到了寄来的赠书.简单翻阅之后,就大为喜欢.只不过,我与大多数人喜欢的理由,大不相同: 也许90%的人,是因为这本书在讨论"增长",而我却是因为这本书在讨论"黑客".也许90%的人,会非常喜欢这本书干货满满的"案例".而我却很遗憾,这本书对于"术"讲得太多,&qu

《开源思索集》一外国大牛也不过如此——《梦断代码》读后感

外国大牛也不过如此--<梦断代码>读后感 开源思索集花了一周的时间,看完了<Dreaming in Code>(梦断代码),看得我心潮起伏.对里面那帮家伙的评价也起起落落.最终的结论是:外国大牛也不过如此. 别看他们名头那么响,做了那么多超有名的项目,实际的能力(软件开发能力与项目管理能力)看来相当有限.感想很多,想到一点说一点吧. 1.以前有一篇文章叫<谦卑的程序员>,有这么一段话:"优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的