前阵子,Coding 在这里发表一些技术博客,很意外也很惊喜地获得不少 cnodejs 社区用户的支持和专业交流,我们很感动也会更加努力,在此郑重地向各位表达感谢~
Coding 的诞生,不免遭受不少质疑和否定,因此我们老大写了这篇文章,欢迎大家与我们交流,让我们一起为国内技术努力!
为什么 Coding 不是中国的 Github ?
自 Coding 上线以来,我听到最多的评价是 “yo,又一个 github”,我一般对这样的评价不做回应,原因有二:
- 中国的 github 这个印象非常直观,似乎有利于 Coding 的推广
- 我很难在短时间内去说服别人我们的情怀和 github 不一样 所以我选择沉默,希望能用产品告诉用户,我们想做的是一个云端开发平台,不是 Github。
Github 是什么 ?
我觉得要讲清楚这件事,有必要先讲讲 Github 究竟是啥。Github.com 从功能上讲,是一个带有简单社交功能的云端代码仓库服务。经过了六年的发展,Github 已经成为这个领域事实上的标准。全世界绝大部分开源项目托管在 Github 上面,包括 Linux,OpenStack,Docker 等重量级项目。开源这几年蓬勃发展,极大的推动了 IT 行业的发展。很显然,计算机软件在人类生活中将会扮演越来越重要的角色,而 Github 就是人类软件的基因库。
Github 发明了两个碉堡了的功能,Fork 和 Pull Request。这两个功能创造了整个 Github 生态系统,使得“基因”得以繁衍和进化,充满了生命力。基因通过 Fork 被复制,而 Pull Request 使得基因得以进化。好的基因会被大量的 Fork,从而实现了优胜劣汰。这一整套体系才是精华所在,说 Github 是代码仓库显然太肤浅了。
Github 的基因库在近两年正在爆炸式的增长(见下图),现在哪个软件不或多或少的从 Github 找点现成的代码或者组件来用用呢?码农,人类软件的工程师,在绝大多数情况下,都会从 Github 上找一些基因片段,然后用自己的智慧进行一定的拼凑,加工和演绎,培育出一个能用的虚拟肉体,完成一定的任务。
我觉得我已经讲的很明白了,再往下就要开始科幻小说情节了,就此打住,回归正题。
中国的 Github ?
我们来说说中国的 Github 这个东东到底是否存在或者可能存在?我的答案是:否。虽然“墙”的存在,使得各种 Copy to China 的项目有了存在的理由,但在 Github 这个领域不成立。最简单的原因是,代码不分国界,无论你的母语是啥,但是写出来的代码是全世界通用的。而且在生态系统层面,已经不可能再培育出另外一个“基因库”。我认为不论是中国的 Github 还是印度的 Github 都不可能存在。
国内的代码托管服务总是希望开源软件作者能把开源项目放在国内的平台上,但这显然是一厢情愿。充其量,国内的平台只是个备胎,小三都算不上。严肃的开源软件就应该放在 Github 上面,这是其得到繁衍和发展的唯一机会,其他平台均没有这样的土壤。
那么,问题来了,既然 Github 这么碉堡,我们还做 Coding 为毛?因为私有库。Github 的牛逼是建立在开源项目之上的,我并不认为 Github 能为私有库提供很大的价值。私有库往往是团队在用,在语言,习惯,访问速度,以及协作方面都有不同的体验要求。在这一点上,我认为做一个超越 Github 的服务是有可能的。我们做 Coding 就是希望能给开发者提供极致的云端开发体验,强调的是私有库,强调团队协作,强调整合体验,强调访问速度。
虽然 Coding 也提供公开项目服务,但是老实说,那从来都不是我们的重点。我们在开发 Coding 的时候是没有公开项目功能的,这个功能是为了方便推广在上线前加上去的。虽然我说出来这个事实有可能会导致我们损失一部分用户,但我还是想强调:严肃的开源项目就应该放在 Github 上面。当然如果你认为 Coding 已经能满足你的需求,我们也欢迎你放在 Coding 上。
我从来不认为我们跟 Github 有什么竞争。Coding 已经上线了 Github 登陆功能,其他的功能整合也在规划当中。由于 Github 在国内访问的不稳定导致这些功能一直无法上线。说到这里我想起来一件事。在我们拿到 A 轮投资的时候,有人建议我用一部分钱去 lobby 中国政府把 Github 彻底封了……然后,就没有然后了。
那么 Coding 是什么?
OK,Coding 不是中国的 Github,那么 Coding 是什么? 随着互联网,云计算的发展,越来越多的软件被服务化,操作系统的概念被不断的弱化,软件开发的方式也正在进行深度的变革。我一直认为人类生活的云端化是不可逆转的大趋势。在这样的大趋势下,软件开发也在云端化。想象一下这样的场景,你从 Github 获取了一些代码片段,或者模块,通过一个云端开发平台(比如 Coding),生产出来了一个软件,打包成了一个 package (比如 app 或者 Docker Image),然后存放在某个 warehouse(比如 app store 或者 Docker Hub),需要运行的时候推送到适当的 runtime(比如手机或者 Docker Container),Bingo!发现了么?整个过程不落地,全在云端完成。碉堡了,有木有?!
在这样的场景中,Coding 想做的就是帮助开发者能够高效的在云端完成软件开发的工作。我们做的代码托管,项目管理,演示平台,质量管理等等都是为了帮助开发者在云端完成一系列高难度的软件开发动作。现状也许不够好,但是我们一直在努力。
Hi Github, I’m Coding :)
最后,我们的 Slogan:Coding,让开发更简单!
本文作者: Coding CEO 张海龙
本文出自: Coding 官方技术博客: http://blog.coding.net/
【Coding 官方技术博客是 Coding 内部小伙伴在平时的工作学习过程中关于技术、产品、设计等等方面的积累和分享,希望大家共同学习共同进步!如转载,请注明出处与作者,谢谢!】