开源软件是什么

子凡 2018-12-30 12:38:23
问答

开源软件(OSS)是与源代码一起分发的软件,可以由用户读取或修改。普遍开源软件应符合自由分发、源代码必须包含在程序中、任何人都必须能够修改源代码、可以重新分发源代码的修改版本等标准。

开源软件(OSS)是与源代码一起分发的软件,可以由用户读取或修改。

open-source

OSS 社区普遍认为开源软件应符合以下标准:

  • 该计划必须自由分发
  • 源代码必须包含在程序中
  • 任何人都必须能够修改源代码
  • 可以重新分发源代码的修改版本

同样,开源软件许可证不得要求排除或干扰其他软件的运行。与以不可更改的编译格式分发的传统软件不同,开源软件以编译和非编译格式提供,允许开放代码修改。在传统的软件许可中,此特权将保留给版权所有者。

并非所有软件开发人员都赞成使用开源软件,但许多软件开发人员已经接受了它,因为它可以更快地修复软件问题,最终可能会带来更高质量的应用程序。

许多人将开放原始码与自由软体(Free Software)视为相同,但若以定义条件而言,自由软体仅是开放原始码的一种,也就是自由软体的定义较开放原始码更为严格,并非开放原始码的软体就可称为自由软体,要视该软体的授权条件是否合乎自由软体基金会对自由软件所下的定义:

自由软体是在电脑为个人或为公共利益,而非私人公司或政府等企图限制或监视我们工作时,我们在家、学校、公司使用时,我们具有其控制权。

开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有 Linux 操作系统。

严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守 GPL 和 BSD 许可的软件都是开放的并且是自由的。

「开放源代码软件运动」是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • HAProxy

    HAProxy,强大的负载均衡和代理工具

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 可以在多个服务器之间分配客户端请求,通过这种方式提高应用程序的高可用性、负载均衡和性能。HAProxy广泛应用于提供高可靠性和高性能的Web服务,尤其是在处理大量并发连接时表现出色。
  • Nginx

    Nginx,轻量级的高并发开源Web服务器软件

    Nginx是一款高性能的开源Web服务器软件,广泛应用于静态内容处理、反向代理和负载均衡等场景。以其高效的事件驱动架构、低资源消耗、灵活的配置能力和优秀的安全特性著称,Nginx能够支持极高的并发连接,适合各种规模的应用,从小型个人项目到大型企业级应用。
  • Apache Tomcat

    Tomcat,开发调试JSP程序首选Web服务器环境

    Apache Tomcat是一个开源Java Servlet容器,广泛应用于开发和部署Java Web应用。它以轻量级、高性能和易于使用著称,支持Servlet、JSP、EL和WebSocket技术,提供安全管理功能。与Jetty、GlassFish和WildFly等其他容器相比,Tomcat适用于各种规模的项目,特别受中小型企业和个人开发者欢迎。
  • HeidiSQL

    HeidiSQL,功能强大的数据库管理客户端软件

    HeidiSQL是一款开源且功能强大的数据库管理工具,支持MySQL、MariaDB、SQL Server等多种数据库。它提供了直观的图形用户界面,使得数据库的查询、编辑、管理变得简单高效。无论是新手还是高级用户都能从其丰富的功能中受益,包括数据操作、导入导出、用户权限管理等。
  • Rancher

    Rancher,开源的企业级多集群Kubernetes管理平台

    Rancher是一款开源的容器管理平台,提供简化的Kubernetes部署、管理和运维。它支持多集群管理、集成式安全策略、应用商店、CI/CD集成和集群监控等功能。与OpenShift、GKE和EKS等竞争产品相比,Rancher特别适合需要多云和混合云支持的企业,其开源特性也为用户提供了更高的定制灵活性。
  • CasaOS

    CasaOS,围绕Docker生态的个人云操作系统

    CasaOS是一个基于社区的开源软件,围绕Docker生态系统提供简单的个人云体验的个人云操作系统。以其易用性和灵活性脱颖而出,提供直观的用户界面和强大的数据管理功能,使得无论是初学者还是资深用户都能轻松管理个人数据。在个人云解决方案中找到了易用性与功能性的完美平衡,非常适合寻求简单、高效个人数据管理系统的用户。