软件开源意味着什么?
开源(Open Source,开放源码)被非赢利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。
开放源码软件通常是有版权 ( copyright ) 的.它的许可证可能包含这样一些限制:着意地保护它的开放源码状态,著者身份的公告,或者开发的控制。
实际上,开源软件同时涉及源码本身和开发过程,涵盖了三个方面的意义:免费分发的源代码、模块化的体系和集市式的开发--在这种开发方式中,任何地方的任何人都可以参与最终产品的制造,三个方面互相之间有密切的联系,集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数量巨大的观众,他们都是潜在的改错者。
另一方面,任何人都可以复用和发行开源软件的代码这一事实又支持了公众利益,因为创新的观念被整个集市所共享。
另外,"open source"这一术语还被延伸到其他智力团体中,指那些可通过公开手段获得的智力资源,比如报纸、教学课件等。
开源软件的弊端 !!
引:关于软件的安全性问题,随着网络的流行越来越成为人们关注的焦点,事实上每年发生的大量的攻击事件,病毒、黑客、蠕虫,使人们对软件的安全性不得不重视。
但是究竟是开源软件安全还是商业软件更安全呢?关于这个问题一直是仁者见仁智者见智。
关于软件的安全性问题,随着网络的流行越来越成为人们关注的焦点,事实上每年发生的大量的攻击事件,病毒、黑客、蠕虫,使人们对软件的安全性不得不重视。
但是究竟是开源软件安全还是商业软件更安全呢?关于这个问题一直是仁者见仁智者见智。
有人说开源软件由于源代码是开放的,因此即使有漏洞和BUG也极易被人们发现并及时进行修改和完善,但是商业软件却由于不开放源代码,仅有少数人知道源代码,因此在漏洞和BUG方面,可能发现的很晚,所以也极易造成破坏和损失。
不过商业软件商总是认为自己的软件的安全性是相当可靠的,是经过检验地,并且也称,即使是开源软件,如果BUG和漏洞被一些不法分子获悉,同样存在着安全隐患,而且因为它的源代码是开放的,这种获悉漏洞的机会将更大。
可以说,彼此对对方的安全性都提出了质疑,甚至有些不屑。
那么究竟开源软件的安全性症结在哪里呢?开源软件的安全性是不是要比商业软件更好呢?事实证明,无论是一些软件使用者还是一些研究机构,对开源软件还是情有独衷的。
从他们的使用和研究来看,开源软件的安全性确实要好一些,在很大程度上就是因为它的开放性和随时弥补性。
众所周知,即使再完善的软件也可能存在着安全隐患,也就是说也可能有漏洞,甚至可以毫不夸张地说,所有的软件都有漏洞,只是这些漏洞是不是能及时被发现并进行弥补。
从某种程度上讲,商业软件所依赖的所谓的“安全性”其实更多的是臆想和希望,而不是现实。
现在的软件市场极度依赖于所谓的“独立”测试和认证,但实际上,付钱资助那些进行软件测试和认证的机构的人同时就是这些软件公司。
因此即使是微软这样的软件巨人,在自己的软件上每年要修正多少漏洞,这还仅仅是已经发现的漏洞,还有很多没有被发现的不是同样在侵蚀着我们的系统吗?据普林斯顿大学二名研究人员最近发布的一份报告称,AOL、Adobe等大牌公司在编写安全的软件方面还可以做得更好。
研究人员对包括AIM、Photoshop在内的许多流行的应用软件进行了研究,发现其中许多软件都针对操作系统进行了优化,使黑客能够绕过一些Windows安全机制。
普林斯顿大学的这二名研究人员重点研究了Windows的访问控制系统,它控制着用户和应用软件能够在PC上执行哪种类型的操作。
他们的结论是:许多软件要求过多的权限,为可能的黑客打开了大门。
据美国系统网络安全协会(SANS Institute)称,在对Windows进行多年的攻击后,黑客越来越多地瞄准了在Windows上运行的应用软件。
它将即时通讯、媒体播放、备份软件列为新的安全缺陷重灾区。
而开源软件在安全性方面做得相对就好多了,笔者并不是说开源软件就已经做到无懈可击,就已经绝对安全了,事实上也并不是这样,只要有软件存在,就可能出现安全性问题,这已经是业界达成共识的东西了。
问题的关键是,它们是在全球进行使用和开发,因此开源软件总是能够站在安全性的最前沿。
因为它的源代码是开放的,因此给人一种更放心的应用,对那些喜欢自己动手丰衣足食的人来说,开源软件能给自己一种信心。
更何况现在的开源,很大程度上是一种全球的智慧,是全体软件人员共同的兴趣和爱好的结晶。
虽然我们不能避免开源软件就没有安全问题,但是因为它的开放性以及共享性,因此它出现问题之后的解决速度将更快,而且堆积了大部分人智慧的锤炼,它的漏洞相对来说也要少一些。
这和商业软件是有本质的区别的,虽然商业软件号称是安全的,是不开放的,但是从发生的安全漏洞和受攻击的成功率方面来看,封闭并不意味着安全,相反,更容易激发那些黑客的兴趣,并不断地试探、攻击、骚扰着商业软件的安全度。
而开放了源代码,彼此之间大家都可以知道源代码是什么?因此对可能存在的问题以及自己需要进行的工作都可以很容易地上手研究。
这是开源的一个优势,也是网络时代共享精神的充分体现。
很显然,对软件的安全性问题,笔者更看好开源软件的发展。
“自由软件”和“开源软件”有什么区别? ?
什么叫开源软件?http://zhidao.baidu.com/question/1262597.html开源软件与自由软件?http://www.douban.com/group/topic/1037173/什么是自由软件?http://zhidao.baidu.com/question/4848713.html问题其实有很多人已经问过了,查查百度知道吧!
开源网站存在的问题有哪些
1997春天,自由软件社团的一些领导者聚集到加利福尼亚州。
这个社团包括EricRaymond,TimO'Rerlly,VA Research的总裁Larry Augustin等人,他们所关心的是一种寻找方式,来向以前躲避自由软件思想的人们推广这种思想。
他们担心,自由软件基金会的反商业信条会让人们对自由软件敬而远之。
在Eric Raymond的坚持下,这群人同意他们所缺乏的是市场营销活动,这个活动的目的是赢得思想,而不仅仅是市场份额。
最后讨论的结果产生了一个新的术语来描述他们所推进的软件:Open Source(开烦扰软件)。
他们制定了一系列的指导原则,用来描述哪些软件可以有资格被称为开源软件。
Bruce Perens 为制定开源软件的定义做了很多基础性的工作。
GNU工程的正式目标之一就是创造一个自由可用的操作系统,以作为平台来运行GNU软件。
从软件引导(softwera boottstrapping)的传统观点来看,Linux已经成为那个平台,L inux是在GNU工具的帮助下创造出来的。
Perens曾经是Debian工程的领导者,它所管理的Linux发行版本,只包括那些符合GNU精神的软件。
Perens已经在“Debian社会契约”(Debian Social Contract)中明确地阐明了这一立场。
开源软件的定义是“Debian社会契约”的直接产物,因此开源软件是与GNU的精神一脉相承的。
与GPL相比,开源软件的定义允许更大授权自由。
特别是当软件中混合了专有软件和开源软件时,开源软件的定义允许在它们的基础上生成更大的混合。
结果是,开源软件许可证能令人信服地允许使用和再分开开源软件,而不必考虑补偿或者信用问题。
举例来讲,你可以得到伟大的Netscape浏览器的源代码,并且把它作为连同另一个软件(可能是专有软件)一起发布出去,而用不着去通知网景(Netscape)公司。
网景为什么会希望如此呢?原因很多,最引人注目的是,这样做可以为他们的客户端代码赢得更大的市场份额。
这些代码与他们的商业软件一起工作得的非常好。
从这个角度来说,奉送源代码是建立平台的一个很好的方式。
这也是网景的人不使用GPL的原因之一。
这在社团中可不是小事一桩。
1998年下半年,曾经有一场重要的争论对Linux威胁极大,几乎Linux社团破裂。
裂痕是因出现了两个软件系统GNOME和KDE而引发的,它们两者都试图建立一个面向对象的桌面界面。
一方面,KDE利用了Troll Technology公司的Qt库,其中的一部分属于专有代码,但是很稳定、很成熟。
另一方面,GNOME决定使用GTK+库,尽管它不如Qt成熟,但是它是完全自由的库。
过去,Troll Technology不得不在使用GPL和维持他们的专有软件立场之间进行选择。
GNOME和KDE的裂痕本来会持续下去。
然而,在开源软件出现后,虽然Troll仍然控制他们想要的技术,但是Troll可以为希望Qt符合开源软件定义的人改变他们的许可证。
Linux社团两个重要部分的裂痕看来要弥合了。
开源软件的意义 在AMD追赶英特尔的漫漫长途中,一句广为流传的话是这样说的:“AMD的存在,不仅深受AMD客户的拥护,也是英特尔用户的福气,因为它打压了英特尔的高价垄断。
”同样,开源软件相对于商业软件也是同样的道理,尤其是对那些具有垄断性质的软件来说,开源软件更显其深远意义。
君不见在IBM、Sun等公司推动OpenOffice系统成为业界标准的进逼下,顽固如微软者也不得不把MS Office拿出来充公。
显然,随着开源软件的流行,商业软件不仅被压缩了发展空间,同时也促使软件商们不断地降低软件价格,给消费者带来了显而易见的利益。
身兼开放源代码应用基金会(OSAF)总裁和主席以及Mozilla基金会主席的Kapor先生就表示,这两个基金会并不是要创建新的杀手程序,而是要利用开源软件的模式削弱微软在网络浏览器和电子邮件软件领域的垄断地位。
事实上,对一些发展中国家,或者说那些软件业欠发达国家来说,开源软件还为他们制造了后发优势,提供了追赶和超越发达国家软件业的机会。
毕竟,对于像中国这样的发展中国家,软件业的发展严重滞后,完全依靠国内的资金和人才要想赶超像美国这样的软件大国,几乎是没有机会的,充其量只能是一种理想。
但是,如果能在基于开源软件的基础上加大投入的话,这种理想就有了实现的可能。
当然,不得不提的是,业界也有人怀疑,开源软件是否会扼杀国内软件人士的努力。
就像AMD前段时间向我们提供X86技术一样,有人担心会使国人失去研究龙芯的兴致。
还有人认为,像MS Office这样的软件如果都开源的话,那么微软们就不可能再投入大量的资金进行开发和升级,从而也会间接地阻碍软件业的发展。
这些言论有一定道理,但开源的意义就是为了挖掘新的产业模式,这种探索精神正是我们世代所鼓励的。
软件为什么要开源
开源软件有许多好处,总结起来,最重要的有三点。
首先,开源软件对用户的权利保护得更充分一些。
举例来说,如果有一天微软公司不复存在了,那么 Windows、Office 这些本来由微软公司负责维护的软件很可能由于没人维护下去而被淘汰,但开源软件却不存在这样的问题,开源软件不会因某个人不存在而变得停滞不前。
用户曾经花费巨资购买的 386、486 微机,现在却只能作为一堆废品来处理,原因就在于缺乏性能优异的应用软件来持续支持,但功能强大的自由软件却可以在这些 386、486 微机上跑得很好。
其次,开源软件由于发布很广,开源软件的问题更容易暴露出来,这使得当这些问题解决以后开源软件就变得更加完美。
最后,开源软件对用户个性化的需求更容易满足。
由于软件过多地引进了工程化管理,使得软件的标准化程度越来越高。
这固然可以增加软件的开发效率,但却使得人们都需要按照一个模式去操作软件。
正常人使用着很方便的软件,左撇子使起来就很别扭。
随着手机、PDA 等新产品的出现,这种个性化的需求会表现得更加强烈。
开源软件由于源代码是公开的,所以这些个性化需求更容易得到满足。
软件不能单纯用工程表现,在这个问题上,开源软件的开发方式给了人们很深的启示。
共创软件联盟的刘澎则指出,开源文化是人类几千年的智慧结晶,是一种必然的历史发展趋势,这种发展趋势是谁也阻挡不了的。
今天,已不可能有人会否认互联网所蕴含的价值,但人们有没有注意过互联网发展初期是一个什么样子呢?几十年前的互联网只是具备了一些核心的协议,应用价值也并没有显现出来,但这根本不会妨碍互联网发展成今天这个样子。
互联网在发展初期实质上就是一种开源的形式,今天的开源软件与此非常类似。
发展趋势本身就具有一种力量,Windows 之所以应用得这么广,在于它符合现代操作系统的标准。
现代操作系统的标准就是一种趋势,Linux 也符合这些标准,这使得 Linux 也将注定成为了一种优秀的操作系统。
刘澎同时认为:“目前开源软件的发展进入到了一个低谷的时期,这其实是开源软件发展的必经阶段。
因为开源软件的商业推广模式在创立初期就出现了问题,所以才有今天的发展低谷,可见这个低谷并没有超越于发展趋势之外。
我们在二十世纪九十年代中期就采用开源技术解决了路由技术,这个项目在商业上也获得了巨大的成功。
事实上,国内有许多开源项目,如 Hopen 等,都做得非常成功。
因此,面对暂时的困难,就认为中国无开源,认为开源没有希望,是一种敷浅的表现。
中国工程院院士倪光南指出:“从产业层面看,以 Linux 为代表的开源软件增强了我国软件业讨价还价的能力,并且使得软件的市场空间增大了。
我们必须看到,国产 CPU 必须有 Linux 支持,否则就会因使用范围太窄而不能投入实际应用。
” 开源的本质 在许多人眼中,开源就意味着只有付出而没有任何回报,然而,开源的本意却是“ When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves ”(只要程序员对软件的某一部分实现阅读、重新分发和修改代码,即可称作开源)。
既使是要求极为严格的GPL协议,也仅要求使用GPL源码这个部分开源,而 BSD 协议则仅仅要求在 End User License 中,保留原来的协议就可以了。
由此看来,开源软件同样可以做到“别人怎么赚钱,我们也怎么赚钱”,开源与商业利益并是完全对立的。
在国内保障体系还不完善的情况下,国内的软件公司和程序员完全可以利用开源软件解决吃饭和生存的问题。
而开源软件也并不只包含 Linux 这样的系统软件,目前热门的 ERP、CRM 乃至知识管理、商业智能同样可以基于开源软件开发。
对程序员个体而言,加入开源社区也并非一无所获。
国外许多程序玩家通过社区的锻炼获益匪浅,功成名就者也不乏其人。
国内的软件工程技术人员参与过大型开发项目的少而又少,中软 COSIX 项目尽管归于失败,但通过这个项目培养出来的参与过大型项目开发的人员已被几大外资软件公司瓜分殆尽。
而现实的问题却是,一方面程序人员抱怨没有项目可供练手,另一方面却又不愿加入开源社区得到锻炼。
无论国内的程序员有着什么样的想法,开源社区却绝对不失为获得大型开发项目经验和扬名立万的良好场所。
对软件公司来说,开源还是增加软件需求的好方法。
软件发展到今天,由于过多地引入了工程方法,使得软件越来越趋于标准化。
对个人用户而言,同样的软件,用惯右手的人使用起来得心应手,然而左撇子用起来却怎么使怎么别扭。
而对企业用户而言,管理软件的使用必然伴随着管理方式的变化,然而,并不是说管理软件带来的总是适合用户的管理变革,这时用户就会提出系统必须要和管理实现互动的要求,显然,开源软件处理这类问题更为方便。
与国内软件公司远离开源的情况相反, Sun 公司把 Solaries 操作系统的源代码毫无保留地公开给了业界,微软也已宣布将把投入巨资开发的 Windows CE 的 70% 的源代码以 5 美元的象征性价格出让给业界。
微软公司和 Sun 公司当然明白这样做带来的好处,...
缺陷跟踪系统的目前主流的缺陷跟踪系统
URTracker 是一款优秀的国产缺陷跟踪系统软件。
相比较其他的缺陷跟踪软件,URTracker提供一些非常必要的其他特性,如:自定义字段功能、自定义流程功能、灵活的权限控制、丰富的通知和提醒、全中文操作、导入导出、协作处理等。
[ 目前缺陷跟踪系统还是比较多的,比较有名的像Mercury的TestDirector,Seapine的Test Track Pro,TechExcel的DevTrack,Atlassian的JIRA以及今天要重点介绍的Mantis。
目前缺陷跟踪系统还是比较多的,比较有名的像Mercury的TestDirector,Seapine的Test Track Pro,TechExcel的DevTrack,Atlassian的JIRA以及今天要重点介绍的Mantis。
l TestDirector在 工业级软件项目领域,由于Mercury是测试软件领域的老大(比较有名的如LoadRunner、WinRunner等),因此它的TD也成为了缺陷跟 踪系统的标杆产品。
其也是最早通过Web方式来进行管理的缺陷跟踪软件。
不过由于其早期版本不能灵活的对项目管理流程进行配置,又由于其昂贵的价格,因此 目前应用的企业也不是很多。
l Test Track ProSeapine 公司主要也是做项目管理软件的,Test Track Pro同其同门配置管理产品Surround SCM可以完美结合并实现完整的代码级管理。
其主要架构为Client/Server,同时提供了CGI的Web访问接口,不过其高昂的价格也会让很多公 司望而却步。
其License分为两种,Named和Floating,分别为US$295和US$795。
l DevTrackTechExcel 可以说是CRM系统以及HelpDesk系统的老大,它的产品在很多大公司(如Oracle、IBM等)里面都有应用,最新发布的DevTrack功能也 确实强大,在其项目配置的部分可以提供用户对各级项目相关人员的UI进行配置,同时也提供了最大的灵活度给客户,可视化自定义跟踪流程可以实现任何复杂的 配置处理。
与Test Track Pro相比,其功能可谓更胜一筹,用他们自己的话讲:“DevTrack – The market leading defect and project tracking tool from TechExcel”。
官方网站上没有详细的报价,只是对其SBE(Small Business Edition)有一个大概的报价是含维护费每人每年149美金。
其价格也确实符合其产品的层次。
l JIRAJIRA 是目前比较流行的基于Java架构的缺陷跟踪系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他 的产品要高得多,而且易用性也好一些。
同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。
正因为其开放性,价 格上自然也相当不菲,对于中小型的软件企业做项目管理,则又要另寻出路。
l MantisMantis 是一个基于PHP技术的轻量级的缺陷跟踪系统,其功能与前面提及的JIRA系统类似,都是以Web操作的形式提供项目管理及缺陷跟踪服务。
在功能上可能没 有JIRA那么专业,界面也没有JIRA漂亮,但在实用性上足以满足中小型项目的管理及跟踪。
更重要的是其开源,不需要负担任何费用。
不过目前的版本还存 在一些问题,期待在今后的版本中能够得以完善。
Mantis安装准备 Mantis采用了目前比较流行的LAMP(Linux + Apache + MySQL + PHP)架构,不过也可以通过各个软件的Windows版本进行配置。
本文中的运行环境就是基于Windows平台搭建的。
Mantis安装的软件环境:OS:Windows 2003 ServerApplication Server:Apache HTTP Server 2.0.54 or laterDatabase Server:MySQL 5.0.10a Beta or laterLanguage:PHP 5.1.2Mantis:Mantis 1.0.0
王二爷14336586