开源是用户写给用户的软件

开源是用户写给用户的软件 <?xml:namespace prefix = o />

 

Jack zhai

 

开源最初被定义为“***写给***的软件”,因为早期的计算机环境资源很奇缺,软件开发的基础成本很高,能参加软件开发的都是大公司的,并且是多人团队共同完成的事情,管理也很复杂,软件当然是收费的,源代码更是“知识产权”而受到严格保护,想拥有自己可以随意改写的软件很不容易,想要定制自己需求的软件,更是难以想象的高成本投入。最早希望自己能随意删改软件、探求软件奥秘的就是***了,所以那时的***被人定义为是有些酷爱喜欢编程的人,不愿意服从领导意愿,喜欢自己创新的人。为了能有“自己的”软件,开源成了大家彼此共享的最佳选择。
开源社区是以公约的形式来组织大家,彼此合作,有人把它定义为“自由软件”:
1.         源代码必须与软件一起发布,或者能够以不超过发布成本的方式获得
2.         任何人都可以自由地重新发布软件,无须向作者支付版权费或者授权费,但必须在软件与代码的前面声明源代码的作者与社区
3.         任何人都可以修改软件或者从中衍生出其他软件,然后按照相同的条款发布经过修改的软件
    可见开源方式是以一种“社会大同”的形态出现,与版权保护有天生的对抗意识。后来随着各种软件开源社区兴起,有人添加了“允许他人从开源软件中衍生出商业软件”的条款,这样就允许了有人用开源软件(自己增加的代码功能)去获取商业利益。相反,也有人增加了“病毒条款”,限制商业软件从开源中牟利,就是任何从开源软件衍生的软件,必须把新增加的代码也全部开源给社区,否则视为违反开源“契约”,甚至有这样的官司案例(社区赢了)…

 

更多的人认为:开源社区只不过是编程爱好者的俱乐部,大家交流编程技巧,编些小工具软件还可以,大型的软件必须有严格的团队组织、统一的架构设计LinuxMySQLApache等大型软件的成功开发,人们开始重新审视开源社区的能力:在互联网流行的今天,开源可以成为新型、低成本的软件开发模式,并且足可以与私人软件公司的大佬们抗衡,这无疑是中小企业、个人编程等软件编程的弱势群体们的福音。
究竟是什么原因,让开源社区,这个松散的、彼此不认识的、甚至只知道网名的“虚拟”团队,就可以合作开发出优秀的、大型的、复杂的软件呢?真的是“我为人人,人人为我”互联网思想的体现吗?

我总结了几点自己的看法,供大家参考:

1、             KISS设计:“Keep It Simple and Stupid”的缩写,即“务求简约”。这是丹尼斯.里奇(Dennis Ritchie)和肯.汤普森(Ken Thompson)在开源开发Unix时使用的开发原则。这种思路是把复杂问题简单化、层次化,使得复杂系统可以简单管理。在一个开源社区内,核心的组织人员建立一个开放的软件架构,提供并管理软件运转的核心部件,开发者们就可以象在新选的一个城市地址上,在总体规划的架构下,任意发挥自己的想象,建设各式各样的建筑、街区、广场、公园

2、             没有门岗的“戏院”:开源社区的公约是一种约定,而不是法律,虽然也有开源社区为知识产权与私人公司打官司(并且还赢了,当然那是在美国),但开源的方式就是自由进出,进入社区的任何人都可以“免费”获得软件与全部源码,即使你不做出任何“贡献”,也没有人说你不对。好象我们可以去星巴克、麦当老坐着聊天,而不吃东西,他们也不会来“赶”你走,而去中国的饭店与茶馆,好象都没有这种待遇。

开源社区的这种方式让人“好进好出”,没有会担心自己“成果”会被人抢劫,这里的成果都是大家的,用自己的努力换来更多人的加入。正是有了这种“开放”体制,“社员们”热情高涨,尽情发挥自己的想象,不仅软件的质量很高,而且功能丰富而实用。开源社区就是一个没有门岗的戏院,任何人都可以展示自己的才能,并且你不担心没有观众。

对于那些刚进入软件行业的人来说,开源无疑是一个最好的学习、锻炼基地,你不用担心你编码的“不职业”,因为有很多专业的人会很快修复它、重写它,这种“优化”的对比教学,对学习者来说是梦寐以求的。这种培训不仅没有收你的“学费”,而且还让你可以获得现成的软件与代码,作为年轻人“自我创业”的资本。

3、             用户为自己开发软件:开源与私有软件公司的最大区别是公司开发软件是为了别人用,开发就意味这投入,回报就需要收费,“天下没有免费的午餐”。而开源社区开发的软件则不同,首先是开发者自己就需要,自己就是用户,开发Linux的人们是需要适应自己的硬件环境,而得不到私有软件公司的支持,或支持得不好,所以才自己做操作系统、驱动程序;开发Apache的人们是因为互联网发展迅速,很多人希望建立自己的网站,而昂贵的WebServer商用软件是个人负担不起的,大家合伙开发自己的免费webServer,各种漂亮的、富有创意的网站雨后春笋般地出现了;MySQL更不用说了,数据库是大家常用的,但Oracle的价格,你问问价格就不敢接着谈了,人家压根就没有想过给你这样的穷人用。

既然自己是用户,投入本身就已经体现价值,再开源给其他人用,不过是增加一份价值,多一个人帮你验证软件的可用性,需要收费吗?不是还有很多人花钱请人测试自己的软件吗?这就是开源软件免费的真正原因。

也正是因为是自己使用,很多功能不求表面花哨,而是注重实用,因为参加编程的人来自世界各地、各行各业,需求的功能五花八门,设计思路奇特而精巧,每个“用户”都仔细测试,“鞋穿在脚上,只有自己知道是否舒服”,不好用的功能或软件,在开源社区中自然就被淘汰,因为没有人去选择就是意味着大家不喜欢

私人软件公司在软件发布前,都必需进行大规模的测试,巨大人力投入为了渡过软件的“稳定期”;而在开源软件中,这个过程轻松地走过。

当开源软件到了一定的规模,有人看到商机,利用维护安装服务、培训用户等方式建立商业公司,让开源软件成为赚钱的产品,这是开源社区集体创造的价值,因此,如果说开源软件有知识产权的话,应该归开源社区集体所有,其价值应该回报给开源社区,让更多的人从开源中获得益处。

开源社区的成功,让很多商业公司看到了利益,所以,目前出现了很多公司形式开源,为了区别他们的不同,我们把开源进行了分类:

Ø  公司开源:是商业公司以开源方式推出软件产品。主要的目的有两个,一是赚取人气,先开源免费给大家用,等大家觉得好时,再转成收费的(有些软件利用盗版推广方法的嫌疑);二是利用开源让大家试用,降低自己的测试成本,同时利用社会上的免费开发力量与创意,打“搽边球”,降低自己的开发成本;公司开源一般是部分开源,保留核心模块,为了将来的收费准备。

公司开源仍然是为用户编软件,不是自己使用,因此,谋取利润是必然的,软件的版权很明确是归公司所有

Ø  个人开源:自己是用户,工作或生活中就需要这个软件,希望能为自己定制而又低廉成本,利用开源社区的力量,自己得到了软件,同时与同样需求的人进行分享。个人开源不以赢利为目的,免费到底。

个人开源是最初开源者倡导者想法的延续,开源社区的生命力在于人们从开源社区中获得自己想要的软件,成本低廉,功能定制,而不是把开源社区变成赚钱的商业模式。软件的版权归开源社区,或者是无偿给社会,就象我们中国古人的四大发明,首先是我们自己用,更愿意介绍给其他人用,因此推动了人类文明的进步。

 

    互联网的普及,软件的需求呈指数型增长,更让开源社区成为全球编程爱好者的乐园,我个人认为:开源社区已经走过“***写给***软件”的年代,进入到“用户写给用户软件”的时代。开源的软件不再只是***工具,更多的应用软件、业务处理软件、大众工具软件从开源中走出,开源社区已经成为新型软件开发模式,一个与传统的软件版权与专利“说不”的新软件时代的标志。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值