开源软件的定义和实例
æ½®å·å¸å ´ä¸é¶ç·æéå ¬å¸ä¼ä¸å®£ä¼ ç
目录:
开源软件(OSS)是任何类型的计算机软件,其源代码可以进行修改。这意味着它通常包括程序员以他们选择的任何方式更改软件的许可证:他们可以修复错误,改进功能或调整软件以满足他们自己的需要。
开源软件标准
开源倡议组织(OSI)是一家成立于1998年的全球性非营利组织,是OSS的主要权威机构。它对开源软件的定义包括10个标准,涉及以下事项:
- 软件再分配
- 源代码可用性和完整性
- 许可证的分发和属性
- 派生作品
- 反歧视
许可证
不同的许可证允许程序员在附加各种条件的情况下修改软件。 Black Duck KnowledgeBase是一个包含大约200万个开源项目的数据库,其中五个最受欢迎的许可证是:
- MIT许可证
- GNU通用公共许可证(GPL)2.0
- Apache License 2.0
- GNU通用公共许可证(GPL)3.0
- BSD许可证2.0(3条款,新的或修订的)
更改源代码时,OSS要求包含您更改的内容以及方法。代码修改后创建的软件可能会或可能不会免费提供。
开源软件与商业软件
商业上可用的软件,即商业或专有软件,不允许访问其源代码,因为该软件是其他人的知识产权。因此,用户经常为此付费。另一方面,OSS是一项协作努力;该软件是所有帮助开发或改进它的人的共享知识产权。
开源软件与自由软件
虽然这些术语经常互换使用,但OSS与自由软件略有不同。两者都处理下载和修改软件的能力,没有限制或收费。然而,自由软件 - 由麻省理工学院计算机科学研究员Richard Stallman在20世纪80年代开发的概念 - 由非营利性自由软件基金会概述的四个条件定义。这些“四项自由”强调了用户在他们认为合适时使用和享受软件的能力。
相比之下,开源计划十年后开发的OSS标准更加强调软件的修改,以及改变源代码,许可和分发的后果。
显然,两者重叠;有人会说OSS和自由软件之间的差异更具哲学性而非实际性。但是,两者都不应与免费软件混淆。免费软件通常是指用户可以免费下载的专有软件,但其源代码无法更改。
开源软件的优势
虽然缺乏成本是一个关键优势,但OSS还有几个额外的好处:
- 当源代码传递,测试和修复时,其质量可以轻松地大大提高。
- 它为程序员提供了宝贵的学习机会。他们可以将技能应用于当今最流行的程序。
- 它比专有软件更安全,因为可以快速识别和修复错误。
- 由于它处于公共领域,并且不断更新,因此很少有机会变得不可用或很快过时 - 这对于长期项目来说是一个重要的优势。
流行的开源软件类型
开源技术帮助建立了大部分互联网。此外,每天使用的许多程序都基于开源技术。举个例子:Android OS和Apple的OS X分别基于内核和Unix / BSD开源技术。
其他流行的开源软件是:
- Mozilla的Firefox网络浏览器
- Thunderbird电子邮件客户端
- PHP脚本语言
- Python编程语言
- Apache HTTP Web服务器
开源软件和开发人员
OSS项目是提高技能和建立联系的合作机会。开发人员可以使用的领域包括:
- 通讯工具。 电子邮件,实时消息,论坛和维基可帮助开发人员找到解决方案或互相反映想法。
- 分布式版本控制系统。 当不同地理位置的多个开发人员修改数据和文件时,这些系统会管理不同的版本和更新。
- 错误跟踪器和任务列表。 这些功能允许大型项目监控问题并跟踪其修复。
- 测试和调试工具。 这些功能可在系统集成期间自动执行测试并调试其他程序。
底线
开源软件是专有软件的替代品。参与OSS项目可以成为建立软件开发职业生涯的途径,允许程序员通过研究世界上最大的软件程序来磨练自己的技能。 Facebook,Google和LinkedIn都发布了OSS,因此开发人员可以分享知识,创新解决方案,并为稳定,实用的产品做出贡献。