谢谢栗蔚秘书长,栗蔚秘书长跟我说她想听听程序员是怎么说的,所以我就来了。
简单自我介绍一下,我是一个老程序员,2008年创建开源中国社区,也是几个小开源项目的作者。目前我主要负责开源中国社区的会议和码云平台工作。
讲到开源,第一个最基本的要求就是你要开放源码,因为开源这个词也不是什么新鲜词,到了今天发展那么多年,大家都对开源这个东西已经很熟悉了。今天我想从这几个方面大概讲一下开源最核心的东西,代码以及代码平台这么几年发展的一个情况。回到我们中国,我做了快9年的开源社区,我们国内的开源到底是什么样的状况。最后会涉及到企业包括企业的开源、企业的一些代码的处理的问题。
先讲讲整个开源代码平台的发展,这个网站大家应该都听说过,SourceForge,1999年上线,到现在这个网站还在,这个网站有40几万的开源项目,每天好几百万的下载。前两年它出了一件丑闻,官方明目张胆接管非活动开源项目下载嵌入广告。这是之前在github出现的大的开源项目的平台。另外一个是Google Code,2006年上线,但是已经在去年1月份宣布关闭这个网站。微软的CodePlex,2006年上线,上个月他宣布将在今年年底关闭。这三个网站大家有没有发现一个共同的特点,首先基本上这三个网站都是以我们第一代的代码的版本控制技术建立的,他们是一个专门用来放开源项目的网站,基本上没有协作,使用者很难参与进去。还有另外两个特点,超大的互联网公司主导的平台都宣布关闭,大家可以思索一下。
刚才那三个是第一代的代码平台,到了第二代,从Git出现的时候开始的,Linus在2005年发布了Git软件,2008年的时候github上线,2012年的时候Gitlab还有GitBucket,开源中国也有一个代码托管平台叫码云,2013年上线。刚才是几大代码托管一平台简单的罗列,还有很多比较小的网站,这里不一一叙述。
回到国内,我在2008年的时候做了开源中国这个网站,到现在将近9年时间,目前这个网站收入了4万多个开源项目,到今天已经有超过8000个国人开发的开源项目,有将近4000个开源作者。看看这些项目在几年的发展,从我们刚上线2008年到2012年的时候,数据就开始疯狂的涨了差不多3倍,现在每年有不大不小的增长。这个数据是我们每年收录的中国人开发的开源项目的统计,可以看到发展速度是非常快的。
总结一下这几年在国内开源发展的特点,2008年那时候我做这个网站,仅仅是为了说把开源软件收集起来,做分类,做标签,让使用者更方便检索到,那时候很多人都在用各种各样的开源软件,但是我们很少看到我们自己做的开源项目,我们也很少参与到各种各样的开源项目。慢慢的发展,我们会去参与到各种各样的项目,比如提Bug,去贡献代码,开始推出我们自己的开源项目,现在有将近8000款,而且每年增长的速度非常快。现在开源项目还有一个特点,我们不再是个人英雄主义的时代,基本上是一个协作的过程,我们的项目,不管是哪个公司或者哪个人的,都会有来自社区的开发者的参与,这样才是真正开源项目运作的核心去协作。我们开始积极参与国际的开源组织,本身也成为了国际知名的开源项目。
为什么企业要参与到开源,很多人可能都会思考这个问题,总结了几大点。第一个是情怀的问题,就像Richar Stallman,他纯粹就是情怀,所以他做了GPL许可证,发起了GNU项目。现在很多开发者因为喜欢,所有不断参与开源。第二个,我希望通过这个开源项目可以展示我自己各种各样开发的能力、算法的能力等等,获得社区、获得整个行业的认可。第三个是掌话语权,决定开源软件发展方向。有个具体的例子,国内像华为会积极参与到国际大的开源项目,他可以决定整个开源软件的发展方向。最后一个是很多现在做开源的诉求,希望通过开源项目来获得广泛的推广支持,通过增值服务获得商业利益,像Chrome、Android.
还是回到代码,企业现在怎么管理自己的代码。我们现在整个的开发水平、管理水平参差不齐,现在有几个现象,完全没有做代码的管理,可能一个公司,你的公司老板不关注这个代码怎么管理的,这可能由技术的负责人自己去搞定,他可能没有管理,这种情况是很可怕的。源代码是企业的核心资产之一,没有管理,当然这种情况已经很少见了。还有一个,一般很多企业会搭建自己的代码托管平台,他觉得这样放心、可控,代码在我自己手里,不会在其他第三方手里的时候,他觉得心里比较安心。但其实有些问题,现在企业内网是整个安全的一个最薄弱的环节,你在企业内部可以访问到任何一台机器,没有防火墙,没有任何隔离,这是大的隐患。还有开源软件功能不完善,漏洞多,如果关注开源中国网站,你会发现我们每天都会有一些软件漏洞,这些漏洞如果没有及时修复还是挺危险的,你自己搭的时候可能还要投入人员,去跟进整个漏洞的修复。最要命的一个问题,我自己搭,我没有办法杜绝来自于内部的破坏,如果说有一天你因为各种各样的纠纷或者怎么样,会导致整个内部的代码是完全被破坏掉的,一旦出现这种事的时候,会发现其实问题特别严重。我还挺推荐大家使用第三方的代码托管平台,因为你不用自己去管理这种非核心业务的功能,你也不需要进行开发,也不要专门去维护,可能多唯一担心的是我这个东西会不会被你那个平台拿到代码,其实这种情况不会,就像前几年云计算刚出来的时候,大家觉得我的项目跑在你的机器上放不放心,但其实到今天,云计算已经成为一个大家都认可的事情,没有人再去关心这样的问题。使用第三方平台的代码托管会有个好处,一旦你的平台内部遭受恶意破坏,平台可以帮助你恢复这个数据,这是让你心里比较安心的地方。
我们做开源中国做了9年时间,我们做开源的代码托管做了4年时间,所有的一切都是为了开源的服务,希望大家可以尝试一下我们的码云的代码托管服务,我们的口号是放码过来,骚起来!
谢谢大家!