Android为什么引入HAL



Android为什么引入HAL

HAL的一些优势在前面章节已经提到,这里回顾一下。Android引入HAL不仅因为其自身的优势,而且还有一个非常重要的原因,就是为了保障在Android平台基于Linux开发的硬件驱动和应用程序不必遵循GPL(General Public License)许可而保持封闭,这保障了更多厂家的利益。我们都知道,Linux Kernel是开源的而且遵循GPL许可证,根据GPL许可证规定,对源码的任何修改都必须向社会开源。

那么Android是如何做到的呢?Linux Kernel和Android的许可证不一样,Linux Kernel是GPL许可证,Android是ASL(Apache Software License)许可证。ASL许可证规定,可以随意使用源码,不必开源,所以建立在Android之上的硬件驱动和应用程序都可以保持封闭。也就是说,只要把关键的驱动处理相关的主要逻辑转移到Android平台内,在Linux Kernel中仅保留基础的通信功能,即使开源一部分代码,对厂家来讲也不会有什么损失。

Google选择了这样做,并且特意修改Kernel,原本应该包括在Linux Kernel中的某些驱动关键处理逻辑,被转移到了HAL层之中而达到了不必开源的目的。


你可能感兴趣的:(android)