因为发现了GPL的不足之处导致很多专利算法或者芯片厂商不愿意把代码移植到Linux上,就有了诸如LGPL这样的变种,你可以勇wiki之类的东西了解下他们的差别。
另外即使是GPL也是可以有很多种办法规避的,比如说Android把非常简单的硬件逻辑留在内核空间,而把复杂的业务逻辑留在用户空间,这样就只需要公开内核空间无意义的寄存器操作,而真正的业务实现可以保密。
另外一种规避的方法是必须公开的代码和需要保密的代码分别编译,在运行时再像动态链接库那种方法组合起来,只要保密代码中不包含GPL调用,那就完全不需要公开了。
|
|