主要区别——开源与专有软件
开源软件和专有软件的关键区别在于,开源软件发布源代码,而专有软件保留源代码。在最近的一段时间里,开源软件有了长足的发展。开源软件已经成为软件行业的主要参与者。这在经济方面也产生了重大影响。在许多领域,开源软件的服务质量优于专有软件。
软件将由两部分组成:源代码和目标代码。源代码可以由程序员编写,他们将能够理解代码的含义和它可以执行的内容。基本编程语言可以用来创建这样的代码。通过使用编译器,这些源代码被转换成目标代码,目标代码由计算机读取和执行的位组成。编译器是一个专用于转换任务的软件程序。
如果需要修改软件,源代码必须相应地更改。目标代码在这方面没有用处,因为对它的更改不会影响软件程序。这就导致了开源软件和专有软件之间的关键区别:源代码的可访问性。
什么是开源软件(open source software)?
RichardStallman是1984年开发自由软件的第一人。这个自由软件可以根据用户的喜好进行更改和修改。用户可以自由修改、更改和共享源代码。这是根据与用户或特定组织签订的许可协议完成的。开源软件有一些特性需要注意。分发可以自由进行,源代码是可访问的,源代码可以修改,这些相同的修改也可以分发。
开源软件能够通过支持社区和它所采用的开发策略来发展。这反过来提高了软件的质量,同时也鼓励社区的积极参与。由于上述特点,那些推广专有软件的公司现在正在采用开源软件。UNIX内核是开源项目中使用最多的内核之一。
什么是专有软件(proprietary software)?
专有软件是唯一的,因为分发只能由软件的作者完成。同一软件可以在根据许可协议购买该软件的人的计算机上运行。外人将无法访问此软件的源代码。软件所有者将是唯一能够修改软件以及添加或删除软件功能的人。购买软件的人将受到许可协议的约束,禁止他们复制、分发或修改软件。升级只能由软件的创建者完成,这些升级也只能由用户购买,这就是所谓的锁定效应。
开源软件(open source software)和专有软件(proprietary software)的区别
开源软件和专有软件的定义:
开源软件:任何人都可以修改或增强其源代码的软件。
专有软件:个人或公司专有的软件。
开源软件和专有软件的特点:
源代码(主要技术差异):
开源软件:开源软件发布源代码
专有软件:专有软件不发布源代码,只发布目标代码。
源代码的分发、修改:
开源软件:开源软件源代码可以修改和分发*
专有软件:专有软件不能修改或分发**
*促进了软件源代码的分发。取消了对软件的限制,以使软件达到最佳水平。
**由于开源软件所带来的竞争,专有软件采用了不同的方法来应对它。在某些情况下,源代码是可见的,用户可以修改,但不能分发。在这些情况下,代码被修改以满足用户的需求,同时保护软件所有者的权利。
可用性:
开源软件:开源软件没有经过专家评审,缺乏技术背景,
专有软件:专有软件由专家评审和技术支持支持。
文档:
开源软件:开源软件缺乏文档,可以通过在线社区和论坛学习。
专有软件:专有软件有很好的文档记录。
发展:
开源软件:开源软件是由用户和开发人员共同开发的,因此软件将是高效的、适应性强的。
专有软件:专有软件,开发人员,不要使用对用户的改进和功能降低的软件。
版本:
开源软件:开源软件发布常规版本。
专有软件:专有软件版本发布相对耗时。
开发者支持:
开源软件:开源软件得到了许多开发者的支持,从而带来了创新、效率、自由和灵活性。
专有软件:依赖研发的专有软件
安全
开源软件:开源软件更容易出现安全风险。
专有软件:专有软件不太容易受到病毒和bug等安全风险的影响。
升级:
开源软件:开源软件升级是免费的。
专有软件:专有软件升级有时是要付出代价的。
开源与专有软件
小结: