漫谈Github与开源

作者: A7TuG3 | 来源:发表于2014-12-19 18:36 被阅读837次

    今天在Github发布了我人生真正意义上的第一个开源项目-『Onepay』,这是一个简单方便的打赏按钮/链接生成系统,用来替代已经下线的支付宝收款主页,截至目前已经在Github上面收获了21个Star和8个fork。

    我回想起去年在北京实习的时候,某天公司一个技术大牛给一个做安卓开发的姑娘讲Github的使用和Git的一些原理,我啥也不懂很想听听,但是又担心如果表现的啥也不懂,会被别人嫌弃,然后遣返回大四川,所以我装作高深莫测的站在一旁,面带微笑。技术大牛抬起头来看了我一眼,可能是被我高深莫测的微笑震住了,我淡定的说,您继续讲,我也听听,然后换成不耻下问的谦虚微笑,技术大牛憨厚的点点头,然后又继续讲了下去,最后讲完了,还望了我一眼问道,没讲错啥吧,其实也没啥新东西吧?我点点头说,不就是那些东西嘛。

    是哪些东西?其实是很多东西。

    要了解Github,我们首先要知道Git,Git是管理代码的工具,写代码不是件轻松的事儿,一个人写的时候已经不轻松了,一群人写就更不轻松了,但这世界上很多事都是怎么不轻松怎么来的,大部分人都会和别人一起写代码,问题在于,这么多人写一个东西,你今天写一点,我明天写一点,然后发现你写错了,又影响到了我前天写的,最后汇总的时候怎么查找错误?又在什么时候汇总?这些问题太多了,想想就觉得还是食物美好。为了让写代码这件事儿美好一点,我们有了一种名叫代码管理的东西,Git正是其中之一,我使用过的还有SVN,但是今天我们只讲Git。

    Git的核心思想是『分布式』,我们在服务器上面有一个『主仓库』,这里放的是拿得出台面的代码,我们也可以在自己的电脑上创建分支,这些分支由『主仓库』克隆而来,然后我们就可以愉快的在自己的电脑上写代码了,写完代码可以同步在自己电脑的分支里面,当你觉得自己的代码拿得出台面,我们可以申请把自己的代码更新到『主仓库』里面,一旦通过这样的审核,我们就对『主仓库』做了某种贡献,世界各地的杰出程序员不断的为一个项目的『主仓库』做贡献,让这个项目变得越来越完善。

    Github是运用Git思想来工作的一个商业网站,所有开发者都可以在Github上面为自己的项目创建一个『主仓库』,好的项目就像狼群中的小鲜肉一样,大量的开发者会把这个主仓库中的代码克隆到自己的『分仓库』去,用更性感的话来说,就是『Fork』。

    Git的方式的确很优雅,但问题在于,会有人愿意把自己辛辛苦苦的代码拿出来公布,并且让人Fork么?

    会,不仅会,而且很多,Github有超过140万用户,你可能会撇撇嘴说那个啥啥社交软件都有2000万用户,区区140万算个啥。可是这140万用户几乎涵盖了这个世界上最优秀的开发者,我相信,你那个有2000W用户的社交软件的工程师,肯定也是用Github的。任何项目,在Github上面获得fork或star,都意味着其它工程师对这个项目的认可,这比100个QQ空间的赞更有价值。

    为什么这些优秀的工程师会开源自己的项目?

    因为开源是一种精神。

    无数的软件开发者苦心积虑保护自己的代码不被破解,而还是被聪明绝顶的脚本小子破解了,但破解无数软件的脚本小子在接下来的破解中却傻眼了,因为这是开源的,不用破解也就破解了破解。

    闭源意味着封闭,而开源则意味着开放,封闭很难进步,开放才会进步。开放让人类的智慧有聚集的可能,人类的智慧聚集起来不再是1+1=2,这是开源的力量。闭源是一种排斥,而开源是包容,闭源是单打独斗,开源是同仇敌忾,闭源是敝帚自珍,开源是无私奉献,闭源是小富即安,开源是世界大同,闭源是资本主义,开源是共产主义。

    所以我一直想不通为啥Github会被墙。

    闭源让微软成帝国,让苹果成神话,但是,这是商业,如果没有技术的开源,这些商业的闭源也基本是无米之炊。商业需要闭源,而技术需要开源,利益需要闭源,而情怀需要开源。

    开源是技术的『本善』。

    我不排斥闭源,但是我赞美开源,就像我我忍受黑暗,但却心存光明一样,就像我顿顿吃素,却依然热爱肉食一样。

    当然,我没有顿顿吃素。

    相关文章

      网友评论

      • A7TuG3:@Ray不忘初心 @张云路 前段时间有被墙过,后来在包括李开复等很多技术人员的呼吁下才重新开放的,当然我现在一直默认翻墙,所以墙不墙也就不知道了。
      • yunlux:没被墙啊~代码世界已经提前享受到马克思共产主义了~
      • Kent_Zhang:没被墙,只是卡而已,顺便推荐gitlab,灰常给力
      • Ray不忘初心:另外,用代码管理工具对团队协作开发也是蛮有用的……最近跟另外几个人做之前申请的那个创新项目,就在学着用github管理和同步代码,挺方便的~顺便……github真没被墙
      • 阿呆变Geek:没有被墙吧。。。
      • 4008f94c0868:github没有被墙吧?楼主翻墙发的Onepay?
      • 秋纫:觉得写到后面就越来越感性了
      • telnetning:恩,楼主讲地挺通俗的,佩服一个,大多数程序员很少有这样好的讲东西的本领,比如我就没有。同时有一个问题,楼主是什么网,github被墙了么?
      • 挂瓜:我爱Github,而且我顿顿吃素。
        Github被墙,是因为当时某个抢票软件的问题。。。

      本文标题:漫谈Github与开源

      本文链接:https://www.haomeiwen.com/subject/dvnotttx.html