·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发者手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS专题 | Linux沙龙 | Linux开发者研讨会 | Ubuntu 8.04新手入门
  Linux时代 >> 新闻
 
开源在中国的现实意义
来源: Linux论坛  日期: 2008.05.09 09:05 (共有条评论) 我要评论
 
 开源在国外现在是火的一塌糊涂,Linux、Eclipse、Hibernate、Spring、Python、Ruby、 MySQL等等或大或小的开源产品的发展大大推动了软件开发这个行业的高速发展,apache、sourceforge等开源社区中也是百花齐放,开源产品的开发者、推动者、推广者也得到了各自想得到的回报,更不用说使用这些开源产品进行开发的用户得到的开发效率的提升。反观国内开源的发展则相对滞后很多:违背Linux开源协议进行商业化Linux开发的厂家被开源社区骂的狗血喷头;屈指可数的几个开源爱好者组织的开源团队在个人的意志与信念的坚守下苦苦支撑着,很多因为种种原因中途夭折;商业公司对开源社区的几次推广行动也胎死腹中,比如CSDN的开源社区、Apusic的Operamasks;更有甚者打着开源的旗号却从事着根本与开源不搭边的事情。国内大部分人对开源更是有着很深的误解:“你凭什么叫人家开源,不就是想看看Windows的代码吗?”、“人家商业公司做出来的产品是你们几个技术疯子做出来的东西能比的吗?”、“把别人写好的东西拿来抄一抄改一改我的任务就完成了,钱就到手了,开源真好”、“我做的项目用了很多开源的东西,很牛吧!”。

  我认为开源对于整个软件行业有如下几个作用:使用开源产品搭建出的产品有更好的安全性和可控性;开源的产品能得到开发社区的广泛支持,从而使得产品能够成熟的更快;使用开源产品搭建出的产品有更好的安全性和可控性;开发、学习开源产品能够提升开发人员的技术水平。

  对于第一个作用这里不做过多解释,相信大部分人都能理解。

  开源产品是在全世界所有技术牛人的手下开发出来的,并且有千万双眼睛盯着它,众多的使用者可以完善它,这使得开源产品的成熟速度也十分惊人,Linux、Eclipse的成熟就是最典型的证明。各种开源产品层出不穷,相似功能的产品就有几十种甚至上百种,一个开源产品如果想要在这些产品中脱颖而出,不仅需要强大的技术做支撑,更需要非常强的商业化推广,否则做出来的产品只能成为少数技术人员把玩的玩物。如果没有IBM对Eclipse 的巨额投入,Eclipse会发展成现在的规模吗?这些开源项目的后面通常都是有一个非常强大的开源基金会在做支撑。遗憾的是,目前国内还没有一家公司能够进行对开源社区如此大的投入,因此国内大部分的开源团队都是在自己开发着自己的开源产品,放到网站上供他人下载,然后梦想着自己的开源产品能够有一天会像Hibernate、Struts一样成为风靡全球的产品,但是如果没有强大的商业推广的话这肯定是一场白日梦。

  鉴于此,我认为目前国内的开源产品商业化的可能性是非常小的,因此开源的对于广大开发人员的意义更多的在于使用和学习,而且我们使用开源产品快速的搭建出满足需求的产品,这本身也是对开源的学习过程。这里提到的“学习”包含下面几个含义:学习开源产品的使用;学习开源产品的实现原理;学习模仿开源产品;学习开源社区的运营。

  (1)学习开源产品的使用:成熟的开源产品是非常优秀的,如果能够学会它们的使用,这对于开源人员来说就是一种很大的收获,因为通过使用这些产品就能认识到这些产品的功能、特性以及优缺点。

  (2)学习开源产品的实现原理:开源产品的代码都是开放的,我们可以深入产品的内部学习其实现原理,从而提高自身的开发水平。不得不承认的是国内开发人员的技术水平还是非常低的,通过学习开源产品的代码,就可以提高整体的技术水平,从这个层面来讲哪怕是非开源的源代码开放产品(比如 Borland的VCL)对我们也是同样有帮助的。值得高兴的是,国内很多开发人员已经开始尝试着深入开源产品的内部去探寻这些产品的实现原理,并把它们的学习成果与更多人分享。开源对开发人员的提升也是显而易见的,最明显的就是微软开发社区中开发人员的普遍技术水平是低于Java等开源社区中开发人员的普遍技术水平的(注意,这里说的是“普遍技术水平”,请微软社区中的高人不要动怒)。中国计算机业的发展必须依靠核心技术,而提高技术水平是拥有核心技术的大前提!

  (3)学习模仿开源产品:弄懂了开源产品的实现原理以后就可以尝试模仿它们开发自己的产品,这和“重复造轮子”是没有关系的,模仿是学习他人技术的最佳途径。因此大家应该多多的“造轮子”,越多越好,哪怕造完就扔掉也是可以的。

  (4)学习开源社区的运营:国外很多开源人员都有在开源社区中开发的经验,因此他们对于开源这种协同开发方式就有更多的经验,因此我们可以加入他们的开发团队,可以帮他们做文档、界面的本地化,更可以参与产品功能的完善,从而学习他们的协作方式,更可以和他们做朋友,了解更多“外面的世界”。国内很多朋友都参与了开源产品的文档中文化、产品的推广等工作,这都是有深远意义的。我们CowNew开源团队参与JodeEclipse、DWPL等国外项目就是基于这一点考虑的。

  相信经过一段时间学习之后,我们的开发人员将有能力开发出世界级的产品,如果我们的民族企业能够得到长远的发展,并且在商业上帮助国产开源真正走向强大,从而使得中国的开源社区也能跻身“世界开源之林”!

来源:IT专家网
  发表评论 查看评论(共有条评论)
 
 
最新资讯更多>> 
· Ubuntu Tweak 0.3.1 发布 加入..
· [多图] Ubuntu 8.04 中开启3D桌..
· 2008Linux Journal读者选择奖公布
· MySQL服务器知名网站中的使用量
· KDE 4.04发布
· 开源在中国的现实意义
· 浅析计算机软件的著作权与专利..
· DekiWiki平台多语言支持Mozill..
· 陆首群:加快中国开源软件的发展
· 红帽2008年第四季度财报及2008..
论坛热点更多>> 
· 使用FreeBSD进行网络管理(20..
· 使用FreeBSD 7构建服务器操作..
· 【求助】明天去面试,有几个..
· 菜鸟跪求高手解答,双系统wi..
· 好儿请进
· 帮帮我!linux系统
· o(∩_∩)o...哈哈,51玩的怎..
· Linux sys_exec中可执行文件..
· 双网卡,怎么让各自网段互通?
· 打什么补丁让防火墙支持 NFQUEUE
文档更新更多>> 
· LINUX下超级实用的免费字典软件:..
· Linux磁盘配额管理
· Linux操作系统下Shell病毒详细介绍
· Linux中/proc目录下文件详解(一)
· Linux中/proc目录下文件详解(二)
· Linux中/proc目录下文件详解(三)
· Linux下PCI设备驱动程序开发[图]
· Linux上的ACL权限文件访问
· 获取linux 2.6.15 root权限
· SuSE Linux9.1 硬盘安装方法
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们