idea java文件叉子_叉子和分配之间有什么区别?

idea java文件叉子

如果您使用开源软件已有一段时间,那么您会在对话中随意听到术语分叉和分发。 对于许多人来说,两者之间的区别尚不清楚,因此在这里我将尝试消除混淆。

首先,一些定义

在解释分叉与分布的细微差别及其陷阱之前,让我们定义一些关键概念。

开源软件是这样的软件:

  • 可在某些许可证限制下免费分发
  • 允许其源代码在某些许可证限制下可见和修改

开源软件可以通过以下方式被消耗掉

  • 通常以二进制或源代码格式下载,通常是免费的(例如, Eclipse开发人员环境
  • 作为供应商的分发(产品),有时会给用户带来一定的成本(例如, 红帽产品
  • 嵌入专有软件解决方案中(例如,某些智能手机和浏览器使用开源自由字体软件显示字体)

自由和开源(FOSS)不一定像“零成本”那样是“免费”的。 免费和开放源代码仅表示该软件可以自由分发,修改,研究和使用,但要获得该软件的许可。 软件发行商可以为其附加购买价格。 例如,免费提供Fedora,CentOS,Gentoo等Linux,或以Red Hat Enterprise Linux,SUSE等免费发行。

社区是指在一个开源项目上进行协作工作的组织和个人。 任何个人或组织只要遵守许可,就可以通过编写或查看代码,文档,测试套件,管理会议,更新网站等来为项目做出贡献。 例如,在Openhub.net上 ,我们看到政府,非营利组织,商业和教育组织为某些开源项目做出了贡献

该项目是此协作开发,文档和测试的结果。 大多数项目都有一个中央存储库,用于开发代码,文档,测试等。

发行版是二进制或源代码格式的开源项目的副本。 例如,CentOS,Fedora,Red Hat Enterprise Linux,SUSE,Ubuntu等是Linux项目的发行版。 Tectonic,Google Kubernetes Engine,Amazon Container Service和Red Hat OpenShift是Kubernetes项目的发行版。

开源项目的供应商分发通常被称为产品 ,因此Red Hat OpenStack Platform是Red Hat OpenStack产品,它是OpenStack上游项目的分发,并且仍然是100%开源的。

主干是开发开源项目的社区中的主要工作流。

开源分支是开源项目的一个版本,它是沿着与主干线不同的工作流开发的。

因此, 分布与fork不同 。 发行版是上游项目的打包,通常由供应商作为产品提供给上游项目。 但是,发行版中的核心代码和文档遵循上游项目中的版本。 分支(以及基于分支的任何发行版)将导致产生与上游项目不同的代码和文档版本。 分叉了上游开放源代码的用户必须自己维护它,这意味着他们将失去上游社区中进行的协作的好处。

为了进一步解释软件分支,让我们使用迁移动物的类比。 鲸鱼和海狮从北极迁移到加利福尼亚和墨西哥。 帝王蝶从阿拉斯加移居到墨西哥; 和(在北半球)燕子和许多其他鸟类在冬天越过南方。 成功迁徙的关键在于,该小组中的所有动物都团结在一起,跟随领导者,寻找食物和庇护所,而不会迷路。

自行进行操作的风险

从群中流浪的鸟,蝴蝶或鲸鱼失去了留在群中并知道在哪里可以找到食物,住所和所需目的地的好处。

同样,分叉和修改上游项目并自行维护的用户或组织也面临以下风险:

  1. 他们不能基于上游更新代码,因为它们的代码不同。 这称为技术债务。 对派生代码进行的更改越多,将派生基础重新建立到上游项目的时间和金钱就越多。
  2. 它们可能运行不太安全的代码。 如果在开放源代码中发现了漏洞,并且该漏洞已由上游的社区修复,则该代码的分支版本可能无法从此修补程序中受益,因为它不同于上游。
  3. 他们可能无法从新功能中受益。 上游社区使用许多组织和个人的意见,为上游项目的所有用户创造了新功能。 如果组织分叉上游,则由于其代码不同,他们可能无法合并新功能。
  4. 它们可能未与其他软件包集成。 开源项目很少作为单个实体开发; 而是通常将它们与其他项目打包在一起以创建解决方案。 分叉的代码可能无法与其他项目集成,因为分叉的代码的开发人员没有在上游与其他参与者进行协作。
  5. 他们可能未在硬件平台上进行认证。 软件包通常经过认证可在硬件平台上运行,因此,如果出现问题,则硬件和软件供应商可以合作找到根本原因或问题。

总而言之,开放源代码发行版只是一个由供应商出售并支持的上游,多组织,协作开放源项目的包装。 分叉是开源项目的独立开发工作流,存在无法从上游社区的共同努力中受益的风险。

翻译自: https://opensource.com/article/18/7/forks-vs-distributions

idea java文件叉子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值