当前位置:首页 » 操作系统 » 开源码

开源码

发布时间: 2022-02-05 16:40:52

① 开源代码是什么意思

一句话来说,开源指的是那些源代码或源设计可以被大众使用、修改发行的软件或设计体。

大众最熟悉的开源软件就是安卓,相信用非苹果的智能手机用户,现在每天用的肯定都是安卓,它也是现在影响力最大的开源软件之一,如果没有安卓的开源开放,相信今天没有那么多手机厂商和移动互联网的兴起。

如果只是从生态的角度来说,苹果的生态也很开放,现在他们也推出了开源Swift。从这方面来说,其实两者都是一样的,只是开源、开放的方式方法不太一样。

linux 无疑是开源软件里最最成功的一个,不管是从它目前的生态建设角度,还是从业界评价来看,包括今天云计算的基础也都倚赖Linux的贡献和基石。当然,像OpenStack、Hadoop 、Spark等也非常成功,这些开源项目都属于底层技术,在支撑今天整个大数据、云计算的发展。

(1)开源码扩展阅读:

开源并不意味着免费,开源只是说我们做了一个好东西,把它开放给大家使用,目的是希望大家更多地使用它,并反馈使用过程中的问题或者改进方式,使得整个开源项目进步得更快,能够更好地共享给更多有需要的人,目前像 Linux、Hadoop、Spark等等,都是这么做的。但很多时候开源背后还是带有很浓厚的商业背景。

做得比较大的开源项目背后都有商业公司在支撑,如果一个成功的开源项目背后没有商业公司,这是不健康的,我们需要开源和商业之间的互补对称来促进整个社区和技术的不断前进答。

② 怎么证明代码是开源还是不开源

是否开源,要看源码发布的授权协议。

1.BSD开源协议(original BSD license、FreeBSD license、Original BSD license)

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

  • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

  • 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

  • BSD 代码鼓励代码共享,但需要尊重代码作者的着作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

2. Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)

Apache Licence是着名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的着作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

  • 需要给代码的用户一份Apache Licence

  • 如果你修改了代码,需要再被修改的文件中说明。

  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。

  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

  • Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

3. GPL(GNU General Public License)

我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

4.LGPL(GNU Lesser General Public License)

LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。

但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

5.MIT(MIT)

MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.

③ 开源是什么意思啊随便说两句就行求大神帮助

简介 开放源代码的定义由Bruce Perens(曾是Debian的创始人之一)定义如下: 自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布.源代码(Source Code):程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码.衍生着作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布.原创作者程式源代码的完整性(Integrity of The Author's Source Code):意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性.不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口).对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用.散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之.授权条款不得专属于特定产品(License Must Not Be Specific to a Proct):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件.授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光盘片),不得限制其他软件的授权条件也要遵照开放源代码的授权.授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效. 开放源代码与自由软件 许多人将开放源代码与自由软件(freeSoftware)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义. 开源软件定义Version 1.9 开源不仅仅表示开放程序源代码.从发行角度定义的开源软件必须符合如下条件: 1、自由再发行 许可证不能限制任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件.许可证不能要求对这样的销售收取许可证费或其他费用. 2、程序源代码 程序必须包含源代码.必须允许发行版在包含编译形式的同时也包含程序源代码.当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过 Internet免费的下载源代码.源代码必须是以当程序员修改程序时优先选用的形式提供.故意地扰乱源代码是不允许的.以预处理程序或翻译器这样的中间 形式作为源代码也是不允许的. 3、派生程序 许可证必须允许更改或派生程序.必须允许这些程序按与初始软件相同的许可证发行. 4、作者源代码的完整性 只有当许可证允许在程序开发阶段,为了调整程序的目的将"修补文件"的发行版与源代码一起发行时,许可证才能限制源代码以更改后的形式发行.许可证必须明确地允许按更改后的源代码所建立的程序发行.许可证可以要求派生的程序使用与初始软件不同的名称或版本号. 5、无个人或团体歧视 许可证不能都有针对任何个人或团体制在专门奋斗领域内的任何人使用该程序.例如不能限制程序应用于商业领域,或者应用于遗传研究. 7、许可证发行 伴随程序所具有权力必须适用于所有的程序分销商,而不需要这些团体之间再附加许可证签字盖章. 8、许可证不能特制某个产品 如果程序是某个特殊的软件发行版中的一部分,伴随该程序所具有的权力不能只以来于这一发行版.如果程序是从那一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力. 9、许可证不能排斥其他软件 许可证不能限制随该许可证软件一起发行的其他软件.例如,许可证不能要求所有与之一起发行的其他软件都是开源软件. 10、许可证实例 GNU GPL、BSD、X Consortiun和Artistic许可证都是我们认为符合开源软件定义的许可证.MPL也是一样. 1.9版的英文原文: The Open Source DefinitionVersion 1.9 The indented, italicized sections below appear as annotations to the Open Source Definition (OSD) and are not a part of the OSD. Introction Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria: The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 1. Free Redistribution Rationale: By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a proct is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproction cost–preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. Rationale: We require access to un-obfuscated source code because you can't evolve programs without modifying them. Since our purpose is to make evolution easy, we require that modification be made easy. 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. Rationale: The mere ability to read source isn't enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications. 4. Integrity of The Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. Rationale: Encouraging lots of improvement is a good thing, but users have a right to know who is responsible for the software they are using. Authors and maintainers have reciprocal right to know what they're being asked to support and protect their reputations. Accordingly, an open-source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, "unofficial" changes can be made available but readily distinguished from the base source. 5. No Discrimination Against Persons or GroupsThe license must not discriminate against any person or group of persons. Rationale: In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open-source license from locking anybody out of the process. Some countries, including the United States, have export restrictions for certain types of software. An OSD-conformant license may warn licensees of applicable restrictions and remind them that they are obliged to obey the law; however, it may not incorporate such restrictions itself. 6. No Discrimination Against Fields of EndeavorThe license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it. 7. Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. Rationale: This clause is intended to forbid closing up software by indirect means such as requiring a non-disclosure agreement. 8. License Must Not Be Specific to a ProctThe rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. Rationale: This clause forecloses yet another class of license traps. 9. License Must Not Restrict Other SoftwareThe license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. Rationale: Distributors of open-source software have the right to make their own choices about their own software. Yes, the GPL is conformant with this requirement. Software linked with GPLed libraries only inherits the GPL if it forms a single work, not any software with which they are merely distributed. 10. License Must Be Technology-NeutralNo provision of the license may be predicated on any indivial technology or style of interface. Rationale: This provision is aimed specifically aimed at licenses which require an explicit gesture of assent in order to establish a contract between licensor and licensee. Provisions mandating so-called "click-wrap" may conflict with important methods of software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such provisions may also hinder code re-use. Conformant licenses must allow for the possibility that (a) redistribution of the software will take place over non-Web channels that do not support click-wrapping of the download, and that (b) the covered code (or re-used portions of covered code) may run in a non-GUI environment that cannot support popup dialogues. 关于开放源代码的定义(1.7版) 开放源代码并不仅仅意味着对源代码的访问权.开放源代码软件的发布条款必须满足以下条件: 1. 自由地再发布 如果被发布的软件是由不同来源的程序组成的,许可证不得限制任何当事人或组织(party)销售或赠送作为被发布软件成分之一的开放源码软件. 许可证不得从此项

④ 开源代码是什么,怎么用

开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。

一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程序的原始码。

有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放源代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。


(4)开源码扩展阅读:

开放源代码软件放弃了以下着作权人所享有的权利:

1、作品复制权:

接受某种开放源代码软件公共许可协议的用户,对于初始软件作品可以自由复制,也放弃了自己对初始软件作品修改完善以后衍生版本软件的复制限制权利。

2、作品修改权:

接受某种开放源代码软件公共许可协议的用户,在依照协议复制了原软件作品的目标代码和源代码以后,可以对原软件作品在源代码上进行修改,并且对修改后的衍生软件作品,又要遵循先前已有的公共许可协议向后续的用户明确放弃修改权,赋予后续用户继续修改的权利。

3、作品传播权:

接受某种开放源代码软件公共许可协议的用户,在自由地获取了依照该协议发布的软件作品,并进行了相关的修改完善之后,有依照该协议继续无条件向后续用户发布初始软件作品以及修改后软件作品的义务。

⑤ 代码开源

代码开源是说做那个系统所用的原代码都要公开,任何人可以自己去修改去做自己的系统,有一点要求就是修改后的原代码也要公开。简单点就是没有什么侵犯版权的问题。任何人可以自己封装自己出售

⑥ 什么是开源代码

开放源代码软件源于自由软件开源运动,简称开源软件。是指那些源代码公开,可以被自由使用、复制、修改和再发布的一系列软件的集合。开源软件许可证,是对开源软件进行规范的授权合同,也可以称为授权协议书。其类别繁多,在选择适用上,了解彼此的权利让渡程度是其关键因素。

开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再分发的权利。

简而言之,所有公布软件源代码的程序都可以称为开放源代码软件。 开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。

(6)开源码扩展阅读:

源代码好处:

1、它们能降低企业部署网络和各种服务的成本,如果采用开源方案,你只需要一台服务器,其他的都可以免费,而用windows,你必须花钱购买操作系统(假设没有盗版)。

2、可以在源代码的基础上进行二次开发,完善或丰富现有系统功能。

3、参考学习。通过分析源代码,可以学习开发、了解开发者的思路,学习开发者如何通过巧妙的方式、算法解决业务问题,阅读源代码是提高开发水平的快捷方式。

⑦ 软件开源是什么意思

开放源代码与自由软件
许多人将开放源代码与自由软件(freeSoftware)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义。 开源软件定义Version 1.9 开源不仅仅表示开放程序源代码。从发行角度定义的开源软件必须符合如下条件:
1、自由再发行
许可证不能限制任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件。许可证不能要求对这样的销售收取许可证费或其他费用。
2、程序源代码
程序必须包含源代码。必须允许发行版在包含编译形式的同时也包含程序源代码。当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过 Internet免费的下载源代码。源代码必须是以当程序员修改程序时优先选用的形式提供。故意地扰乱源代码是不允许的。以预处理程序或翻译器这样的中间 形式作为源代码也是不允许的。
3、派生程序
许可证必须允许更改或派生程序。必须允许这些程序按与初始软件相同的许可证发行。
4、作者源代码的完整性
只有当许可证允许在程序开发阶段,为了调整程序的目的将“修补文件”的发行版与源代码一起发行时,许可证才能限制源代码以更改后的形式发行。许可证必须明确地允许按更改后的源代码所建立的程序发行。许可证可以要求派生的程序使用与初始软件不同的名称或版本号。
5、无个人或团体歧视
许可证不能都有针对任何个人或团体制在专门奋斗领域内的任何人使用该程序。例如不能限制程序应用于商业领域,或者应用于遗传研究。
7、许可证发行
伴随程序所具有权力必须适用于所有的程序分销商,而不需要这些团体之间再附加许可证签字盖章。
8、许可证不能特制某个产品
如果程序是某个特殊的软件发行版中的一部分,伴随该程序所具有的权力不能只以来于这一发行版。如果程序是从那一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力。
9、许可证不能排斥其他软件
许可证不能限制随该许可证软件一起发行的其他软件。例如,许可证不能要求所有与之一起发行的其他软件都是开源软件。
10、许可证实例
GNU GPL、BSD、X Consortiun和Artistic许可证都是我们认为符合开源软件定义的许可证。MPL也是一样。

⑧ 开源代码是什么意思

开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放原代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。

⑨ 什么是开源(开放源代码)

一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程式的源代码。有些软件的作者会将源码公开,此称之为“源码公开”,但这并不一定符合“开放源代码”的定义及条件,因为作者可能会设定公开源代码的条件限制,例如限制可阅读源代码的对象、限制衍生品等。 开源即开放源代码(英文:Open Source)指一种软件散布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程式的源代码。

热点内容
诺基亚密码忘了打什么电话 发布:2024-09-17 03:27:09 浏览:555
树深度优先算法 发布:2024-09-17 03:26:58 浏览:472
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:785
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662