同步操作将从 Gitee Community/开源指北 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本篇内容将会引导大家分辨一个项目的状态,是开源,闭源,还是半开源。
项目分为开源项目、闭源项目,以及未被明确定义的半开源项目。那么,什么项目可以称之为开源项目?什么项目是闭源项目呢?它们之间有什么区别?下面让我们一起来了解一下。
这太好解释了:项目的源代码不公开发布,就叫闭源。闭源可以保证源代码的安全性和隐私性,想要获得此类代码一般需要加入闭源项目所属组织或签署保密协议,以确保代码不会泄露。闭源项目一般存在于商业软件领域,可以很好地保护公司的商业机密。此外,个人的私密项目也属于闭源项目,你可以在创建项目时,选择对应的隐私访问级别——Private。
闭源在保护机密和隐私方面发挥了重要作用,但由于参与成员的限制性,不能像开源项目那样集思广益,因此,项目的迭代速度一般会慢于开源项目。此外,也正是因为参与群体范围较小,闭源项目的维护管理、标准化难度会小于开源项目。
开源软件是开源的主要表现形式。在第 1 小节中,相信你已经对开源有所了解,下面我们来回顾一下开源的定义:开源软件是一种 技术和立场中立的使用许可证约束的开放源代码 的软件。
对于开源软件来说,技术和立场中立要求开源软件对任何组织和个体要一视同仁,保持公平公正。而使用许可证约束一方面是保证开源者的各项权利
当然,关于开源的详细定义还有很多,其中最有影响力的是 Debian 自由软件指导方针 (DFSG) 和 Open Source Initiative 制定的 Open Source Definition。其中,后者是前者的衍生版本。
更多详细内容,请参考 [第 1 小节:什么是开源](./第 1 小节:什么是开源.md/#开源软件) 。
“半开源”一词从来没有被正式定义过,甚至,“半开源”这个词是不是被生造出来的也不太清楚。下面列举了半开源软件当前较为常见的几种定义(排序不分先后)。
虽然没有权威的定义,但从上面几种定义分析,我们可以总结出半开源的特点:开放了源代码,但并没有使用开源许可或没有满足开源使用者一定程度上的需求。从本质上来讲,半开源与开源之间没有明确的界限,两者都开源了源代码,只是由于一些原因,导致开源使用者认为前者并非完全开源的。
自由软件和开源的区别
自由软件一般指的是,它包括满足开源条件的软件,以及不满足开源条件的软件。但是,这两个说法之间存在些许的哲学观点差异。关于自由软件,其中涉及到的辩论和观点很多,如果想要了解自由软件运动支持者对“开源软件”说法的质疑和批评,可以参考阅读 《为什么开源错失了自由软件的重点》。
本篇文章向大家讲解了闭源、开源、半开源的概念,客观分析了它们各自的特点,当你想要保护隐私、少数人参与维护的项目时,闭源更加适合你;当你想要分享自己的项目、吸引更多人维护时,请果断选择开源。关于半开源,虽然大家可能各说纷纭,但它与开源并没有明确的分界线,对于一些观点的解读需要大家理性看待。
分享需要开放的心态,还望大家求同存异,在开源世界里肆意挥毫,留下浓墨重彩的一笔!
ZeroAurora、雪山凌狐、ORH、阿基米东、XYCode、西狩
发现内容中的错误?还是想要补充更多符合主题的内容?《开源指北》欢迎你进行贡献,点击贡献指南了解贡献的具体步骤。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。