“国内开源代码不公开”是一个误解 主持人:我们知道其实国外比如说像Sun、IBM这种公司对开源社区的支持和互动都非常强,国内其实也有好多厂商包括中科红旗也在做这样的事情。你能不能介绍一下在跟开源社区这种互动关系当中我们是怎么样一个定位?这种模式跟国外又有什么样的区别,我们应该走怎么样的路? 郑忠源:国际化的这个大公司,刚才提到IBM、Sun等等他们都为开源社区做了很多的工作。包括直接雇佣开源的程序员,包括自己的程序员们去参与到社区里面做很多的软件开发工作。应该讲在国内去为开源社区做工作的主力是从事开源这些企业,这些是一个主力。那么以红旗为例,我们原来有自己的软件开发队伍。我们开发以后我们的代码都遵守了GPL协议公开的,用户可以拿到。但是过去我们个代码很难让国际社区去接受,所以国际社区一直存在一个误解。国内这些做开源的企业不愿意去公开,不愿意去做这种贡献,不愿意把自己的代码开放给别人。 代码能否被开源社区接受,郑忠源的观点认为,这并不完全取决于开发者本身 其实上很大程度上这是一个误解,因为代码能不能被开源社区所接受,很大程度上并不取决于我们自己。对我们有一个开发的问题,对别人还有一个接受不接受的问题。事实上在开源社区里面并不像大家所想象的那样是一个那么完全地透明的情况,事实上开源社区很大程度上也像一个组织一样,他内部也有等级,也有人熟好办事的情况。所以中国的这些工程师们去国际开源社区之后,代码提交给别人的话,别人在相当程度上看他的想法是不是接受。比如说,设计符不符合他的理念,代码、风格是不是他所喜欢的等等。甚至于很简单的原因就是,他以前不认识你,他对你的代码质量没有信心。而他又不见得有时间去审核你的代码,这种情况下很多时候他会直接地拒绝这样一个代码。 国内开源工程师需与国际社区面对面交流 主持人:那我们通常被提交的代码要大概需要多少时间来为这种国际的社区所接受。 郑忠源:不同的项目不一样,事实上我们已经有代码是被接受了,但是也有代码到今天为止以后没有人接受。所以国内的做开源的工程师们需要和国际社区有一个更多的交流,很多情况下是一种面对面的交流实际上比网络、 E-mail等等要更有效的多。包括我们曾经在爱尔兰参加过一次KDE年度大会,我们去给他们看我们的代码,然后他说很可惜,因为这个功能一个星期之前刚刚有一个社区的人做了,并且提交到代码库里面了。所以这个就只能没法接受了,因为已经有人做了,但是实际上我们做的比他早。可是我们那个过程当中不是不想提交,可能是我们第一次提交之后别人没有理我们,中国人的英语障碍实际上是存在的。 中国工程师又比较害羞一点,跟老外做这种交流又有语言上的障碍,提交了一次、两次你还要很费劲去说服别人,觉得太费劲了还是算了。所以这个代码就所以这个代码就放到了我们自己的系统中,虽然也是开源的,但是没有被官方主流社区采纳。但是很多情况下包括我们在爱尔兰那次大会时我们给他看,说我们的一些东西,他们都很兴奋,没想到在中国还有这么一个企业居然还一直在做这样方面的工作。这是他们没有想到的,但是这件事情说明我们过去跟他们交流实际上是非常不够的,这点我是需要加强的。 主持人:你觉得造成这种不够的因素有哪些? 郑忠源:个人来讲当然跟很多个人的特质有关系了,比如说:语言能力,然后还包括你跟人去打交道、说服别人,跟人沟通的能力。这个方面来讲我们现在的工程师们还是需要锻炼的、提高的。那么从大的组织,整个公司这个层面上来讲,过去我们的资源也是不够,因为红旗是一个在市场上求生存的公司,需要靠自己的产品、自己的服务区赢得用户。所以我们的工程师背负着产品开发,这时压力是很大的,而为社区这些人做交流,去说服他们,去沟通是需要花相当的精力和投入相当的时间。这个时候他们不见得是有这样的能力去做到的。
|