• [^] # Re: Non libre

    Posté par . En réponse au journal Kqemu. Évalué à 5.

    La procédure exact est la suivante (fichier kernel/module.c):


    static void set_license(struct module *mod, const char *license)
    {
    if (!license)
    license = "unspecified";

    mod->license_gplok = license_is_gpl_compatible(license);
    if (!mod->license_gplok && !(tainted & TAINT_PROPRIETARY_MODULE)) {
    printk(KERN_WARNING "%s: module license '%s' taints kernel.\n", mod->name, license);
    tainted |= TAINT_PROPRIETARY_MODULE;
    }
    }

    static inline int license_is_gpl_compatible(const char *license)
    {
    return (strcmp(license, "GPL") == 0
    || strcmp(license, "GPL v2") == 0
    || strcmp(license, "GPL and additional rights") == 0
    || strcmp(license, "Dual BSD/GPL") == 0
    || strcmp(license, "Dual MPL/GPL") == 0);
    }


    Donc il faut que le module soit au moins sous GPL (ça comprend peut-être la LGPL).