2004年08月30日

中国开源之路

       从世界范围来看,整个形势正以日新月异的速度向有利于Linux和开放源码运动的方向发展。Linux在全世界和开放源码社区和各大主要厂商的努力之下,已经突破了从研究软件到实用软件的临界点。Linux服务器的市场份额从三年前的零高速发展到今天的13.7%,并且预计将以更高的速度发展到2006年的25%。然而,这并不等于同样的情况会在中国出现。对开源运动,中国既有独特的有利条件,同时也存在先天与后天的不足。要推进中国开放源码运动的发展和成功,必须由国家相关部门牵头、制定鼓励采用开源软件策略、培养成熟开源社区、充分认识国内开源环境局限性、建立全局性的战略思维、再加上踏实的、契而不舍的努力,一个生气蓬勃、有利于中国软件产业的开源运动才可能会在中国出现。

 

国家态度

国家代表全体人民的利益,政府的工作就是制定政策与具体的计划去保护和扩展这种利益。世界上,无论是发达国家还是发展中的国家,许多政府与部门都为了其代表的经济与安全利益选择了开放源码软件作为战略选择。这其中包括法国、德国、瑞典、芬兰、丹麦、日本、巴西、意大利、印度等国家,以及美国国防部等等。

政府对国家产业发展的重要影响决不能低估,更不能以政府不应该干涉产业发展为借口来阻止国家对开放源码运动的支持。中国作为一个在人均意义上的穷国和弱国,开源软件更加具有重大的意义。这关系到我们的根本利益与长远利益。发展良性开源产业将给产业与核心技术的提高、国家经济收益、国家网络信息安全带来不可估量的利益。

印度作为一个发展中的国家,也选中了Linux为基础的立体化开放源码作为他们信息化的策略。凭借着他们在软件方面的优势,印度立志要在信息化方面取得同样的进展,他们在大力发展开放源码社区,他们的一个目标是在今年内达到10%以上的电脑使用Linux操作系统。中国相关部门如果不加紧努力的话,在Linux及开放源码在国家信息化利用方面,就有重蹈软件发展覆辙的危险,最后沦为IT技术的三等国家。

开源运动在中国的病态发展、中国缺乏大型软件企业、中国程序员生存状况恶劣等开源发展不利因素,更要求国家相关部门根据实际情况制定国家级的策略、指导原则与实施举措、成立开源促进机构,为形成一个能够持续良性发展的开源产业链奠定基础。

 

开源社区环境

       开源社区环境包括社区、人才、项目以及基金,要推进中国的开源运动,必须培育、引导一个良好的社区环境,营造一个良性开源产业模式。

社区

       社区是开源运动培育、诞生、发展开源软件的主要场所,是开源人才与智慧产物的聚集地,是开源产业链不可或缺的关键环节。培育、组织和支持开源社区,营造具有中国特色的开源软件发展外部环境,是推动中国开源运动发展的首要任务。

       原则上,社区的建设、组织、发展与壮大应该由从事开源软件组织开发的基金、企业或个人承担,但由于国内软件企业和程序员生存压力大、基金操作困难等原因,政府有必要通过中立机构为开源社区提供支持和服务。

       开源社区从功能上应提供协同开发平台、公共交流平台、信息发布平台(wikiweblognews)等功能,为开源项目提供外部环境保障。

人才

       乏人才是中国开放源码运动的弱点,主要包括技术人才和推广人才。正如上面提到过的,缺乏早期的UNIX技术发展,是一个因素。社区是聚集和培养人才的虚拟场所,国家开源推进机构应结合开源社区、采用开源竞赛、开源讲座、技术培训与认证等多种途径培育开源人才,为开源运动的发展打下人才基础。

从事开源活动可以使学生与工程技术人员有机会学习与参与研发先进的、实用的,在稳定性、适应性、可控性等方面领先的核心技术,学习开放源码社区中的高手们的开发技术与开发管理。

开源人才培养应该从大学高年级在校做起,通过开源社区、开源活动等途径为学生制定开源发展计划,引导学生通过参与开源成为能够胜任软件研发需求的技术人才。

 

项目

强大的项目开发社区是开源运动茁壮成长的根本,世界最大的开源项目开发社区是开源开发者网OSDN  www.osdn.com),它通过属下的源码锻造网www.sourceforge.net)向开源开发者提供免费服务,提供最多的开源代码和应用软件,帮助开源项目开发和管理,到目前为止,它已经有五十万以上的登记用户(每天增加七百个),以及帮助主持了五万个以上的开源开发项目(每天增加六十个)。sourceforge.net网站每个月被五百多万IT专家、开发者和系统工程师访问,产生一亿一千万页面访问量。

       项目与开源社区之间的关系是相互的,即人气旺的社区能够孕育有前景开源项目、具有活力的项目也是社区持续发展的重要因素。

      

开源优先

       中国开源要能够长远发展需要有人能为开源软件和服务埋单的商业模式,电子政务的巨大市场是形成中国开源商业模式的最好因素。国家相关部门应制定在政府信息化领域优先考虑国产开源软件的政策法规,刺激和鼓励那些有希望投资开源运动的企业、组织和个人。

       所谓开源无国界,开源优先应该是针对全球所有开源社区的策略,但其前提是在国内有社区或公司能够为这些开源软件提供专业化服务。因此要实现开源优先,同样离不开成熟开源社区的建设和开源公司的引导发展。

       提出一个明确、全面的政府开源服务采购路线图,是能够直接吸引国内软件企业或个人积极参与推动开源的最佳手段,这里所指的“全面”指政府实际所需的开源操作系统、开源数据库、开源中间件以及开源解决方案。

开放性与标准化

       政府引导下的开源与自由发展的开源相比,具有类似封闭开发和开放自由开发相结合得独特优势。开源社区的缺点之一就是无序发展,目前所有成功的一些开源项目都经历了大浪淘沙般的洗礼,从千万个开源项目中优胜劣汰留下来的。在中国程序员的生存压力较大,能够积极投入开源开发的时间相对较少。尽管在市场引导下部分企业会投资座开源软件,但中国缺乏类似IBMHP这样的大型IT公司。如何利用有限的开源资源做出更多更有意义的开源产物?这需要政府相关部门通过制定标准、协调社区,最终不仅仅是某一个社区在开源方面协调发展,并且力争全国范围内的开源社区能够协同发展、平等交流、避免重复而实现资源利用最大效率。

       在这方面信息产业部已经成立了Linux标准组,相信未来将在开源中间件、开源数据库、开源应用方案等各方面出现更多的标准组。

       标准化和开放性在国外开源社区中的形成往往是因为一些开源软件得到了最为广泛的使用,并导致该项目技术标准成为领域内的事实标准。标准化有利于遵循相同标准的软件系统之间能够互联互通,能够使开源软件真正走向应用。

开源产业化

提起开源的发展,另一个不得不提的问题就是开源与产业的关系问题。业内专家普遍认为,发展开源软件可以促进软件产业的发展,反之,实现开源成果的产业化以后,又可以解决开源的商业模式问题,使得开源软件更好地向前发展。从这个角度说,开源与产业是一种互济的关系。也就是要使开源运动能够在中国持续发展,必须形成一个可以使从事开源的公司和个人获利的开源商业模式。

纵观软件产业在中国多年的发展,中国软件企业起步晚、规模小、缺乏核心竞争力,技术上以集成应用开发和代理国外产品为主、市场方面则更多的依靠人际关系获取优势。随着软件用户成熟度的提高,采用技术先进、费用低廉、服务可靠的技术解决方案已经逐步被更多的政府和企业信息化负责人所接受,这也为开源产业的形成提供了潜在的市场基础。

开源产业链至少包括开源社区(网站、开发者、开源项目、测试者等)、分发者(开源服务提供)、捐助者(为开源社区提供软硬件、经费等资源的组织、企业和个人)和用户,其中分发者是体现开源商业价值的环节。

从目前看国内开源产业模式尚不成形,大致是有存在部分开源社区、有少数几个开源项目、开源软件用户主要分布在互联网领域和中小企业信息化且主要使用国外开源软件(属于国外开源产业链中的用户环节)。

       政府在整个开源产业链中,可以充当捐助者和最终用户两个重要环节。“羊毛出在羊身上”,从长远发展看政府带并引导大型企业捐助开源社区、使用开源软件是发展中国开源商业模式的关键因素。

       当然,政府要引导、培育一个良好的中国开源产业所需要做的不能仅仅停留在捐助和使用开源上,需要尊须引导、培育、组织和参与的积极原则,切实执行关系中国软件产业未来的开源推进项目,实现国家软件产业飞跃发展:

?        引导      政府对于开源的引主要指指定引导性政策法规,使更多企业、组织和个人摈弃盗版、使用开源或正版软件,让人们正确认识开源的同时培育了开源软件市场;

?        培育      从教育、媒体宣传、政策法规等方面对开源理念和开源市场进行培育;

?        组织      在合理引导的基础上,对目前开源社区、开源软件公司进行合理组织,使中国开源产业朝着开放、标准和共享的良性开源模式发展;

?        参与      通过投入资源支持开源社区、积极采用开源软件参与到开源产业链中,使开源产业在政府引导下能够快速发展。

 

       总之,开源是一种符合科学发展规律的软件发展模式,为中国软件产业快速健康发展又一次提供了机遇。机遇总是短暂而隐蔽的,在软件企业和程序员生存压力普遍存在的中国,唯有政府牵头引导、企业和个人积极参与、遵循开源游戏规则、多方协作推进开源运动在中国的进步,我们方能书写中国软件光荣与梦想之新篇章。

机遇与挑战

       前不久CSDN在网站上就中国开源状况作了一个调查,总共有1059个程序员提交了答卷。调查结果显示,50%的个人或企业采用了开源软件、53%的个人愿意无偿开放自己开发的软件源码、66%的接受调查者认为开源的商业前景不错、但有66%的人认为开源在中国没有前途。尽管网络调查与实际情况会有些出入,但调查结果回答了目前国内对开源地接受程度,同时掺杂了人们对中国能否把握开源机遇的担心。

制约因素

       开源为什么在中国无法发展和壮大?这是一个触及到方方面面、有多种制约因素、将长期存在并难以解决的问题。要解决这个问题,需要认清并克服这些消极制约因素。

微软的影响

       微软向社会贡献了第一版Windows以来,人们就接受了以简单、实用、方便的Windows文化,这也使比尔盖茨和微软腰缠万贯。在中国情况更为恶劣,由于国内早期Unix普及和应用阶段几乎空白,从学校、科研机构、企业、政府和安全部门到处充斥微软系列软件。只有逐步削弱人们对微软软件习惯性依赖并进一步加强开源软件的可用性、易用性,开源软件才可能在桌面端真正有所作为。

软件工程师技能的提高

       前高校培养软件人才的机制已经与软件人才市场需求脱节,具体表现在知识陈旧、编程能力低下、自学能力弱、缺乏主动性和创造性等。在这种情况下,高年级在校生、研究生能够为开源社区作贡献的能力很弱。高校在改进人才培育机制的同时,应与开源社区合作、为学生制定相应的开源学习线路图并引导学生朝实用、创新型人才发展。

 

程序员生存压力

       所有制约因素,程序员生存压力是最大的硬伤。在中国一个没有正式收入职位的程序员,让他从事开源是过于勉强了。一名优秀的、有正是工作任务的高级程序员,又几乎天天加班,迫于生计,也没有精力和时间从事开源活动。从这些情况看,在中国想学国外一样依靠个人努力做具有市场潜力的开源项目是不现实的。从开源实施者角度看,只有靠企业、组织、科研院所以及国家相关部门机构来引导、组织、支持开源运动,中国的开源产业、软件产业才会有未来。

科研院所作用未能发挥

       科研院所是最具有开源潜力的地方,在中国尤其如此。众多的科研院所每年需要承担大量的研究课题,其中不乏软件课题。而每年这些研究课题更多的是提交一份没有任何意义的报告,正所谓“花了该花的钱、没做该做的事”。究其原因,无非缺乏监督、市场需求不清晰、技术落后,而这些通过开源模式可以从一定程度上得到解决,从而真正使科研院所发挥其科研意义。

缺少成熟的中国化开源社区

       缺乏社区就缺乏开源赖以生存的土壤,缺乏成熟的中国化社区必然不可能产生具有中国特点的开源运动。中国出现过无数个带给人眼前一亮感觉的社区,但它们大多都消亡了。究其原因,归根到底还是经济问题。由于短期无利可图,国内大企业一般不愿意建设开源社区,在还没有解决好个人生存问题前提下靠个人长期维系的社区是不现实的。政府将是开源社区未来最大的用户和受益者,因此政府有必要通过引导、建立、支持和发展开源社区,形成一个以社区为中心、包括聚集人才、策划项目、形成方案和提供服务等环节的开源产业链。


 

盗版是开源的天敌

       到过中关村的人都不会忘记满街卖盗版软件的人群,尤其怀抱幼儿的妇女更是让人记忆深刻。中关村如此,全国各大城市亦如此。美国商业软件联盟(BSA)近日委托市场调查公司IDC进行了一项软件盗版情况的调查,结果显示,2003年全球使用的计算机软件中有36%为盗版,由此造成了290亿美元的损失。其中中国的盗版情况最为严重,高达93%,造成损失38亿美元,在软件盗版率与造成损失方面位居全球前列。在盗版软件肆无忌惮的被使用的国度,无论商用软件还是开源软件都是不可能有市场的,盗版是开源的天敌,也是整个软件产业的致命威胁!

误区与误导

       开源对于很多国内很多人来说,还是一个新的概念。加之部分企业为了自身利益进行倾向性误导,导致目前国内很多人对开源的人是存在误区。

 

开源就是免费

不堪收费软件价格昂贵的重负,不少使用者将目光投向了开放源码。很多人认为开源软件、自由软件是免费的,其实不然。一套可用的商业软件至少应该包括软件介质、配套文档和售后服务,作为源码可以免费获得的开源软件要能够真正被用户使用,其相应的服务是有价值的。也正是开源存在其所应有的商业价值,IBMHPCA等企业才大张旗鼓的投资搞开源。

政府投资企业搞开源

       Linux进入中国的一天起,就有不少业内的专家或企业家在建议政府资助企业搞开源。国家相关部门或多或少也正在这样做,支持几家搞Linux的软件企业搞开源。在国外,类似的开源社区、开源项目不少,如法国的ObjectWeb是较为成功的模式之一。然而在国内政府对开源企业的投入和支持是比较失败的,这点上应借鉴国外政府资助方式,即资助对象是具体的开源社区、开源项目和开源基金,而非具体的企业或个人。

 

 

开源就是Linux

       Linux是开源软件中的佼佼者,也是最具商机的开源软件,在国内尤其如此。在国内搞开源的公司清一色都是Linux厂商,Linux发行版众多,个别做其他开源软件的小公司、组织或个人极少。这种一头独大的现象本身就是蹊跷,加之所有做Linux的所谓开源公司的Linux系统都不开源,这更让人百思不得其解。开源是一种涉及哲学、经济学、管理学、自组织行为学多个学科,以合理的社区组织构架为核心、强调社区成员之间的协作过程、追求品质卓越的软件产品的一种文化现象,其软件成果包括操作系统(LinuxFreeBSD)、数据库(MySqlCloudspace)、中间件(JbossJonasOpenJMS)、行业应用(OpenCMSSugarCRM)、开发平台(Eclipse)、工具软件等几乎所有软件种类。

       还开源一个正本清源的概念,从现在起政府相关部门、专家以及国内愿意从事开源的软件厂商,应该在遵循开源原则基础之上,以建设开源社区和培养人才为重点、以构建一个良性开源生态环境为目标、以政府采购与政策扶持为导向,通过引进、开发,形成一个以Linux和开源数据库为底层、以中间件和应用平台为基础平台、能够满足企业信息化和电子政务需求的开源解决方案而努力。

 

关键抉择

       当各国政府纷纷将开源软件作为电子政务建设的可选择方案之际,拥有千亿级的中国电子政务市场中国政府又该如何抉择呢?对于开源的抉择因素除了其价格低、可靠性好、弹性大、安全性好、代码透明且可被修改等基本因素外,还有以下因素。

 

拥有可控制的政务技术方案

       对政府而言,势在必行的电子政务是一项庞大的系统工程,在机构复杂的中国尤其如此。除了需要大量的资金花销外,电子政务系统要求所涉及的横向(跨领域)和纵向(上下级)之间能够互联互通、资源共享、并确保安全的实现数据与业务的交互,这需要在同一信息资源规划前提下采用开放标准、可灵活定制、政府对软件源码能够把握的方案来实施。而这些这是开放源码软件所具有的特点,不足的是目前在国内尚没有形成能够提供完整开源方案和稳定开源软件服务的软件企业。

       目前各国政府的电子政务建设如火如荼,电子政务中软件支出巨大。据Gartner统计:2000年,美国政府IT支出780亿美元,其中软件14亿美元;欧洲政府IT支出620亿美元,软件78亿美元;巴西IT支出14亿美元,软件0.2亿美元。2000年前后年仅是电子政务的开始,随着电子政务的深入,软件的需求将更为巨大。因为各国电子政务的巨额财政支出来自纳税人,纳税人当然有权要求政府使用成本更低的开源软件。俄勒冈州的HB 2892议案明确要求州政府使用新软件时必须是开源软件。法国参议员 Pierre Laffitte 推荐的 Proposition de Loi 495议案要求所有的政府部门采用开源软件。意大利绿党参议员提议,意大利公民服务应该使用开源软件,这个提议已获得反对党支持。这个提议同时建议国家管理部门应当采用免费的开源软件,不论开源软件比商业软件性能优异与否。

 

保障国家信息安全

       通过部分采用开源软件,能够使电子政务节省总体成本、更灵活可靠且政府对开源软件能够根据需求进行修改。对于需要能够适应未来信息化战争的军队和安全部门而言,开源软件的意义就远远不止这些了。

       各国对于军队所用操作系统、数据库和应用系统的安全性、保密性和可控制性均有很高要求,如俄罗斯军方所用的操作系统是自主开发的,在安全和性能方面完全能满足军事需要;印度总统阿卜杜勒·卡拉姆呼吁印度军方使用开源软件阻止网络安全威胁。开放源代码可自由查看、根据本身的需求量身定制,从客观上杜绝了部分安全隐患,是军队信息化建设的可选择方案。

        

 

推动本国软件业发展

       中国是目前盗版软件问题最为严重的国家,操作系统、数据库和办公软件绝大部分是采用了微软的盗版软件。从2003年开始,微软已经以通过网络收集的信息为依据、按图索骥的对盗版使用企业进行收费或通过律师函催促购买。盗版现象一方面隐含了需要向国外软件厂商支付数额巨大的授权许可费,另一方面却导致本地开发通用软件的软件企业无法发展。

       随着软件应用网络化水平的提高,软件授权将越来越严格。 软件本身高锁定性的特点把各国重新开发各核心软件的梦想成为泡影。开源软件的出现为各国软件业带来新的机遇。目前开源软件中的操作系统、字处理软件、数据库无论性能还是可靠性均已达到商用阶段。各国政府仅需做一些本地化开发、功能完善、教育培训工作,这些软件就完全能胜任政府、企业的需要。这不但节省了大量外汇,还培育了国内软件业的发展,时机成熟还能使软件出口。

 

防止被某一软件商锁定

       传统行业的汽车制造商对一种零部件往往选取2个以上的供货商,其目的是防止供货商谋取暴利及当一个供应商供货出现障碍时供应链断开。软件自身的特性使这种锁定更甚。当某一机构使用某种软件时间越长、使用的人数越多时,越容易被软件锁定,尤其是软件代码不透明、接口不公开时。这就意味着软件供应商可能向该机构索取更高的支持、升级、维护费用。各国政府已充分认识到这一点。英国、南非推动开源软件的战略中,均把此列为重要因素。

作为降低商业软件价格的砝码

       用户一旦被某种软件锁定,当用户转移到另一种软件时,意味着高昂的转移成本。然而,并不是所有的应用转移到开源软件都更合算,也并不是所有的应用都有相应的开源软件。因此如何增强对商业软件供应商的谈判能力,降低购买价格,也成为政府重点考虑的对象。政府一向是软件购买的大客户,也是政策的制定者。商业软件供应商如果放弃了政府的订单,意味着巨大损失。英国政府就是利用将要使用开源软件的策略,逼迫微软降低软件价格。

       20036月,微软面对泰国政府推动开源软件的举措,为阻止Linux操作系统在泰国的蔓延,微软宣布加入泰国政府人民电脑计划。它将为泰国用户提供Windows XPOffice 套件产品,价格为35.80美元(1490铢)。这种价格甚至低于目前开源软件桌面系统的价格。

 

谁来推动

       中国开源目前是一种草根式的发展,尽管很顽强、很悲壮,但靠这种方式发展绝对没有中国开源的未来。中国开源运动先天性贫血,表现在开源人才缺乏、开源社区稀少、开源项目不多、开源认知不足、开源市场狭窄等,究其原因就是以人才为核心的开源各个环节均少人问津、人气低落。

       任凭开源在中国自发发展,其未来前景十分渺茫。澳大利亚政府在考虑就优先使用开源软件进行立法、韩国政府投入资源推进本国开源发展、欧洲成立“在公共管理部门推进开源软件协会”(Cospa)致力于该协会部分基金来自欧盟委员会,它将向愿意使用开放软件的政府部门提供专家和建议,目的是在欧洲地区提高和推广开放软件的普及,在欧洲培育一个良好的开源“生态系统”。

       政府将来是开源的最大用户和受益者,自然也应该成为开源的主要推动者和支持者,在程序员生存环境恶劣的中国更应该如此。抛开开源能够为政府带来的好处,在“以民为本”的民本执政理念下,政府通过推动开源让国家更多的企业、组织和个人受益也是分内之事。不过作为开源软件模式而言,光靠政府一方的努力是不行的,必须形成一个以政府引导、企业参与、社区执行的协作开源模式。

       要推动中国开源运动的发展,政府必须起到引导开源产业良性发展的应有作用。政府牵头引导,出政策、出资源;企业积极配合,出钱、出人;政府相关部门或组织将企业、个人协调组成相应重点项目开源社区,以研发国家和社会急需的开源软件项目为中心,实现良性发展的中国开源生态环境。

开源运动在中国

开源软件本身是简单的,它无非是公开了源代码的计算机程序而已,它在电子计算机出现的同时就已经出现了。但是开源软件运动的内涵却是博大精深的,因为它上关人作为消费者的权利和自由等法律和伦理学范畴,中跨经济学、管理学、自组织行为学等多个学科,下涉信息技术处理、计算机硬件与计算方法等众多技术专题。信息产业对中国的影响已经足以左右国家经济的发展,由于历史原因中国IT企业在核心系统软件和核心硬件技术远远落后于美国。

开源传入

       开放源码何时从国外被引入中国已不可考,最初的时候,有部分国外留学人员回国时,用大包小包的软盘装载了从诸如赫尔辛基大学、MIT、加州大学伯克利分校等处拷回的Linux发行版。

       由于当时的Linux资源极其溃乏,使用者也数量稀少,整个中国Linux界在当时充斥着DOS汉化气氛中的IT业内就象一个无助婴儿,只有在如清华,中科大等极少数高校中和一些科研机构内才有少数的拓荒者在默默地等待着黎明的到来。

       这个时期大致是从20世纪90年代初至1997年。结束标志认为是在中国软件行业协会自由软件研究应用发展分会的成立。

 

他们在努力

       “衣食足而知礼仪”,中国的程序员为生计而奔走,生存压力让很多能够从事开源开发的程序员对开源的参与仅仅停留在关注层面。就这样也有一些顶着生活压力、坚定不移地办开源社区、搞开源项目、普及开源文化的志士。

 

       1997617日,中国软件行业协会自由软件研究应用发展分会在北京成立,同时中国自由软件库freesoft.cei.gov.cn建立。其新闻组是当时国内最具技术水准和研究气氛的自由软件交流基地,主要支持专家是在赫尔辛基理工大学的宫敏博士,管理员是国家信息中心的张鹿。

       与此同一时期,另一个国内自由软件爱好者的聚集地水木清华BBSLinux版也在不断激荡起自由的浪潮。清华BBS上的Linux版对于中国自由软件发展的主要贡献是在中国大陆最早提出了建立中文Linux计划,这个计划由homer提出倡仪,并由dfbberic,olly,macaw等人共同支持,于199755日首先在位于常州的一台服务器上建立,域名为clinux.ml.org。后来,homer改名为ppyy,并在奔腾(bentium.net)网站工作,创立了国内现在知名的新闻组服务news.cn99.com。而共同创立中文Linux计划的dfbb则在以后进入了当时刚进入大陆不久的TurboLinux公司,并与陈向阳,于明俭共同开发了Zwinpro中文外挂平台。

 

       除了这些交流平台外,中国第一个专门销售Linux光盘的站点也于1998年在保定热线上开通,创立者是位于邯郸的宿宝臣。宿宝臣通过相关渠道从美国cheapbyte公司购入了正式的Linux发行版光盘,通过邮购的方式,用尽可能合适的价格,丰富的品种,及时的供货,为中国Linux发展及时输送了最需要的‘弹药’。

       大陆从1998年年中开始,渐渐地产生了一些开源社区组织,包括上海的Linux User Group、北京Linux俱乐部、南京LUG、中国JavaUnion等。

        

主要开源项目

       在此期间,国内主要的研发力量都集中于Linux下的中文处理问题,当时最流行的解决方案是包装(warp)X的构画字体函数,当时采用这项技术的有由陈向阳,方汉和于明俭开发的ZWinPro中文平台,宫敏博士的ZhXwin外挂中文平台,和台湾的XCIN中文平台。而于明俭的Chinput在当时也已经比较成熟,外挂中文平台与Chinput的结合是当时国内Linux使用者的基本配置。除了外挂中文平台外,由深圳的邓煜,李凌和廖生苗所研发的内核汉化技术则是用hack的方式提供了中文的支持。此外还有以 CCEZWinPro 等为代表的 Linux 中文化自由软件项目,以 LVS(章文嵩)、LIDS(谢华刚)、SBM(苏哲)、MiniGUI(魏永明)为代表的若干有国际影响的开源软件项目

 

       中国开源运动的发展历程从萌芽向现代化的推移是在一批又一批热情的民间志愿者的不断努力下而进行的。目前,国内开源运动相比前一时期有一定的退步,但是仍有不少意志坚定的人,正在努力振兴中国开源运动的发展。在huihooCosoftlinuxforumlinuxfans linuxsir以及各大高校的BBS上,仍有不少活跃的志愿者在继续沿着开拓者们的足迹前进。

社区现状

       社区是开源运动的重要环节,中国开源社区的发展状况很大程度上反映了开源运动的现实情况。

       目前国内开源社区主要分为三类:

?        提供开源项目协同开发/发布平台、开源资源、交流论坛,这类社区以共创软件联盟为代表,包括武汉Linux协会、LinuxForum

?        提供开源资源、交流论坛、维护自主项目,主要有huihooopentop等;

?        引进国外开源项目、提供开源资讯、交流论坛,这类社区以信息汇聚、技术交流为主,人气较旺、水平较低,是知识传播、人才汇聚、项目培育的良好平台,包括JavaUnionLinuxSirjava.com.cn等。

      

       社区的生存、发展需要网络带宽、硬件主机、维护人员等资源,从社区所需资源提供者进行分类,主要分为:

?        公司或组织,这类社区一般有特定项目,具有可持续、稳定性好、资源丰富等特点,包括北京软件协会支持的cosoft、具有公司背景的linuxAid等;

?        松散团队,这类社区人气旺盛、发展迅速,但稳定性、持续性较差,包括JavaUnionHuihoo等;

?        个人,国内绝大部分社区是靠个人兴趣在维护,这些社区以交流论坛为主、随时可能消失,可以用前扑后续、层出不穷来描述,包括chinajavaworldlinuxSir等。

 

       支持和发展开源社区是推动开源的基础工作,应该作为一个持续、长期的任务来做。国家相关部门应鼓励企业、科研机构和社团组织积极支持开源社区的建设,并通过提供硬件和带宽帮助优秀的开源社区持续发展。

 

程序员现状

       程序员作为软件产业的主要生产力,其素质决定了产品的优劣。开放源码的认识应该从哲学、过程和开源软件三个范畴进行,这也是程序员是否选择从事开源工作的重要因素。

       开源的诞生诱因是一种追求自由、共享的哲学思想,而产生优秀开源软件则需要一个有优秀程序员参与的开源制造过程。

       理想是神圣的、现实是残酷的!在国内软件人员的生存压力使极少数的程序员有能力、有时间从事开源研发。

       有专家建议让大学在校高年级学生参与开源研发、让软件科研机构将部分项目作为开源项目接受公众监督并可参与,在国内没有找到合适的开源商业模式之前这也许是解决开源人才匮乏的最佳方案。

 

病态的Linux

       Linux的诞生是开源运动划时代的事件,Linux传入中国给热爱自由软件的程序员带来了福音。1999年之前的互联网泡沫经济催生了第一批中国Linux厂商,包括冲浪、红旗、中软、蓝点等;2002年开始,随着各国政府对开源软件的支持和采购,新一轮的Linux发展竞赛又将在中国上演。

       今年早些时候,Red Hat公司副总裁Mark White发表言论,强烈抨击中国Linux软件开发人员不遵守开放源码条款,违背了开放源码精神。

Mark White表示:“中国(似乎)有这样的传统,将来自美国和欧洲的软件或者技术拿来,包装上中文的应用界面,然后说这些是他们的技术。我们注意到,中国的Linux套件发行商:RedFlagBluepoint以及TurboLinux(中国)都非常喜欢开放源码的产品,但是当需要公开他们对Linux所进行的修改的时候,却总是非常不情愿(对开源社区贡献为零)。”

White警告说:如果中国的Linux开发人员继续不公开他们的代码,而只是在一个很小的圈子里面交流(一个项目小组),那么最终一定会尝到大苦头。因为这些做法与开放源码中的交流和共享原则不相容。

 

他表示:“中国的软件开发人员应该和Linux内核项目小组交流和合作,但是非常遗憾的是他们并没有这样做。他们将自己开发的代码保护起来,并不让别人知道。这样做直接违背了Linux的精神!”他指出:其实这样做有非常大的危害。因为这样的Linux系统在兼容性方面比较差,要和OracleIBM数据库这样的产品集成就会遇到一些问题。

       以政策为导向发展起来的中国Linux现象误导了很多人对开源的认识,这要求相关部门和人员必须重新建立正确的开源观念。事实上国家相关部门早就意识到国内从事开源的公司无视开源许可、不遵从开源规则的现象,并已成立Linux标准工作组力图使国内Linux发展走上开放、协作、开源的正确方向。  

开源无处不在

1991Linus TorvaldsLinux贡献到开源社区到现在,包括Linux在内的开源软件覆盖了操作系统、网络通信、桌面环境、教育、办公、安全、文字处理、数据库、中间件、应用和娱乐软件等几乎所有软件类型。从开源最大的发布平台代码锻造(www.sourceforge.net),每天都会有几百个开源项目加入到代码锻造、每天都有几十万的用户访问和下载开源软件。Intel重金注入JbossSugarCRM刚刚开张就获得200万美金外部投资、Redhat捆绑JonasMysql蚕食数据库市场获利等开源利好事件在2004年开始短短半年多时间内发生,此外包括美国在内的众多国家、地区纷纷出台支持使用开源软件的规定和政策。一时之间,开源软件仿若无处不在!

 

开源模式

开放源码软件是所谓“纯粹程序员”们追求的理想化的精神境界追求,在这种境界下所有程序员的代码相互共享并且大部分程序员愿意为开源软件的不断发展而努力。互联网的发展为开源软件的发展提供了沃土,并形成了以网络为主要媒介的开发模式和商业模式。

开发模式

       于开放源码软件开发模式,著名开源人士埃里克.雷蒙德所著的《大教堂与集市》是对开源软件和商用软件开发模式最为生动和形象的描述。开源的开发模式根据开发人员人数、开发团队管理模式等几方面说明如下:

 

?        小型开源开发模式

典型实例:

Linux Virtual Server Projectwww.linuxvirtualserver.org

这类项目在sourceforge中是最多的,其特点为项目的核心开发人员很少,一般为1-2 名。核心开发人员承担主要的开发工作和维护相应的网站,用户会提出错误报告和提供少量的错误修正。 一般很少采用CVS 来进行代码管理,而是定期发布新版本。一般没有明确的 开发计划和日程安排,其软件更新速度和质量取决于核心开发人员的投入程度和水平。目前采用这种开发模式的GNU 软件最多。而SourceForge.net 的出现又简化了这部分开发人员的重复工作。

?        中型开源软件开发模式

典型实例:

GTK www.gtk.org

其特点为拥有3-5 名核心维护人员,参与开发的人员10-40 人之间,采用CVS 进行代码管理,通过maillist/irc进行开发交流,有明确的开发计划和日程。用户提出的错误报告和修正数量很多,并且有一些分支产生。

 

?        大型开源软件的开发模式

典型实例:

XFree86 www.xfree86.org

其特点为拥有数十名核心开发人员(一般不超过100 名),其中包括3-5 位核心开发人员,只有这些核心开发人员有权提交代码,代码使用CVS 管理,但是对外界不开放只有在发布新版本时外界才可以得到,开发计划和日程明确,发布日期一般准确,但是软件版本升级速度一般比较缓慢。这样开发的好处是代码质量比较平均,所受干扰小,缺点是由于用户不能积极参与开发过程中的测试工作,增加新功能后稳定期较长。

 

?        完全封闭的商业开源软件

典型实例:

QTwww.trolltech.com

其特点为软件完全由商业公司内部开发,用户一般只能提供错误报告,不提供修复补丁,公司定期发布新版本的源代码。其好处是软件质量水平较高,其缺点是如果公司开发力量不足,软件发展容易停滞不前。

 

?        由商业软件转化过来的大型开源软件开发.

典型实例:

OpenOfficewww.openoffice.org

Mozilla www.mozilla.org

其特点为其软件计划开始时是基于一个被 开源的商业软件,一般都受到原商业公司的控制,一般都不采用GPL/BSD 形式的License ,一般都采用类似于MPL Mozilla Public License)的版权,其特点是公司可以享有使用这些源代码的权利,他们的开发工作一般由公司的员工为核心开发人员和领导者,通过CVS Bugzilla进行代码和错误管理。拥有正式的QA体系,这种模式一般都进展不是很快。

 

?        独裁式的大型开源软件的开发

典型实例:

Kernelwww.kernel.org

其特点为软件开发人员非常多,一般都在百人以上,任何自由程序员都可以提交自己的修改工作,但是只有领导者(在Linux 核心上是Linus Alan Cox)才能够合并这些工作到正式的核心发布版本中。而且他们一般不采用CVS ,只是通过maillist来进行项目管理,交流,错误报告。经常发布新的版本,其好处是软件更新速度和发展速度很快,计划的开放性好,由于最终裁决人只有少数非常有经验的程序员,正式发布的代码质量非常优秀,由于用户数目非常庞大,最终发布版的错误一般都非常稀少。这种方式的缺点是计划的发展方向主要由核心开发人员决定,体现他们的设计思想。

 

?        民主式的大型开源软件的开发.

典型实例:

Gnome www.gnome.org

KDE www.kde.org

其特点为核心开发人员数目较多,子软件计划非常多,利用CVS 进行代码管理,核心开发小组一般在百人以上,分成若干个小组,每个小组有1-2 个领导者,权限比较分明,有明确的开发进度管理和日程安排,有严密的Alpha BetaRC1RC2测试阶段。主要开发者定期召开开发者大会,讨论开发中的问题和新版本的设计。拥有自己的开发文档库和编码/ 测试标准。

同商业软件公司一样,一般每隔半年左右推出一个正式版本。这种方式是目前效率最高的一种方式,也只有这种开发模式能够承担利用Internet协作开发 DE/Gnome 这种超大型套装软件的开发工作。

 

       尽管开源方式下能够开发的软件专用商业软件开发方式也能够实现,但开源更强调的是一个遵循科学发展原理的协作过程。开源软件与封闭软件开发模式比较如下表:

 

比较

封闭源码开发模式

开放源码开发模式

开发队伍

组织模式

大教堂组织模式-严密组织

市集组织模式-分散开发人员通过Internet组成开发队伍

发布版本时间

一般都固定时间发布,半年左右推出一个版本

尽早尽频繁发布,没有明确的时间安排

提供源码对象

公司内部职责明确,代码不对外发布

向开放源码社区贡献代码

负责测试部门

专门负责测试的部门进行

本着自愿原则,社区或用户自由参与测试

管理手段

按照项目全生命周期管理,开发人员、测试人员职责明确分工

强调协作,自愿原则参与开发和测试

 

商业模式

软件作为一个以人的智慧结晶为主要成本的数字产物,主要通过销售将源代码编译、打包、包装过的软件包获得商业价值。程序源代码作为软件的基础材料,具有可察看、可复制、可复用等特点。开放源代码是使软件开发者散失了获得劳动回报的主要途径,因此程序员必须在这种新的开发模式下通过其他商业模式获得回报。

从上世纪八十年代开始,从事和关心开源运动的人们就不断探索能够为开源程序员获取回报的开源商业模式。随着时间的推移,开源运动在发展过程中逐步形成了一些较为可行的商业模式,这些商业模式主要包括:

?        双授权   

典型实例:

mysql

通过针对个人/商用进行不同授权或不同版本(基本版本、 企业版本)进行不同授权。

?        咨询顾问   

典型实例:

jboss

提供技术文档、培训服务、咨询服务、系统规划实施等技术服务;

?        应用服务    

提供基于开源软件的网络应用服务(ASP);

?        硬件捆绑    

捆绑赞助商或开源软件开发商硬件,如Widget Frosting:一个主要生产硬件的公司(其中的某一部分软件不做为主要利润来源)会选择开源软件来提供更好的产品,比如新同事的 IBM 塔式计算机就预装了 Turbolinux 操作系统;

?        卖附属品

包括书籍、T 恤衫、咖啡杯,以及 Linux 企鹅玩具……

?        提供服务

虽然送出产品,但是卖的是品牌,卖的是服务,Redhat 一直在这样做;

?        市场策略

通过提供开源软件使自己占有市场,Netscape 曾经因此决定公布 Navigator 的源代码。

 

开源成功案例

       这里所说的开源成功案例,其成功包括以下几个方面:

1、具有众多的最终用户,这是衡量开源软件是否成功的主要标准;

2、具有很好的发展活力,包括社区活动积极、版本更新积极等;

3、具有较好的商业模式,一个成功的开源模式为社会做出贡献的同时应能够为开源软件开发者带来应有的社会回报。

       开源成功案例主要根据系统软件、中间件、应用软件分类,对典型成功案例进行简要说明。

挑战微软的Linux

 Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。最早是由芬兰大学生Linus Torvalds首先于1991年开始开发的,经过一群遍布于全世界的Internet上的自愿参加的程序员努力,加上计算机公司的支持,Linux的影响和应用日益广泛,地位直逼WinNT。Oracle、Informix、CA、Sybase、Corel、英特尔、网景、Dell等多家重要软硬件厂商希望用Linux作为NT对手,以期冲破微软垄断性文化圈。

“Orancle应客户要求支持Linux,将Orancel8及其应用系统移植到Linux。”“Informix ‘98用户大会上,Informix总裁Bob Finocchio郑重宣布全面支持Linux,并推出一系列的基于Linux的数据库系统。”“微软在备忘录中写到:Linux目前正在逐渐统治X86 Unix市场,而这正是最近几年唯一能够在网络服务器市场增加份额的UNIX产品。”“Intel宣布,为Linux销售商Red Hat注入股权资金。”

在近期举办的LinuxWorldChina大会上,IBM、HP、SUN、NOVELL、ORACLE、BEA以及红旗、中标软等国内外软件厂商不断展示Linux的进步以及基于Linux之上的产品、方案和成功案例,表明Linux进入了实际应用阶段。

  

蚕食数据库市场的Mysql

 MySQL是基于SQL语言的数据库,在世界上深受欢迎.MySQL的主要目标是速度和健壮性。MySQL的基础是一套在高要求的产品环境下运行多年的例程,MySQL现在还在不断地发展。  

 MySQL具有以下特点:

  1.完全多线程,适于多CPU使用

  2.提供C,C++,JAVA(JDBC),Perl,Python,PHP and TCL API接口

  3.多平台,包括Solaris,SunOS,,BSDI,SGI IRIX,AIX,DEC NIX,Linux,FreeBSD,

4.数据类型多样,包括 /无符号1,2,3,4,8字节integersFLOATDOUBLE   CHARVARCHARTEXTBLOBDATEDATETIMEYEARSET   

  ENUM

  5.非常灵活和安全的权限系统,密码加密

6.可处理大型数据(超过 5千万个记录),表大小限于OS的文件大小:Linux

  2GSolaris 2.5.14G,Solaris 2.61000G

  8.经权威商业内存泄露软件检测无内存泄露

  9.完全支持ISO8859_1(Latin1) 标准

  10.多种语言支持(无中文)

       MySQL采用双版权许可模式,目前在互联网领域以及中小企业应用中占有最大市场份额,包括googleyahoosina等门户网站均采用了MySQL

 

开源新贵Cloudscape

       CloudscapeIBM众多数据信息产品线中的一个分支,与拥有数十亿美元市场的DB2家族相比,Cloudscape 市场很小,目前被IBM用于Workplace桌面应用产品中的嵌入式数据存储。

       Cloudscape是一个Java数据库软件,不直接与其他主流数据库服务器软件如DB2, Oracle 或微软SQL Server相竞争。

       数据库软件是否追随开放源代码潮流,这要取决IBM对开放源代码应用的认识和决心;但IBM已经在Linux上投入数十亿美金,使得人们有理由相信IBM将会使开放源代码技术更能满足企业用户的需求。

       开放Cloudscape源代码行动是IBM对其他一些私有软件公司的模仿,此前已有公司采取类似行动,以方便程序员获取代码,并激发人们对其产品的兴趣。下周的LinuxWorld大会期间,CA国际也将开放其Ingres r3数据库软件源代码。

       IBM公司通过2001年收购数据库大厂Informix 获得了Cloudscape,而Informix 又是在1999年的时候购买了CloudscapeCloudscape 是上个世纪90年代中期专门针对Java编程而发展起来的一种关系数据库软件。然而, Cloudscape和其他Java数据库从来没有获得过大规模的应用。

 

另类的开源JBoss

       JBoss是一个另类的开放源码软件,它打破了开源软件不能挣钱的旧观念,通过提供商业化服务,来赢得开发回报。

  Jboss作为一种开源商业模式的创新,它打破了人们的一个理解:开源软件不能挣钱。但是,JBoss组织首席构架师Bill Burke却说:“JBoss与其它开源软件不同,它为开源软件提供了商业化的服务。而其它的开源软件并不提供这样的服务。”也就是说,你可以免费获得JBoss的源代码或安装包,但如果你有技术上的问题,就要向JBoss组织咨询或想得到培训,那就得付费。

       JBoss是一个用纯Java编写、开放源代码、遵循J2EE规范的应用服务器软件,它遵循LGPL开放源码协议。

  JBoss起初只是一个EJB容器,后来逐步发展成为一个具有复杂功能的应用服务器。现在,最高的版本是4.0。它从创建到现在,经历了4年的发展历程。

       最近,Jboss获得了Intel1000万美元的创业投资,这使Jboss能够更为稳定的持续发展。

    

合作典范ObjectWeb

       ObjectWeb:一个宣传应用软件独立自主和开放源代码中间件的组织,是一个致力于发展开放源代码中间件的领先的欧洲产业界的组织。从这方面的观点来看,ObjectWeb的目的是带给企业所要求的实时的,独立,高品质,稳定的最高性价比的软件。ObjectWeb提供可选择的目标方案给用户用于从事不仅电子商务,EAI,机构自动化和电讯而且数据储存连接,网格计算,企业消息或者微内核设计。基于开放标准,ObjectWeb的中间件包括应用服务器,组件,框架和工具。基于开放标准例如:J2EE?, CORBA, XML, GLOBUS, OSGi这些中间件组件包括应用服务器,组件,框架和工具。ObjectWeb的“价格杀手”中间件包括:JOnAS——一种J2EE应用服务器,JORAM JMS——一种消息导向中间件或者Enhydra——Java/XML应用服务器。

 

       ObjectWeb是一个能够促成发展持久开放源代码计划的协作基础组织。每个计划都是独立由一个领导者和专门的技术管理并通过一个技术架构师学会确保一套连贯的中间件组件实现很多的计划之间共享。这么一套非常成熟专业产品聚集了R&D的努力并把它的结果共享给开源社区代表着一个世界范围最杰出的中间件行业。

 

       作为一个专家的聚集地,ObjectWeb紧紧的专注于用户所寻找的独立自主的信息系统。由法国电信,BULL和法国科学研究院1999年联合成立的ObjectWeb组织目前大约有100个成员包括个人成员,公司成员和研究结构。在www.objectweb.org加入ObjectWeb组织将提供给你们一种自由的应用软件。

 

黑马ZOPE

       Plone适合用作内部网/外部网的服务器、文档发布系统、门户网站服务器和异地协同群件工具。象Plone这样的一个“万能型”的软件产品其实可以用于很多方面。和zope不同,Plone直接针对最终用户,安装即可使用。

       Plone起源于2000年,凭借Zope/CMF的强大功能和社区领导人LimiRunyan的组织能力,Plone得到迅猛的发展,被公认为最优秀的开放源代码内容管理系统。Plone的用户包括德国汉莎航空公司、美国航空航天局在内的 众多知名客户

       2003Plone做为O’Relly首选的开源项目代表 参与COMDEX大会 ,成为开源社区的一匹黑马。Plone具有安装方便 、容易使用、国际化 开放源代码 、提供服务保障 、可扩展 、技术中立、单点登陆等特点,在网站建设领域获得众多客户的青睐。

       Zope是由包括 美国zope公司 在内的 数百个商业公司 以及数千个开发人员组成的Zope技术社区 Zope.org 多年共同努力的结晶。

       1999年,美国Zope公司宣布其核心产品Zope为开放源代码软件。经过多年的发展,Zope已成为开放源代码软件商业模式的经典案例,Zope被誉为WebLinux系统。zope更成为了 美国海军、法国政府和北约组织的选择 2002Zope更是赢得 Linux Journal Award的企业应用服务器大奖

2004年, Zope3 即将发布,这个版本对zope是一个革命性的版本,这一年也将是zope全面获胜的一年。

Zope能在大多数的流行服务器上运行,如:LinuxWindows NT/2000/XPSolarisFreeBSDNetBSDOpenBSD、和Mac OS XZope甚至能在Windows 98/ME上运行。很多应用服务器,只能在他们指定的操作系统上运行。

 

 


 

开源软件的优势

开源软件的优势是和封闭软件相对而言的,主要从开发模式优势、商业模式优势和应用优势三个方面进行对比说明。

 

       首先,从开发模式上看成功的开源软件具有早发布、多发布、参与者多、用户多、项目活力强等特点。从Linux成功经验看,开源软件开发模式与封闭软件开发相比,其优势包括:

1、在制定好项目计划并有一个可运行的系统雏形后,更多的开发者参与使软件开发保持更高速度发展;

2、在众多用户面前,早发布多发布的开源软件所存在的功能问题、性能问题以及安全问题等能够很快得到解决;

3、当项目发起人对项目不再感兴趣情况下,社区其它开发者能够使项目能够持续发展(如果公司倒闭,其封闭开发的软件将停滞);

4、由于参与开发者、软件使用者众多,通过沟通交流能够确保产品的先进性。

其次,随着开源软件越来越成熟,其功能、性能已经与商用软件相媲美,开源软件的商业模式优势也逐步凸现。尽管Richard StallmanLinus Torvalds等人创建开源软件开发模式时并没有为后来者提供可行开源商业模式,但开源软件现在已经形成了多种开源商业模式(见开源模式)。开源商业模式与商业软件商业模式相比,其具有以下优势:

1、传播快速、广泛,容易使企业很快产生行业知名度与知名品牌,从SugarCRM案例看,开放源代码的却是打破常规、并迅速让产品获广大使用者接纳的最好方式;

2、符合软件行业向服务业转化的发展进化趋势,能够使开源企业提前抢占服务市场;

3、开源软件开发者可以在市场占有率较好情况下选择双授权或封闭获取利润;

4、凭借大用户群的优势,可以获取与所从事开源技术相关软硬件厂商赞助和投资,如Intel投资Jboss

5、软件免费、服务收费、形成标准,测试认证收费,这也是很多开源公司的商业策略;

6、对于个人而言,通过开发成功的开源软件提升自己在黑客领域的名望获得精神上的满足以及未来的高薪职位,如BitTorrent作者Cohen获得Valve高薪职位。

诚然,商业软件商业模式也可以通过免费或其他促销手段达到开源软件快速普及推广等效果,但从未来软件产业发展趋势看更符合软件行业服务化的开源软件商业模式将与商业软件商业模式长期并存。

 

最后,从用户角度看开源软件显然比商业软件具有更加诱人的优势。开源软件对于最终用户而言,具有价格低、可靠性好、较灵活、安全性好、代码透明、互操作性好等特点。对于我国政府而言,其优势远远不止这些,还包括:

?        推动本国软件产业发展

由于历史原因,中国软件产业过去没有抓住操作系统、数据库发展的机会,甚至到现在中国软件企业在中间件、通用软件、娱乐软件等方面仍然落后于美欧、日本、印度等国家。开源运动给了中国软件产业发展操作系统、数据库以及通用软件等核心软件技术的机遇,在遵循开源授权前提下、从开源社区、产业政策、应用市场几方面推进中国开源运动可极大促进中国软件产业的发展。

?        保障国家信息安全

互联网已经触及社会的各个层面,并且很多互联网技术靠软件来实现。国家信息安全在网络时代面临的巨大挑战,其实正是软件所带来的挑战。开放源代码可自由查看、安全隐患容易暴露在众多用户使用过程中、用户可以根据本身的需求自我定制,从客观上杜绝了部分安全隐患。

 

?        防止被某一软件商锁定

当某一机构使用某种软件时间越长、使用的人数越多时,越容易被软件锁定,尤其是软件代码不透明、接口不公开时。这就意味着软件供应商可能向该机构索取更高的支持、升级、维护费用。各国政府已充分认识到这一点。英国、南非推动开源软件的战略中,均把此列为重要因素。

 

?        缓解各国电子政务建设的财政压力

目前各国政府的电子政务建设如火如荼,电子政务中软件支出巨大。因为各国电子政务的巨额财政支出来自纳税人,纳税人当然有权要求政府使用成本更低的开源软件。俄勒冈州的HB 2892议案明确要求州政府使用新软件时必须是开源软件。法国参议员 Pierre Laffitte 推荐的 Proposition de Loi 495议案要求所有的政府部门采用开源软件。意大利绿党参议员提议,意大利公民服务应该使用开源软件,这个提议已获得反对党支持。这个提议同时建议国家管理部门应当采用免费的开源软件,不论开源软件比商业软件性能优异与否。

?        作为降低商业软件价格的砝码

用户一旦被某种软件锁定,当用户转移到另一种软件时,意味着高昂的转移成本。然而,并不是所有的应用转移到开源软件都更合算,也并不是所有的应用都有相应的开源软件。因此如何增强对商业软件供应商的谈判能力,降低购买价格,也成为政府重点考虑的对象。政府一向是软件购买的大客户,也是政策的制定者。商业软件供应商如果放弃了政府的订单,意味着巨大损失。英国政府就是利用将要使用开源软件的策略,逼迫微软降低软件价格。
2003
6月,微软面对泰国政府推动开源软件的举措,为阻止Linux操作系统在泰国的蔓延,微软宣布加入泰国政府人民电脑计划。它将为泰国用户提供Windows XPOffice 套件产品,价格为35.80美元(1490铢)。这种价格甚至低于目前开源软件桌面系统的价格。


 

开源软件的应用

欧洲

?        英国     

2002年英国政府通过了《开放源代码软件在英国政府部门的应用(Open Source Software use within the UK Government)》。该政策强调了英国政府将积极使用开源软件,要求商业软件必须是支持开放标准。

 

?        德国

德国政府规定在政府重要部门严禁使用微软的Windows操作系统。

德国一座名不见经传的小镇Schwaebisch Hall因为将镇政府里的所有计算机安装的微软软件全部更换为Linux系统而曾经备受世人瞩目。慕尼黑市政府更是宣布公共管理部门1.4万台计算机的操作系统全部由Windows改为LinuxLinux公司为此获得的订单额为2500万至3000万欧元。慕尼黑从而成为德国第一个使用Linux操作系统的大城市。Linux德国有限公司称,公司在慕尼黑市的胜利具有的象征性意义,可与当年推倒柏林墙相提并论。之前微软公司总裁巴尔默曾专程飞赴慕市,争取这一订单,但终未能如愿。

 

继上述两城市之后,德国莱茵兰-普法尔茨州(Rheinland Pfalz)9个城市最近宣布有可能大规模采用Linux和开放源码软件,以取代Windows。该州城市联盟IT主管Markus Donsbach表示,他们已经举行了相关的会议来讨论有关平台移植的问题。这些城市都是该州的一些重要城市,包括AlzeyKaiserslauternKoblenzLandauMainzNeustadtSpeyerTrierWorms。而Donsbach进一步指出,几乎所有的德国大城市,以及其它的一些中小城市都在非常认真地考虑操作系统平台的迁移问题。他认为,不断高涨的许可证费用、无法提供部分产品(老旧版本产品)的技术支持是Windows得不到青睐的主要原因。

为了进一步促进开放源码在本国的发展,德国政府还推出了开放源码指导方针。这个纲领性文件的正式名称叫“Migration guidelines for basis software components”。早在去年德国政府与IBM签署了全面合作协议的时候,就宣布要在今年六月推出面向公共应用的软件应用指导。据透露,该指导将在公共事务部门的IT经理决策的时候提供必要的参考,帮助他们决定是否还要继续执行目前的商用软件许可证协议,是否能实现开放源码软件和商用软件的共存以及如何将业务移植到开放源码产品平台上等。

?        法国

法国参议员 Pierre Laffitte 推荐的 Proposition de Loi 495议案要求所有的政府部门采用开源软件。意大利绿党参议员提议,意大利公民服务应该使用开源软件,这个提议已获得反对党支持。这个提议同时建议国家管理部门应当采用免费的开源软件,不论开源软件比商业软件性能优异与否。

早在199910月,两个法国议员提出全法所有政府部门应该使用可以获取源码的软件。此后不久,法国文化和通信部门宣布计划使用源码开放的服务器来取代成百上千正在使用的邮件、文件和Web服务器。原因是基于安全性方面的考虑。

法国内部财政服务部门周四宣布,选择Jboss的开源应用服务器来运行下一代税收应用软件。

 

?        俄罗斯

俄罗斯军方所用的操作系统是自主开发的,在安全和性能方面完全能满足军事需要。

 

?        奥地利

据奥地利首都维也纳市信息技术部副主任Erwin Gillich近日透露,该市将在2004年中以前决定是否开始采用Linux系统。届时,微软可能失去15000Windows操作系统用户。Gillich表示,维也纳在2007年以前,每年可能有数百台计算机采用Linux,以对该系统进行评估。到2007年前后,大约将有15000台计算机采用该系统。

?        丹麦

  报告建议政府积极的参与到打破软件垄断的运动中来。它还特别抨击了一些封闭,独家垄断的技术标准,比如微软的Word字处理格式,报告认为这种标准与政府提倡的电子政务理念背道而驰。报告建议丹麦政府支持开放的XML(扩展标识语言)。

  报告也指出,建立一种新的技术格式可能是一个艰苦的过程,毕竟微软的Office无法支持OpenOffice软件的一些文件格式,报告建议丹麦政府在国内进行推广开源软件的一些推广测试活动。

  这份报告说,采用开源软件能够节约政府部门的开支,能够帮助实现软件市场实现真正的竞争。

亚洲

?        印度

       印度是世界上Linux发展速度最快的国家之一。而根据Red Hat公司透露的信息,到2004年的3月,印度将有10%的个人计算机在出售时候安装Linux操作系统。另据估计,印度已经有40万软件开发人员正在使用Linux作为自己的开发平台。而使用他们开发出来的软件产品的企业不乏通用和American Express这样的业界巨头。

 

       更有分析人士认为,印度是Linux与微软对抗的重要战场。在印度,大量的软件开发工程师使用低成本的开发工具和平台,生产出具有相当价格优势的软件产品,并由此打入国际软件市场。Linux的支持者认为开放源码软件开发模式是印度的最好选择。除了开发平台和工具本身比较便宜以外,使用开放源码工具对硬件平台要求较低也是重要因素。目前,除了一般的应用外,Linux还成功地应用在印度国家股票交易市场以及国家实验室和大型医院系统中。

?        日本

         日本政府正在采取措施试图说服企业不必对在产品中继续使用Linux操作系统有过多担心。日本政府认为,不采用Linux平台将损害人民生活SCO集团指责Linux侵犯版权以来已经导致众多使用开放源软件的企业感到不安。8月初,日本经济产业省发表了一份专门报告以阐明关于开放源软件的许可证问题。日经电子新闻援引该报告称,对在日本产品中采用Linux不必要担心可能意味着软件产业和政府失去大量的机会,并将损害人民生活

       日本的主要消费电子企业联合成立了消费电子Linux论坛(CELF)。这是一个致力于在消费电子产品中采纳并改进Linux操作系统的产业联盟。日本的政府机构也宣布计划在台式机中使用更多的Linux软件。

 

?        马来西亚

       马来西亚政府一直对开放源码表现出极大的关注,近日该国政府重申了开放源码在国家信息化进程中的重要角色。该国能源、通信及多媒体部长Amar Leo Moggie表示:开放源码软件给马来西亚以及其它发展中国家一个发展经济的新机会。我们必须鼓励进一步采用开放源码产品,还要将范围拓展到整个马来西亚信息通信领域。目前,马来西亚政府正在进行实验性的研究,以更好地理解和发现使用开放源码所面临的问题和带来的收益。此外,该国还正在建立一个中心,以增强本国在开放源码技术培训方面的能力。

非洲

?        南非和尼日利亚

       非洲国家对Linux也是越来越有兴趣,不少国家都有意将Linux作为Windows的替代品。而在这些国家中,南非一马当先,尼日利亚的表现也非常突出。后者已经逐步在自己国家的公共教育机构中推广使用Linux产品。今年6月份,南非的内阁高官们做出了一项在该国开放源码事业发展史上非常有意义的决定:通过政府开放源码软件策略。这个政策是由该国的政府信息技术委员会(GITOC)提交的。而这个组织是由各政府机关的信息主管组成的。 该政策指出,如果在某个项目中,开放源码是一个可选项,则政府应优先考虑使用开放源码产品。同时还推荐:开放源码策略应该在更广泛的范围内与电子政府策略等其它信息建设策略集成。据说,费用的节省是政府考虑接纳开放源码的主要因素。南非政府每年花在专有软件的许可证方面的费用是3.52亿美元。而根据南非政府信息技术局首席信息官Mojalefa Moseki 介绍,除了能为政府节省大量的资金外,使用开放源码还能有效促进本地软件行业的发展。他表示:大多数提供开放源码应用软件的公司都是本地企业,这些本地企业更能促进南非本地经济的发展。 除了南非,肯尼亚、乌干达、纳米比亚、塞内加尔等国家也对开源码非常看好。而近期尼日利亚也加入了这个行列。该国SchoolNet Nigeria、教育部、Education Tax 基金会等三个组织联合在教育界推广Linux。目前,该国已经有35所高中提供了基于Linux的网络服务。

美洲

       0036月,美国国防部颁布一项备忘录,允许在国防部内使用开源软件。美国德克萨斯州还通过了推动开源软件使用的SB1579法案。

俄勒冈州的HB 2892议案明确要求州政府使用新软件时必须是开源软件。

       西里约热内卢市是第一个正式要求在政府机关内以及政府管理的部门内强制采用开源软件的城市。阿根廷国会通过草案,具有特定要求的部门出外,要求所有政府机构和国有企业使用开源软件。

 

?        秘鲁

       001年,秘鲁国会议员Edgar Villanueva提出政府应该使用开放源码软件来代替专有软件。他列举了由于使用专有软件许可而给政府带来的大量的债务负担,并且指出阿根廷和巴西的立法机关也在进行着类似的努力。


开源文化

       放源码软件运动是计算机科学领域的一种文化现象,源自黑客对智慧成果共享、自由的追求。开源运动发展到现在,这种能够积极促进人类文明发展的文化已经渗透到信息、教育、健康等领域,融入了哲学范畴。

纯粹的程序员

       放源码运动的史前史包括了整个Unix,自由软件和黑客文化的历史。“开放源码”一词来源于1997年春天在加州的Palo Alto召开的一个所谓“纯粹程序员”参与的战略研讨会。参加会议的有Todd Anderson, 来自Foresight研究所Chris Peterson 来自Linux国际协会的John Hall Larry Augustin,有硅谷Linux用户协会的Sam Ockman,以及Eric Raymond 它们关系的是寻找一种方式,来像以前躲避自由软件的人们来推广这种思想,自由软件和自由软件基金会的反商业信条让很多人对自由软件敬而远之。在Eric Raymond的坚持下,他们一致通过了用新的术语:OpenSource(开源软件)来猫鼠他们所推进的软件。

       1998223日网景宣布它将发布Navigator浏览器的源代码成为开源软件发展历史的转折点,经过一番激烈争辩,“开放源码”取代“自由软件”成为黑客们对开放原始码软件的代名词。

自由软件与开源软件

       Linus Torvalds创建Linux以来,开源思想在软件界可谓盛极一时。那么,什么是开源呢?简单来说,开源软件就是源代码开放的软件。

       由于开源思想源于计算机软件界,所以发展至今,计算机类开源产品的种类、数量都是很多的,使用也比较广泛。如在操作系统领域,Linux在服务器市场就占据了相当大的份额,并持续扩张,IBM公司销售的薄片式服务器中大约有75%就运行着Linux操作系统;Web方面,全球有百分之五十以上的Web服务器在使用开源的Apache系统;数据库,有针对互联网应用的轻量级数据库MySQL,也有针对大型应用的PostgreSQL,中国最大的门户网站Sina的后端数据库就采用了开源的MySQL数据库软件。其他还有各种非常流行的软件,如GNU的编辑软件EmacsLinux的图形处理界面Xfree86、排版软件TeX等等,都获得了广泛的应用。

       开源被很多黑客认为是计算机科学的一种文化复兴,是计算机科学真正成为科学并能够与其他科学一起同步发展的手段。开源发展到今天,不仅仅有数以万计的黑客在积极地参与,像IBMHPCASUN等一些软硬件厂商也在加大在开源方面的投入并积极向开源社区贡献优秀开源软件,因为开源催化了软件业快速向服务也蜕变的速度并为IBM这样的硬件和集成服务提供商提供了新的商机。

许可证授权

获得开放软件源码是免费的,但对所获取源码的使用却需要遵循该开源软件所作的许可声明。开源软件常用的许可证方式包括BSDApache LicenceGPL等,其中GNUGPL被最多的开源软件组织所采用。开源软件许可模式主要分为两类:一类是copyleft,一类是non-copyleftcopyleft许可,比如GNU GPL类型,坚持认为在开源软件基础上作修改后的软件,仍旧是自由软件。

 

19982月美国OSI成立之后,经其正式认可的开源许可类型已达30种(20021月止)。同时,在GNU工程/自由软件基金会的自由软件许可页面上包含了15种与GPL兼容的自由软件许可、2种文档许可以及总共42个软件许可再加上4种非软件许可。

一些著名开源许可类型如下:

1BSD许可它要求版权和著者身份申明;

2GPL通用公共许可(“CopyLeft”)禁止派生或发行产品的限制;

3LGPL/次级GPL,它不同于GPL许可证,在这个许可证下,库(函

       数库)可以自由地联接到专有软件;

4Artistic许可使作者保持对进一步开发的控制。

5Netscape公共许可(NPL基于GPL精神的新的许可证,但是保持

       了对源码更多的控制和所有权;

6公共域(Public Domain通常用于决定性的算法以鼓励广泛使用,

       通常由美国政府使用。

       BSD“Berkely Software Distribution”的缩写,意思是伯克利软件发行版。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。

       BSD19838月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。到了19866月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。

       由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商要求BerkelyAT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。因此,到了19896月,一个完全没有AT&T Unix代码的BSD版本诞生了,称之为“Networking Release 1″。这是第一套由Berkely发布的自由可再发行(freely-redistributable)的代码,,它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向Berkely申报版税,唯一要求是在源代码文件中原封不动的保留Berkely的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。

      GPL许可证是自由软件的应用最广泛的软件许可证,人们可以修改程式的一个或几个副本或程式的任何部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。

    最普遍的是开放源代码后,满足GPL许可,然后通过发行、咨询、增加用户定制功能来收费。另一种是将开放源代码和有版权的软件捆绑发行,这样,赚取版权费用。 一种是通过开放全部或部分源代码,收集补丁程序,并满足用户知情权的要求。作为商业软件的补充。通过发行多许可证的方式,从其他许可证赚钱。通过开放源代码和免费使用赚取垄断标准的地位。

    LGPL是GPL的派生,它是微软件库尔设计的。与GPL不同,LGPL化的程序可以合并到专有版权程序中。与LINUX以其提供的C与严酷就是LGPL许可的实例。

    NPL是1998年网景公司把Netscape开源之后,由Netscape公司以公众可以对他进行测试版本测试的形势提出的,它试图在商业企业推广自由软件开发和保护自由软件开发之间达成一种妥协,受NPL约束的代码在授权给第三方时的条款与NPL的不同使NPL无法让开源社区接受。

    对于将来提供开源软件的人来说,一般情况下从上述一些许可协议中选择一种既可,而没有必要花费精力再去编写新的许可协议。

开源教育

      自由的交换想法? 协作创造一套健壮、对大家有益的系统?不仅仅Linux是开源哲学的受益产物,在学校教学领域也在探索开源模式的应用,以期能够为教学带来一个更高效、更先进、更丰富的教学体系——这就是开源教育。

      开源教育模式下,教师们以互联网为媒介共享课间、协作开发课间、交流教学心得。

       人类对世界的人是主要通过两种途径:学习他人经历或亲身体验。教育的本质之一就是通过让人们通过学习多少辈先人积累下来的经验,更快更好的建立对世界的正确认识和树立良好的世界观。从这点看,科学的发展、教育的发展和开源的发展所采用的方法论是一致的,而开源正式这种方法论的代名词。

 

2004年08月16日

浅析开源的现实利益


近几天看到了关于开源的热烈讨论,笔者认为这样的话题可以再深入讨论,故在此不揣冒昧再撰一文。

一、重要性:

1、讨论之火爆,说明现下国内业界人士已对开源有了颇多的接触和认识。这是很好的事情,如果关于开源的概念和讨论有朝一日能够在业外流行开来(如同手机、汽车和D版),那相信国内的软件业将会呈现一次爆炸性的增长,这无疑是业界同道们的福祉。

2、这其实是关系到整个产业链的根本性关键问题,如果认为不值一提的话,就只能说是闭目塞听了。简单举例说明吧:作为国家信息产业的决策者,是重点自主发展开源体系的软件,还是与主流产商(主要是MS)合作?作为各软件公司的经营者,是采用开源体系软件进行开发,还是采用商用软件?作为每一位程序员,在这混乱无比的时代,是主要学习研究开源体系(现在主要是Linux和Java),还是学习研究商用软件(以Windows和.NET为代表)?作为最终用户,是继续沿用D版等待罚单,还是费力学习使用免费产品……。这些,全是都是有关切身利益与方向的大问题。

二、利弊

这样的题目未免太大,笔者只能尽量以所学所用所见的经验再加上部分臆测而论,自然不免以偏概全,姑且作为抛砖引玉之用吧,望各位同道能补充指正。

1、利

(1)基本上是免费的:以国内的GNI Per Capita(人均国民生产总值)而论,商用软件还是很昂贵的。其实就算对于外国人来说,商用软件也很贵,所以Gates等人才能创造商业奇迹,而现下国外开源的风才会刮得那么猛。特别对于程序员来说,如果采用商用体系学习开发的话,机器上的软件价值少说也是以万元计吧。“天下没有免费的午餐”,当国人(包括程序员)多年来已经吃惯了“免费午餐”的时候,突然说“午餐不再免费”了,这样的打击真是够呛!所以,如果你没有足够的资金享用商用软件的话,早一天考虑开源体系或许不至于在突然的打击面前束手无策。(笔者以前一直是用JB的,半年前考虑到版权问题用了eclipse,现在发现免费的eclipse竟然更加强大。)

(2)开放源代码的对于学习研究的意义:对于国内大多数的用户(包括程序员),使用开源主要是可以节省资金,而对于程序员中的高手来说,开放的代码才是至宝,原因在于,开源代码是迅速提高程序员水平的捷径。这世上本无天才,所谓的天才正如牛顿所说是“站在巨人的肩膀上”。这就是大家所熟悉的武侠小说中,为何以年青侠客奇遇资深侠客获取盖世武功作为主线的原因。学习前人的好东西,并在其之上发展,这对于学习研究者来说无疑是一件事半功倍的事情。特别对于系统软件(linux)而言,通过修改源代码,实现安全定制与特殊用途,这真是件很好的事情。

(3)开源对于商业价值:客观地说,开源现在基本上是老外的事情,国内的大多数所谓开源,无非是点很简单的代码,找本书看看就有了,没什么值得保密的。这一方面是技术问题,更重要的是市场问题,国外现在已经形成了一个具有现实意义的开源市场,所以开源已经不是什么无利可图的事情了。a、原作者的高声望与高就业机会:如论坛上《开源还是不开,难道是个问题》一文中BT作者的事例,还有就是Linux之父Linus Torvalds、struts的主设计师Craig McClanahan等等。老外的开源软件,很多是由本身在软件公司、教育科研机构工作的程序员业余合作的成果,人家有兴趣、有精力去与人合作,展示他们的天份与想象,目的,就是其作品能够得到广大同道的认可,能够在与同道的不断交流中获得程序水平的提高与设计艺术的享受。同时,也就获取了更好的工作机会。试想,这帮老大如果只是满足于像我等使用商用IDE做点所谓Application的话,即使是到了MS,相信也不会有什么好前途。b、开源软件公司运用服务盈利:如MySQL、JBoss这样红透半边天的免费软件,给人做做所谓“咨询”,也就是说以低层软件公司为服务对象,或出点什么书籍、资料等等,其收益能低得了吗?c、免费试用的模式:先免费试用,获取认可与市场之后,再转为商用。这方面J2EE界中的Jive和笔者最近用的MyEclipse、JSF Studio等等都是其中的好例子。免费试用,说白了是一种成本低廉的优秀广告,相当于聪明的水果摊贩试尝西瓜之类的手法。所以说,开源最终也是一种商业模式(为避免本文太长,详见本人的《浅析集中与分散软件商业模式》,稍后完成)。

(4)开源是发展中国家的机会与福祉:这大概就不用说了吧。(举个简单的例子:前几天我已经把JB给卸了)。

其它的优点就由各位道友一一说来吧……

2、弊

(1)难于使用:这是客观事实,但诸位道友如果在享受免费的产品时还在以攻击为要务的话,就未免有些不近人情了。这世上本来就很难有比MS的产品更容易使用的东西,更何况还是免费的。笔者以为,国内大凡从事软件业的同道,考虑任何问题都不要忘了D版。可以说,D版是一个摇篮,我们在其中不断成长;而现在,当D版已经开始限制我们成长的时候,是扔掉它还是睡在其中不再长大,这一个问题。可惜,这其实根本就没有选择,正如摇篮一样,D版是不可能长久的。所以,是准备必要的资金以享受“好用”的商业软件,还是费力去学习、使用、发展“难用”的开源软件,这也许才是一个问题。从实际的角度出发,尽力让产品变得easy也正是开源体系应该努力的方向。

(2)学习开源体系的难度高,时间长

Linux与Windows、J2EE与.NET,玩过的人都知道,谁费劲?表面上看来这个问题很容易定论,其实不然。简单地来说,低层的应用,商用软件的效率较高;高层的应用,开源的价值较大。现在论坛上经常有人咒骂开发难度的降低导致收入下降,甚而将矛头对准Open source,这实在是冤枉好人。“水涨船高”本就是自古以来所有行当的必然规律,而现今IT业偏偏又是那种涨得最快的行当。这一点上不得不提一下MS和Internet,可以说,正是MS与Internet的伟大,将PC与软件传遍了全世界,缘于其方便和易于传播;可也正因为如此,PC与软件又如此轻易地淘汰与贬值。再次提醒诸位,现今的IT是个极其危险的行当。因为其中容易的东西(如操作、简单维护开发)渐渐趋于饱和。所以,如果你试图象“泡沫年代”那样轻易地获取高额利润而到这个行业淘金的话,或许应该冷静地思考一下了。现今,发达国家的IT业,基本上是属于高技术选手,国内开始有这个趋势,如果市场体制比较合理之后,相信10年后大体上也就如此。当整个行业成熟之后,仍然会有较高的薪水,也有很多机会,只是难度越来越大。所以,与其抱怨像电子论坛那样半小时搞定的东西下载满天飞,不如去考虑一下那些即使下载来,也需要很长时间才能领会的事物(如spring、ofbiz或.NET的Duwamish)。毕竟,ASP.NET越好用,MS的收益越高,您的¥就越少。当全业界都会做WEB的时候,您是否该考虑点其它的东西,或是把它做得更优秀。不过,请自信一点,如果你考虑收益的话,“社会必要劳动时间”在正常的市场体系下仍是一个公理。

(3)开源的商业价值低?

考虑到money因素,也许有人会说Linux即使再优秀,甚至全面超越了Windows,全面占据了市场,也不可能像Windows赚钱。这您可就太对了。以现阶段的商业应用为而论,MS已经如此优秀,能挤出的油水大体上已经进了MS的腰包。就像过去的十年,OS、办公软件领域,是Windows、Office的胜利,DB是Oracle的胜利,今后也许还是如此。然后,社会经济是不断发展的,新的应用需求是无止境的。现今,软件业正向高度、深度、定制化的方向发展。不过,以笔者估计,今后要想在诞生MS、Oracle这样的通用软件巨无霸只怕是不可能了(Gates迷们可能要失望了)。 数以万计的小型化、专业化、本地化的软件开发服务公司也许是更为现实的景象。所以,是选择商业软件体系还是开源体系进行开发则是一重要的问题。商业体系意味着较高的成本,较低的层次与通常认为较高的效率与暂时较高的市场认可度;开源体系则是较低的成本,较高的层次与通常认为较低的效率(主要是学习、探索、集成的时间长)与潜在的市场空间。何去何从,恐怕还得根据自身实力与周围的市场环境而定。

(4)国内开源的不利形势

众所周知,国内的技术环境是比较差的。由于体制与文化的原因,科技人员在国内的前途向来就是比较惨淡的。以吹嘘和欺诈为主要能力的权钱阶层掌控着国内的市场,这从根本上导致了技术的低水平化。低层次的经济体系也就意味着技术与管理的低水平化,这同样包括软件业的。在这样的条件下,所谓信息系统建设,往往也就是在硬件与商用软件上的大把挥霍。故而以收入和地位而论,营销人才远高于技术人才是不争的事实。所以在这片土地上,想要经过多年积累成为像James Gosling或Anders Heilsberg那样的大师,恐怕是极为艰难的。走入开源体系无疑在技术研究积累上是极好的,最终的收益是高的,但也意味着更多的心血与风险。

其余的弊病望各位道友尽述……

三、总结

“存在即是合理”,商业与开源软件现在与未来都将长期存在发展。软件业是有前途的,一如它的艰辛。不管是商业或开源体系,要想获得成功,都要走很长的路。应该说,软件业经过了其喧嚣的火爆之后,渐渐回归理性。“路漫漫其修远兮”,愿与诸位同道共勉。

(欢迎参加http://blog.csdn.net/lgx522/archive/2004/07/24/50665.aspx上的讨论)

开源风潮又来了

互联网周刊  2004年07月20日  陈琼
  WinCE在前,Java、Solaris在后—站在开源软件正对面的微软和Sun,正在导演一场将Linux同时做为榜样和假想敌的开源剧目

  微软的软件真是一团“毛线球”吗?Sun的CEO麦克尼利觉得是,尽管在今年4月和微软握手言和之后,Sun的Java也将名正言顺的成为微软“毛线球”的一部分。“我们不会停止支持开放标准和开放竞争,”麦克尼利辩解道,“签署这份协议只是因为我们现在需要同微软合作。”

  事实上,选择接受19.5亿美元与微软了断恩怨的Sun现在正面临新的尴尬:曾经积极投身开源运动、持鲜明反微软立场的Sun,如何化解来自开源社区充满敌意的目光?

  也许,对Java太专制、对Linux太冷淡都是Sun被“伤害”的主要原因,Sun已经在尝试有所改变。先是向Linux低头,在其低端服务器上搭载了两种版本的Linux操作系统,并和Red Hat建立了合作伙伴关系;然后Sun开始考虑是否应该放开对Java的控制权,有消息显示,Sun已经计划将Solaris开放源代码化,尽管在刚刚闭幕的JavaOne 2004大会上,Sun并没有像先前有分析人士预计的那样,对这一计划的执行给出明确的时间表。

  即使是作为开源运动头号敌人的微软,最近也拿出了崭新的开源计划方案。定于今年7月在全球正式发布的面向嵌入式领域的Windows CE 5.0将会以开源的形式推向市场,虽然微软公开的250万行代码只是全部软件的60%强,但“这是微软第一个提供商业用途衍生授权的操作系统”,目的也很明确,直指在嵌入式领域一向广受欢迎的Linux,并且为自己的“无缝计算”搭建基础。
  

  微软:挑剔的开放

  其实,微软公开软件源代码的行动早就不是什么新鲜事了。无论是三年前的共享源代码计划(Shared Source Initiative)、去年2月盖茨来华时所透露的开放源代码计划,还是在Windows CE 4.2版本中针对研究单位提供的200万行源代码,以及今年4月开放的WiX(Windows Installer XML)软件的源代码,面对Linux的冲击以及来自政府、市场等方面的压力,微软已经在有意无意的进行着妥协。

  不过,这样的妥协是有选择和有条件的,因此与Linux等具备完全开源特色的软件保持了明显差异。从近日微软方面发布的消息来看,7月9日正式在全球推出的WinCE 5.0版本中,微软将开放250万行源代码程序作为评估套件(evaluation kit),凡是个人、开发商都可以下载这些源代码加以修改使用。

  微软全球副总裁张亚勤在7月1日的“微软2004新技术展望大会”上证实,新款的Windows CE 5.0嵌入式系统将会向软件开发者公布部分源代码,任何第三方开发者都可以用3美元的价格获得Windows CE 5.0的授权,并且鼓励第三方的二次开发和创新。

  按照共享源代码计划,在近三年里,微软应该有选择的向合作伙伴、政府、教育机构甚至技术爱好者开放全套版本系列的Windows 2000、Windows XP和Windows Server 2003的核心源代码,比如在去年年底,微软就与东京大学等6所日本大学签订了合作开发计算机安全软件的协议,并首次向日本的大学公开其Windows操作系统的源代码。像这样的大学合作伙伴,微软目前已经在全球拥有130多家。

  今年1月,有消息称,微软下一次扩大开放的范围很可能会将Office的源代码包括在内。无疑,迫于各国政府对极具垄断性的Windows系统的安全以及稳定性方面的疑虑,微软的选择一方面是希望能让各方的疑虑有所消减,另一个主要目的当然是要迎战Linux。

  以WinCE 5.0为例,分析家指出,这是微软公司有史以来首次向第三方公开WinCE源代码程序,此举反映了微软急于让WinCE进入信息家电和嵌入式设备市场的企图。虽然微软垄断了桌面市场,但在网关、VoIP、无线桥接器、低端机顶盒等市场上,目前主要是Linux及Wind River的天下。微软的计划势必将面对Linux的强劲狙击。虽然已有三星、LG等多家厂商将会基于新版WinCE平台开发产品,但做为世界第一大嵌入式系统供应商的Wind River日前已经宣布将和Red Hat在基于Linux的嵌入式市场中展开合作,主要面向企业级设备软件市场,例如高端路由器和交换器。

  微软强调,WinCE 5.0的授权模式有别于开放源代码界常用的GPL授权条款,使用源代码于商业用途与产品开发的厂商,可享有其衍生程序代码的所有权,无须将之共享。只是在用于商业目的时,需要按每台机器3美元的价格付费。而Linux的操作规程则不需要哪家厂商的授权,可以自由得到,但是基于Linux源代码的任何后续程序则必须向公众开放,并允许修改。

  有分析师已经鲜明的指出,公开源代码或者提供知识产权许可证不但可以使微软避开“反托拉斯法案”中的某些惩罚性条款,还可以借此达到某些商业运作上的目的。“作为一家商业公司,我们的业务模式主要基于软件销售。但同时我们也意识到,源代码的开放可增进一些客户对我们公司和产品的信任,”微软首席技术官Craig Mundie这样说。
  

  Sun:矜持中的困惑

  相对而言,Sun的选择要无奈得多。但最近对于麦克尼利而言,一贯支持开放源代码软件并且总是对微软冷嘲热讽的Sun居然会被开源社区认为是仅次于微软的开放源代码软件的“第二大敌人”,这很让他困惑。

  麦克尼利说,“很长一段时间以来,我们一直在从事基于社区的软件开发活动,”Sun甚至是第一家在全部产品线上都拥有开放源代码软件的厂商。无论是十年前就对开源社区公布源代码的网络文件系统还是Open Office,或者是去年推出的基于Linux和StarOffice办公软件的JDS软件包,Sun似乎并不缺少开源的血统。

  但是游戏规则的改变让Sun有些无所适从。Linux在近年来的蓬勃势头已经对Sun造成了刻骨铭心的伤害,尽管表面上,Linux的头号对手是微软的Windows,接下来才是Solaris。但现在,大多数分析人士都认为,自2001年以来Sun丢失三分之一市场份额的罪魁祸首是Linux,而不是Windows操作系统。另外,Sun还是去年承认从SCO集团购买了技术许可的二家主流IT厂商之一,另一家是微软。

  虽然麦克尼利不愿意Linux出现在Sun的产品线中,但是残酷的事实已经很难让他做出别的选择。如今,Sun不仅接纳了Linux,而且还准备把自己引以为傲的Solaris系统的源代码向开源社区公开。当Sun新任总裁兼首席运营官施瓦茨6月在上海公布这一计划的时候,业内一片哗然。据一些消息灵通人士透露,Sun将会在今年秋季完成这个开源项目,名称可能定为OpenSolaris.org,但这一消息目前还并没有得到Sun官方的证实。

  很明显,Sun希望能阻止用户继续抛弃Solaris而被IBM和惠普们带领着投向Linux的怀抱,但这些似乎还不是问题的关键。如同Sun放下矜持,和微软称兄道弟一样,Sun的妥协让一向以特立独行姿态示人的Sun又面临新的尴尬:在先前那些开源社区积极分子们眼里,Sun的举动难免再次遭受批评和攻击。“我相信Sun是不会再主动反对微软了。这对开源社区来说并非好事,对于消费者来说,更是一个坏消息,他们将面临更少的选择,”一位开源社区的鼓吹者表示了担心。

  “开放标准当然很好,如果每个人都能使用并修改它,那它真的是很完美,”施瓦茨说道,“但是现实中也存在着另一种标准,所谓的事实标准,与开放标准竞争的事实标准。”看起来,Sun正一手握住开放标准,另一只手也逐渐向事实标准伸去。施瓦茨坚定的表示,Sun仍然对Java未来的走向有着决定性的影响力,他们并没有背离开源标准。

  不过,针对Java是否应该开放源代码的讨论还是此起彼伏,甚至一向对Java呵护备至的IBM也说,希望Sun能将Java的控制权交给Eclipse基金会,当然,这主要是为了IBM自己的Workplace系统乃至整个中间件系统的发展考虑,另外也有Java作为两大主流开发平台之一的巨大市场潜力的因素。

  在6月29日的JavaOne大会上,施瓦茨称Java的经济规模“将达到每年1000亿美元以上”,将会广泛的覆盖到企业市场、移动终端市场、游戏市场、PC市场、家电市场、汽车电子市场等等领域。Sun会把对Java的控制权交给别人?这几乎不可能。尽管已有Linux在嵌入式领域的优势在前,WinCE紧跟在后,尽管Sun追逐开放标准的步伐不会放慢,但Java仍然不太可能会被开源运动的风潮席卷,除非游戏规则再次改变。

  那么游戏规则真的变了怎么办?“如果软件都开放源代码化了,软件产业还如何生存?”这是微软一名软件设计师的困惑。对于那些依赖既有商业模式的商业软件厂商而言,同样的困惑也许从Linux诞生、开源运动风行的那一刻起就始终没有停止过。

2004年08月13日

[按]这位大师目前尚未婚娶、孤苦伶仃、形影相吊,也许未来的一天他对人类文明进步的共享将超过任何一个it从事者。                        ——2004/08/13 胡德平

大家好!很高兴能够来到中国。看到在座的有这么多自由软件的爱好者和追随者,我感到自由软件在中国有很大的潜力,你们将是中国自由软件未来的希望。今天,我要给大家介绍一下自由软件和GNU的发展。

  当人们要问:这个社会使用软件的规则是什么?考虑这个问题的通常是软件公司的人,他们完全是出于自私的角度来考虑这个问题的。他们为了管制住别人不从他们身上拿走钱而制定这个规则。

  早在70年代,我就关注这个问题。当时我们这些程序员们是在一起合作共同分享这些软件成果。正因为如此,我得出了完全不同的结论。我们的社团是这样工作的:我们会从斯坦福获取最新的程序软件,或者一些源代码去写一些更好的程序,来解决一些原有的问题。或者你可以用那些源代码去实现你的想法,写一段更好的程序,甚至你可以切下一段程序用于你工作的另一段程序上。人们把这个称为软件的再利用。这样你可以把一段程序用于很多方面。这是我们这个社团致力于的方向,也可以称之为对人类知识宝库的贡献。

  我们并不针对任何人,相反我们是为所有人工作的。我们这个社团包括MIT的实验室人员,还有象斯坦福和的伯格大学的人员,甚至一些计算机公司的人员也加入我们的行列。但我们这个社团与计算机使用者不同,我发现了一些计算机使用者最关心的问题。

  举一个例子,施乐公司当时送给MIT一台激光打印机,这是一件非常珍贵的礼物,因为在当时是很先进的,MIT成为除施乐公司以外的唯一一家拥有激光打印机的单位。这台机器性能非常好,打印清晰度高,不象以往的打印机那样竖线会发生扭曲,线条打印得笔直、漂亮,它是由计算机控制的。但它也有很多问题:如经常卡纸。这种情况下,我们知道怎么办,以往的打印机也会出现经常卡纸、清晰度低的问题,我们无法改变打印速度慢、卡纸的问题,但我们是软件工程师,我们可以用软件来你弥补硬件的不足。比如打印作业完成后,我们可以用程序提示:“您的打印作业已完成”,这样打印者不用再等多余的时间。另外我本人也专门写了一段关于卡纸的提示,一旦卡纸便会通过屏幕告知打印者卡纸了。或者打印机出问题了,系统会显示:“机器故障,需要修理”。一旦出现这种情况,你必须马上去修理,也许不会有任何别人来帮助你,但是有时会有两三个人同时到达打印机,他们之间可以互相帮助,共同修理。事实上,我们把打印机当成整个系统的一部分,保证系统整体稳定运行。所以当新的打印机出现类似问题的时候,我们也想做类似的软件修改。可是问题出现了:新的施乐打印机是用施乐专有软件控制的,我们没有源代码,连最基本的修改都做不成。我们都是当时全世界最优秀的软件工程师,可我们却一点办法都没有。所以人们对这台打印机感到很头疼。也许你打印后半个小时去看,却一张纸也没打印出来。又过了半个小时你去看,却发现一直在卡纸。于是你修理好了卡纸,回去又等了半个小时,心想这回成了,却发现打印了200页别人的东西,这是没有任何意义的。然而最令我们感到头疼的是有人故意不让我们把这台机器做得更好。当时我听说的岵?格大学的一位同事有这台机器源代码的拷贝件,所以我去了他在匹兹堡的办公室想向他索要一份源代码拷贝件,他拒绝了,他说:“我已经我去了他在匹兹堡的办公室想向他索要一份源代码拷贝件,他拒绝了,他说:“我已经承诺不会向任何人提供拷贝件”。我非常气愤,但是没有办法,只能扭头走了。这对于MIT的员工来说是一种悲哀,于是我们一直解决不了这个问题,机器也一直这样坏下去。相反这件事对我是个不小的触动。的伯格的那?工程师拒绝与我合作,也拒绝与你们合作,他是在背叛我们全体。

  这是发生在1981年的事。只是因为他签署了一项不对外泄露协议,他在背叛全世界。这是我第一次接触到不对外泄露协议,我是受害者,我的实验室也是受害者。很多软件工程师都会遇到被要求签署不对外泄露的协议,而且会有很多诱惑和好处会诱使他们这样做。人们会对自己做过的错事找各种借口,很多人都这么做,为什么我不能呢?但是我不会签署这样的协议,因为我清楚地记得我和我的实验室是受害者。尤其是你并不知道你会伤害谁,也许会是你最好的朋友。如果有人送给我一个很好的软件,但要求我不对外泄露,我会感谢他,但告诉他良知不让我这样做,我宁愿不要这个软件。到现在为止,我从未在已知的情况下签署过任何不泄露协议。

  在70年代AI实验室的成立可以说是计算机领域的悲剧,AI实验室开始编写专有的程序,使得我们原有的共享的源代码变得一点用处也没有了。除非你签署了不对外泄露协议,你根本无法在一台先进的计算机上工作,因为他们编写了ISS(不兼容软件系统)。我原有的社团环境已经不存在了。我将如何做?或许可以随历史潮流,也签署不对外泄露协议,并编写专有软件,我也可以此为生。但是将来回顾这一段,我是在用一生建筑分割人们交流的高墙。但我不能这样做。另一个选择是离开计算机行业,但很多程序员认为离开计算机会挨饿。但今天的美国仍有几百万人与软件无关。我的专长就是编程,我相信我会做一名很好的服务生,这也是谋生的一种方式,但我在浪费我的技能。

  我在寻找另一种可能,做一名程序员并能为这个社会作出更大的贡献。我认为当时最需要的是开发出一套操作系统来改变这种窘境。由于当时的操作系统是专有的,而这是问题的起因,所以我决定从零开始开发出一套操作系统,向所有人开放。这个任务很艰巨,我不敢肯定我能完成它,但创立一个自由操作系统却是我的目标。问题是如何来设计这样一个操作系统。我知道有些程序写出来后是无用的,因为它只适用于某种类型的计算机,我不希望这样的事情发生。我想到了便携式软件,这在1983年是非常领先的。我想做一个与UNIX兼容的系统,让大家觉得用起来非常容易和方便。下一步,就是起个名字。六七十年代曾经流行工程师愿意给自己的软件起一个别出心裁的名字。经过多种选择,我选择了GNU这个名字。这是我认为我在所有英语语言中最好的词汇了。再下一步就是找那些热衷于程序设计的人来开发它。我找到很多计算机厂商,问他们:你们每年使用UNIX需要向UNIX交几百万美金的许可费,为什么不拿出5万让我们开发新的自由操作系统呢?如果很多计算机厂家都能这样做,我们就有足够的经费完成开发工作,一旦成功了,将收效巨大,达到100:1的回报,那岂不更好吗?尽管有人对此表示出兴趣,但没有人愿意提供赞助。于是,我决定自己开始写作。

  1984年1月份,我辞去了我的工作,我必须这样做,因为在MIT和美国其他大学你的成果是归学校所有的,而我的目标是编写自由操作系统,让大家共享。从此以后,我再没有过正式的工作。幸运的是通过编写自由操作系统,我到现在还没有挨过饿。

  假若每一个程序都有其所有者,所有者都有这么一个规则:使用程序的人要么付钱,要么就不准使用这个程序。那么有些人会说:“好吧,我付钱使用这个软件。”有些人说:“我不买它,这太贵了,我不用这个程序了。”每次都会有人不使用它,这样一来,这个程序就得不到很好的利用,部分就被浪费了。因为设计、测试、发展和程序到一定程度所需花费的精力是一样的。如果我们的用户量得到了限制,那么我们做的工作就有部分会白白浪费。

  但是社会上还有一部分是乐于去帮助别人的人。一个正常的社会只有在良好的心态下才能发挥作用,但是社会上还有一部分是乐于去帮助别人的人。这也是许多宗教信仰鼓励乐于助人的原因,因为这对于人类社会来说非常重要。当我还是小孩子时,在学校里,教师会教育我们要“分享”,他们说你不能把带来的糖果一个人全吃了,要分给别的孩子,在中国也是这样吧?对此我并不奇怪。因为显而易见,乐于同你周围的人分享是非常重要的,孩子们都必须被教育。现在在美国,政府所做正好相反,要求学校里教师教育孩子们把东西“存着”,以前我们被告诉要同别人分享,现在孩子们却被告知“不要与别人分享”。分给别人是错误的,分给别人意味着你是一个傻瓜。如果我们都不原意帮助周围的人的话,这个世界将会怎样?我们难道愿意生活在那样一个人人自我,不愿帮助他人的社会里吗?

  过去有人问我是不是没有人愿意为自由软件工作,因为他们认为这是免费软件,人们要无偿为它工作,因此造成了没有人愿意做和来做这件事情。十五年之后的今天,我想已经有了答案,有些人是编软件拿报酬,但还许多人却是即便没有报酬也在编写软件。我们编写出有用的软件,并让更多的人可以使用它,这就是自由软件的价值。

  自由软件的一大优势就是,在大家的共同努力下,这些程序总是不间断地更新。当我写Emacs时,大家都在想如何改进它,例如有人会说我在这里有一个设想,另外就有人会说这个新的设想我能实现它,接下来就会有一个接一个的程序出现,它们的出现是如此之快,我都赶不上了…我想在微软就不会有这个问题.人们改进软件是为了使它更有用,软件有用了,人们就开始使用它,开始改进它,这样的结果使自由软件更加具有可用性和可靠性。以往人们觉得自由软件不会起什么作用,但今日事实看来,自由软件具有很高的可靠性,在日常工作、教育等方面都起着重要的作用。在医院医治病人、美国警局记录时都采用了自由软件配置的系统,因为他们知道这个系统永远不会瘫痪。这也是人们选择使用自由软件的一个极重要的原因。从实用角度而言,开放源代码的程序也为商业提供支持。

  当我们与商人谈的时候,自由软件支持商务也许是一个好的卖点,但是当我们与公众,与我们的系统用户谈的时候,或与我们的社团谈的时候,我们却没必要告诉他们这些,因为社会里自由的天性是最重要的,我们也要给他们选择的自由。

  历史告诉我们,人们若想自由,唯一的方法是为自由奋斗,总有一些让你放弃自由的机会,人们总能听到“如果你放弃了这个自由,你就能得到某些好处”,总有一些人为了这些利益而放弃自由,所以假若我们要维护自由,就必须有珍视自由的人们。

  在世界任何一个地方,如果你想要自由,就必须不懈地奋斗。在自由软件协会中工作的人说:“我坚持为自由软件工作,因为我想要‘自由’。”在某种程度上,我赞成他们所说的,但我认为有些他们并未提到。在这里我必须阐明,自由软件工作与开放性源代码工作并不完全一样,两种运动有着很相似的目标,但其原因和其对公众所宣扬的主旨并不尽相同。后者无法达到一个和谐的工作环境,而没有其他人的帮助,软件将无法实现强大的功能和可靠性;另外,这种状况造成的结果将影响科学家们的相互合作精神,而这种合作精神正是他们一起工作来提高人类的知识水平。这种精神曾经盛极一时,甚至当科学家们的国家处于战争时期的时候这种合作精神也普遍存在。我曾读到一个故事,说二次世界大战的时候,美军士兵在太平洋中的一个小岛登陆,发现了一所房子,上面钉着一块写给美军士兵的牌子,上面说:“美军士兵,这里是一个海洋生物实验室,我们想把这里的标本学交给一位美国科学家,让他继续我们的研究,而不想由于这场战争使这里的东西被破坏。”每当我想到这些,我都会非常感动。而与这种合作精神相反,现在每一个公司的研究人员都以其他公司的研究人员为敌,这是一种科学的对立局限,使得每个地方都持续着内战,而这种状况在严重阻碍着技术的沟通和发展。我想这样的情形不能再继续了。以上是自由软件有别于其他的原因,也是自由软件之所以重要的原因。

  目前对自由软件有这样一种看法,如果某些使用者可以自由地获得一个程序,则这个程序对你而言就是自由软件。我不同意这种看法,因为通常一些软件对一些使用者是自由的,但并不是对其他使用者而言。这看上去有些奇怪,我举个例子来说明:

  最典型的一个例子是X-Windows,它是MIT的实验人员开发的基于UNIX的Windows操作系统,如果你从开发者手中购到X-Windows,则它对你来说是自由软件。但对于其他拿到X-Windows拷贝件的计算机厂商来说,他们使用的是UNIX系统,他们将X系统加以改编并融合到自己的UNIX上,再分售给购买者,它就受限于这个UNIX系统。那么出现了一种似是而非的情况,如果要问X-Windows是否是一种自由软件,答案则取决于你从哪方面考虑。如果你从研发者处购得,你则享有自由,答案便是肯定的;但如果你从大多数普通的软件使用者角度考虑,答案则是否定的,他们没有享有这种自由,因而X-Windows就不是个自由软件。研发X-Windows的人员的目标是成功的,他们希望X系统被广泛使用,而结果正如所料,X-Windows成为UNIX系统下最标准的Windows操作系统。他们认为这很好,但我不那样认为,我们希望的是给予使用者自由。同时我意识到我的软件也有可能出现这样的情况,因此我决定找出一种办法,避免此种情形发生。

  我把这种办法称为Copyleft,它是与版权(Copyright)相对应的说法。我予以你拷贝的自由,并可以制作复本,但你如果发售复本,就要遵守没有再次限制的规则,使任何人可以你处得到复件,也同时得到许可去做同样的事。软件到何处,自由就随之到何处,并且每个复本的使用者也得到自由。如同在美国的一项法律——不可让予的权力,意思是你无法彻底失去的权力,你不能放弃。自由是很重要的,如果你失去他,就会变成奴隶,你是不能放弃这种权力的,除非你犯了罪…,这就是说X-Windows应是所有人能使用的自由软件,每个人都应享有这种不能让与的自由。

  我虽不能让所有的软件都成为自由的,但我可以运用Copyleft来编我的软件,以给予你们这种自由。Copyleft与编译程序差不多,要使用Copyleft必须有一些给定的供给工具。在GNU系统中则是GNU一般公认许可,这是一种特定的用法定语言编成的许可,目的是推广自由拷贝(Copyleft)。我们还有一些在特定情形下适用特定软件的“自由拷贝”版本,并编写了“自由拷贝”软件操作手册。自由软件分为自由拷贝和不自由拷贝,支持不自由拷贝的人只是不积极,但他们仍很尊重他人的自由。我鼓励你们使用那些不自由拷贝的自由软件或与之合作,而以自由拷贝的策略来编写程序。

  我来到中国以后,知道有一些中国公司,他们在分售GNU软件,但没有执行其在GNU公认许可下的责任,对此我表示反对。我鼓励公司出售GNU软件的复本,但他们必须尊重你们的自由。在国际上,许多团体和个人都在分发自由软件,但他们都严格执行GNU公认许可,不遵守这个许可的人是不受欢迎的,将被驱出我们的队伍。中国的自由软件公司中,有一些在遵守GNU公认许可,他们遵守公认的准则,我就支持他们。而对这些不遵守GNU公认许可,不执行GNU许可下应尽责任的公司,我会认为他们是不受欢迎的。我希望你们也和我一样,不要以任何形式与这些公司合作,帮助我完善中国的版权法,并关闭那些公司。

  当年我们销售X-Windows时,有些人说我赚不到钱,因为别人买了你的软件拷贝,他会再制造拷贝他将以更低的价格卖给别人,所以你是赚不到钱的。但现在,我很高兴地看到,尽管我们“违反”了公认的经济规律,但我们却赚到了钱。现在仍然有人购买我的软件,我也从未曾因缺钱而饥饿。现在,自由软件正在显示出良好的发展势头,许多自由软件公司专门从事GNU系统上软件的研发工作。还有许多全职或兼职的志愿人员为我们服务。也许自由软件还有很长的路要走,但我们有充分的理由促使人们支持自由软件,为自由软件服务。自由软件的前途是光明的。

倪光南老师说:

“这两种前途的比较(用windows或者linux),不使用Linux等开源软件主要只能发展应用软件,发展空间狭窄,在Windows平台上的软件难以进行公平竞争,受制于基础软件、不易取得利润,不能形成自主软件产业体系,不能保障信息安全,不能发展自主知识产权的CPU,而推广Linux等开源软件,可以发展各种软件,发展空间广阔,在Linux平台上或跨平台的软件可以进行公平竞争,可以提供包括基础软件在内的完整解决方案,取得较高的利润,可以形成自主软件产业体系,可以保障信息安全,可以发展自主知识产权的CPU。”

关键在于大家实在不明白开源、linux和发展自主产权的cpu有什么关系?

 

2004年08月06日

嫦娥奔月

空格相传,远古时候有一年,天上出现了十个太阳,直烤得大地冒烟,海水枯干,老百姓眼看无法再生活去。

空格这件事惊动了一个名叫后羿的英雄,他登上昆仑山顶,运足神力,拉开神弓,一气射下九个多余的太阳。

空格后羿立下盖世神功,受到百姓 的尊敬和爱戴,不少志士慕名前来投师学艺。奸诈刁钻、心术不正的蓬蒙也混了进来。

空格不久,后羿娶了个美丽善良的 妻子,名叫嫦娥。后羿除传艺狩猎外,终日和妻子在一起,人们都羡慕这对郎才女貌的恩爱夫妻。

空格一天,后羿到昆仑山访友求道,巧遇由此经过的王母娘娘,便向王母求得一包不死药。据说,服下此药,能即刻升天成仙。

空格然而,后羿舍不得撇下妻子,只好暂时把不死药交给嫦娥珍藏。嫦娥将药藏进梳妆台的百宝匣里,不料被蓬蒙看到了。

空格三天后,后羿率众徒外出狩猎,心怀鬼胎的蓬蒙假装生病,留了下来。

空格待后羿率众人走后不久,蓬蒙手持宝剑闯入内宅后院,威逼嫦娥交出不死药。

空格嫦娥知道自己不是蓬蒙的对手,危急之时她当机立断,转身打开百宝匣,拿出不死药一口吞了下去。

空格嫦娥吞下药,身子立时飘离地面、冲出窗口,向天上飞去。由于嫦娥牵挂着丈夫,便飞落到离人间最近的月亮上成了仙。

空格傍晚,后羿回到家,侍女们哭诉了白天发生的事。后羿既惊又怒,抽剑去杀恶徒,蓬蒙早逃走了。气得后羿捶胸顿足哇哇大叫。悲痛欲绝的后羿,仰望着夜空呼唤爱妻的名字。这时他惊奇地发现,今天的月亮格外皎洁明亮,而且有个晃动的身影酷似嫦娥。

空格后羿急忙派人到嫦娥喜爱的后花园里,摆上香案,放上她平时最爱吃的蜜食鲜果,遥祭在月宫里眷恋着自己的嫦娥。

空格百姓们闻知嫦娥奔月成仙的消息后,纷纷在月下摆设香案,向善良的嫦娥祈求吉祥平安。从此,中秋节拜月的风俗在民间传开了。

    嫦娥奔月的故事以鲜明的态度和绚丽的色彩歌颂、赞美了娥娥,与古文献有关嫦娥的记载相比较,可见人们对嫦娥奔月的故事做了很多加工,修饰,使娥娥的形象与月同美,使之符合人们对美的追求。 与现代流传甚广的“嫦娥奔月”相左,《全上古文》辑《灵宪》则记载了“嫦娥化蟾”的故事:“嫦娥,羿妻也,窃王母不死药服之,奔月。将往,枚占于有黄。有黄占之:曰:‘吉,翩翩归妹,独将西行,逢天晦芒,毋惊毋恐,后且大昌。’嫦娥遂托身于月,是为蟾蜍。”嫦娥变成癞蛤蟆后,在月宫中终日被罚捣不死药,过着寂寞清苦的生活,李商隐曾有诗感叹嫦娥:“嫦娥应悔偷灵药,碧海青天夜夜心。”