这些包括:
- 软件重新分配
- 源代码可用性
- 许可证的分发
- 许可证属性
- 反歧视
许可证
不同的许可证允许程序员用附加的各种条件修改软件。 OSI批准符合其开源软件定义的许可证。 根据黑鸭知识库,最受欢迎的许可中有5个是:
- MIT许可证
- GNU通用公共许可证(GPL)2.0
- Apache许可证2.0
- GNU通用公共许可证(GPL)3.0
- BSD许可2.0(3条款,新增或修订)
当您更改源代码时,OSS的一项要求是包含您更改的内容以及您的方法。 代码修改后创建的软件可能会或可能不会免费提供。
开源软件与商业软件的区别
商业上可用的软件或专有软件不能访问其源代码,因为该软件是他人的知识产权。
结果,用户经常付钱。
另一方面,OSS是一项协作努力 - 该软件是所有帮助开发或改变软件的人共享的知识产权。
开源软件与VS 免费软件
与普遍的看法相反,它们都不关注项目的成本或缺乏成本。
开放源代码需要免费提供源代码和分发。 自由软件以类似的方式包括代码修改,但强调用户喜欢使用自己喜欢的软件的自由。 自由软件基金会概述了软件被视为完全免费的4个条件。
另外,该软件可以被分类为免费软件。 这意味着用户可以免费下载软件,但不能对其源代码进行任何更改。
开源软件的优势
虽然成本是一个驱动因素,但OSS还有其他好处:
- 当源代码被传递,测试和修复时的高质量结果。
- 对程序员来说这是一个宝贵的学习机会 。 他们可以学习和应用当今最流行的课程。
- 许多人认为开放源代码软件比专有软件更安全,因为错误被迅速识别和修复。
- 由于开放源代码软件处于公有领域,因此很少有可能变得不可用。 这对于在项目期间依赖这些工具的长期项目很重要。
- 大部分软件都是免费的。 但是,费用可能稍后会出现,例如订阅或支持费用。
流行的开源软件类型
开源技术帮助建立了大部分的互联网。 而且,我们每天使用的许多程序都基于开源技术。 例如,Android OS和Apple OS X分别基于内核和Unix / BSD开源技术。
其他流行的开源软件是:
开源和开发人员
OSS项目是合作机会,可以提高技能并建立现场连接。 开发人员必须熟练掌握开源开发的标准工具。
- 沟通工具 - 电子邮件,实时消息,论坛和维基帮助开发人员找到解决方案或彼此反弹的想法。
- 分布式修订控制系统 - 当不同地理位置的多位开发人员修改数据和文件时,这些系统管理不同的版本和更新。
- Bug跟踪器和任务列表 - 允许大型项目监视问题并跟踪其修复。
- 测试和调试工具 - 在系统集成和调试其他程序期间自动执行测试。
结论
成千上万的开源项目是专有软件的替代品。 开发一个OSS项目作为构建软件开发职业生涯的途径。 另外,程序员可以通过编写世界上最大的软件程序来磨练自己的技能。 Facebook,Google和LinkedIn发布开源软件,开发人员可以分享知识,创新解决方案并为稳定,功能性产品做出贡献。