itri-sofa / sofa

SOFA (Software Orchestrated Flash Array) is a log-structured flash array management system
Apache License 2.0
41 stars 11 forks source link

Decouple Linux kernel module from sofa package #6

Open jserv opened 4 years ago

jserv commented 4 years ago

The build script attempts to package sofa.ko into single RPM, that causes several problems:

  1. The generated RPM is coupled with certain Linux kernel version/build. Once the system is upgraded, the user space services might fail to interact with newer kernels.
  2. It is unlikely to deploy packages to different machines even with the consistent hardware configurations because of insistent Linux kernel configurations.
  3. Since kernel module and user space programs have different licensing terms (GPL vs. Apache license), it is really confusing to declare single license for RPM.

To overcome the above, decoupling Linux kernel modules from sofa package is a feasible approach. That is, there should be at least two packages: 1) sofa service/utility; 2) sofa kernel module for Linux;

nmra commented 4 years ago

Thanks for your suggestion, kernel module and user space programs on SOFA have the same licensing terms (Apache 2.0). And I agree that the app and kernel module should be packaged separately. Our team will discuss this issue tomorrow. Thanks a lot.

jserv commented 4 years ago

Thanks for your suggestion, kernel module and user space programs on SOFA have the same licensing terms (Apache 2.0). And I agree that the app and kernel module should be packaged separately. Our team will discuss this issue tomorrow. Thanks a lot.

To comply with Linux kernel licensing model, sofa kernel module would be clarified as dual-licensing (GPLv2 or Apache) as #4 addressed.