什么是开源软件
开源软件,英文表示是open source software,简称为OSS,直接的字面意思是公开源代码的软件。软件既然连源代码都公开,因此开源软件具备可以免费使用和公布源代码的主要特征。
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社团两个重要部分的裂痕看来要弥合了。
什么是开源软件和不开源软件?
开源软件就是源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。这种开发模式其实,国内大部分的软件都有使用。而不开源软件则是不能随意进行更改的,一般是属于保密的,只有公司的开发者才能进行更改。这种开发模式大型的互联网公司,一般都是采用这种,比如微软、支付宝等等。
开源软件有哪些??
太多了,linux下的软件基本全部都是开源软件。
windows下也有许多开源软件,例如firefox,7zip,grub4dos
开源软件
其实是一种文化。就是开源厂商的一切产品都是开放源代码的,有一定技术水平的人或者公司可以看懂这个产品到底是怎么实现的。也就是说技术是公开的,这样有利于促进产品的完善和多元化。Google也算是开源阵营里的,微软就不是,是典型的传统的软件厂商,自己的技术是不开源的,保密的
软件开源是什么意思?
开放源代码与自由软件
许多人将开放源代码与自由软件(freeSoftware)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义。 开源软件定义Version 1.9 开源不仅仅表示开放程序源代码。从发行角度定义的开源软件必须符合如下条件:
1、自由再发行
许可证不能限制任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件。许可证不能要求对这样的销售收取许可证费或其他费用。
2、程序源代码
程序必须包含源代码。必须允许发行版在包含编译形式的同时也包含程序源代码。当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过 Internet免费的下载源代码。源代码必须是以当程序员修改程序时优先选用的形式提供。故意地扰乱源代码是不允许的。以预处理程序或翻译器这样的中间 形式作为源代码也是不允许的。
3、派生程序
许可证必须允许更改或派生程序。必须允许这些程序按与初始软件相同的许可证发行。
4、作者源代码的完整性
只有当许可证允许在程序开发阶段,为了调整程序的目的将“修补文件”的发行版与源代码一起发行时,许可证才能限制源代码以更改后的形式发行。许可证必须明确地允许按更改后的源代码所建立的程序发行。许可证可以要求派生的程序使用与初始软件不同的名称或版本号。
5、无个人或团体歧视
许可证不能都有针对任何个人或团体制在专门奋斗领域内的任何人使用该程序。例如不能限制程序应用于商业领域,或者应用于遗传研究。
7、许可证发行
伴随程序所具有权力必须适用于所有的程序分销商,而不需要这些团体之间再附加许可证签字盖章。
8、许可证不能特制某个产品
如果程序是某个特殊的软件发行版中的一部分,伴随该程序所具有的权力不能只以来于这一发行版。如果程序是从那一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力。
9、许可证不能排斥其他软件
许可证不能限制随该许可证软件一起发行的其他软件。例如,许可证不能要求所有与之一起发行的其他软件都是开源软件。
10、许可证实例
GNU GPL、BSD、X Consortiun和Artistic许可证都是我们认为符合开源软件定义的许可证。MPL也是一样。
参考资料:http://baike.baidu.com/view/9664.html?wtp=tt
开源软件
什么是开源软件
开放源代码软件(open source software,简称:Oss或开源软件)是一种源代码公开的软件,这种“公开”正是促使人们使用它的原因,因为这意味着用户可以自由的使用、复制、散发以及修改源码(补充漏洞,按具体需求定制功能)。与其相对是私有/专属软件,如来自微软和苹果的软件,这类软件的源代码是保密的,只有公司的开发人员才可以改动代码。
eMule是使用C++开发的。
楼主想学习编程开发软件的话。这个不是一朝一夕的事情。(现在it行业里,你要应聘一个公司,人家首先问你的就是有几年的开发经验)
但是,也不要把编程看成多么困难的事情。只要你肯努力,就算不能达到比尔盖茨那样的水平,但是也会成为一个出色的程序员。
学习前,请先确定自己对这方面有很大的兴趣,或者以后希望从事it行业,否则,大可没有深入学习的必要(兴趣不大,学学C就好)。
学习的话,建议从基础学起。
首先学习C语言,推荐教材:<C语言程序设计>作者 谭浩强。个人觉得,这本虽然不如,《C程序设计语言》(机械的翻译书籍),但是,非常适合初学者,尤其中国式教育的初学者。
C,是学习所有语言的基础。如果,你很好的掌握了C语言,那么学习其他的,就非常容易上手了。当然,如果你想直接学习Java或其他语言也可以的。
以后的编程方向 ,你可以选择Java、.NET,这两个算是最主流的,本人必将倾向于Java。其他的还有VC,VB,Delphi等等。以后做什么,就看自己的了,喜欢什么,就可以选择什么。
学Java的话,推荐书籍<Thinking in Java>,入门书籍。
这些书籍,都有电子版的,但是不推荐使用。盯着电脑看书,对眼对身体都是不好的。还费电。而且,我是看不下去的,看一小段,就玩其他的了。
最后,建议入门的话,找个老师或者培训机构学习。毕竟没接触过,有人教还是很方便的,而且,比自己看书要快得多。
另外,学习过程中,尽量的都掌握好。没工作的话学习的都是很基础很基础的,基础是要打好的。
ps:个人见解,希望可以帮助楼主解决问题。
永久闭源免费软件是什么意思
闭源(Closed source)是发明作为开源的反义词的一个术语和被用于指任何没有资格作为开源许可术语的程序。一般地,它意味着将仅获得它们许可的计算机程序的一个二进制版本而没有这个程序的源代码,软件的翻译修改从技术方面几乎是不可能的。这个发展模型的源代码被看作这个公司的商业秘密,因此可能获得源代码接入的团体,例如学校,必须提前签订不泄漏协议
开源软件相比闭源软件,有哪些优势和劣势
开源了就意味着大家都可以提高改进代码,有利于软件的自我完善和发展,比如牛逼的linux。劣势就是你对开源软件缺乏掌控力,对于盈利来说很重要
转载请注明出处51数据库 » 闭源软件 开源软件是什么意思