据我了解,Ubuntu Touch 基本上是开源的。但它是完全开源的吗?所有驱动程序都是开源的吗?有二进制blob吗?
我想我的实际问题是:我可以在不运行任何封闭源代码的情况下使用 Ubuntu Touch 吗?
如果我没记错的话,在 Android 上(即使 Android 本身是开源的)你不能真正将它用作手机,除非你安装一些封闭源代码的 qualcomm 服务(或类似的东西)。所以我一直认为基带相关组件的驱动程序是闭源的。
但后来我读到 Ubuntu Touch 只能支持具有开源设备树的设备。不过,我仍然不完全确定这对于能够为设备编写驱动程序意味着什么。
这是否意味着我们实际上不需要使用任何闭源驱动程序来获得 gsm、3g 等工作?
例如,我的设备(OnePlus One)有一个开源设备树,可以在这里找到。但是如果你仔细观察你会发现这样的东西:WCNSS_qcom_wlan_nv.bin这让我想知道它实际上是多么开源。
Ubuntu Touch 通常在 android 容器内运行以访问其驱动程序,该驱动程序通常还包含专有 blob。目前没有提供完全免费驱动程序的手机,因此解决此问题的唯一方法是对每部手机进行大量逆向工程。
除了驱动程序之外,操作系统本身(由UBports分发)是完全免费的开源软件。在 BQ 和魅族销售的设备上,UBports 用 Mozilla 定位服务取代了获得许可的专有位,例如诺基亚 HERE AGPS。
如果您询问操作系统本身,是的,它是完全开源的。它可以使用专有的吗?是的,它可以使用专有驱动程序(或一般软件),因为非开源的使用本身不会损害 Stallman 的自由软件定义和他的“四大自由”,即:
自由软件许可 (GPL ie) 授予商业用途,例如生产和使用专有软件,许可仅取决于使用的库和软件组件,而不取决于底层平台,因此如果工具或驱动程序不使用这些,则允许收取费用,即使它的底层即 Ubuntu Touch。