是否存在不需要开放许可的 Linux 或 Unix 变体?

是否存在不需要开放许可的 Linux 或 Unix 变体?

将来我可能会构建一个带有嵌入式操作系统的系统。考虑到该系统的商业特性,所有内部结构尽可能闭源是有意义的。

我过去见过许多路由器制造商由于使用开放许可证下的系统而被迫发布源代码。

是否存在没有此要求的 Linux/Unix 变体(例如没有 GNU 或类似许可)?

根据我对红帽的有限了解,他们现在没有“仅限商业”发行版吗?我认为基于此,来源不可用?

答案1

Linux 发行版由许多部分组成。所有基于 GNU GPL 和其他 Copyleft 许可证许可的软件的作品都必须发布代码源。例如,如果您发布基于 Linux 内核构建的东西,则必须提供 Linux 内核源代码以及您对内核源代码所做的任何补丁(但是,对于 Linux 内核,Linus Torvalds 将 GPL 解释为不需要为仅作为模块加载的代码提供源代码)。您可以通过 CD 发送源代码,或者让人们从您的网站下载源代码,或者通过任何其他合理的方法。

您不必为同一系统中包含的非 GPL 程序提供源代码。大多数发行版(Red Hat、SuSE、Ubuntu,甚至 Debian1)仅以二进制形式提供一些非自由软件。

还有其他 Unix 变体不仅不需要任何核心组件的开放许可,甚至还禁止它。当然,另一方面是您必须付费才能获得许可。它们往往在大型服务器领域运行,而不是在嵌入式领域运行:Solaris、AIX、HP-UX、SCO...Apple 的 iOS 运行在有时被称为高端嵌入式系统(MP3 播放器、移动电话)上,但它们只是苹果的硬件,你将无法获得操作系统的许可。

还有一些 UNIX 变体已获得许可BSD许可证。 BSD 许可证允许您对它们做几乎所有您想做的事情,只需您承认其中有一些 BSD 许可的软件(确认要求的详细信息取决于许可证的版本)。有几种 UNIX 发行版的整个核心系统都是在 BSD 许可证下提供的:FreeBSD、OpenBSD、NetBSD 是主要的发行版。请注意,某些组件具有不同的许可证;特别是,C 编译器是 GCC,它遵循 GNU GPL(但是您可能不会发布该编译器)。

对于嵌入式系统来说,迷你X更有可能是合适的。它是根据 BSD 许可证发布的,专为教学和嵌入式系统而设计。

Linux 的一个主要优点是它具有适用于您能找到的几乎所有系统的驱动程序。其他 unice 则不然。即使对于 MINIX,您也可能需要编写一堆驱动程序。

在商业嵌入式系统中,价值并不在于操作系统本身。其价值在于集成所有硬件和软件组件,并利用这些不同的部分制作出可用且可靠的产品。在许多情况下,坚持使用无软件的嵌入式系统不仅仅是重新发明轮子,而且是重新发明车辆的每一个部件。专注于您要增加价值的部分,并重复使用其他部分的尝试和测试内容。提供 GPLv2 组件的源代码的成本可以忽略不计(情况有点更复杂对于 GPLv3,但我们已经偏离主题了)。

¹关于 Debian 项目提供的用于在 Debian 系统上安装的非免费软件是 Debian 发行版的一部分还是恰巧由 Debian 项目发行并打包用于在 Debian 系统上安装的软件,存在一些争议。它叫起来像鸭子,走路也像鸭子,我不想卷入它是否是鸭子的争论。

答案2

BSD 许可的系统(例如 FreeBSD)不要求您公开源代码,因此它们可能是一个可行的选择。此外,还有商业 UNIX,例如QNX,但它们可能会非常昂贵。

至于红帽,您无需为发行版付费本身,您需要支付支持和咨询费用。任何有兴趣的人都可以获取所有软件包的源代码;例如中央操作系统科学Linux都是建立在它们之上的。

答案3

所有 BSD 变体都适合您的需求。这BSD许可证比 GNU 许可证宽松得多。看

如果它足够好苹果,对你来说应该没问题。 OSX(以及之前的 NeXTSTEP)是对 NetBSD 核心的非常漂亮的包装。他们确实使用经过大量修改的 Mach 内核,而不是标准的 BSD 内核。虽然他们不太担心通用公共许可证2,自从转移到通用公共许可证3,Apple 推出了更多 BSD(或类似)许可代码,因此他们青睐以海湾合作委员会为例。

相关内容