lkml.org 
[lkml]   [2017]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: WTF? Re: [PATCH] License cleanup: add SPDX GPL-2.0 license identifier to files with no license

    Hi!
    > Christoph:
    >
    > I am not speaking for Greg but let me highlight some issues and
    > benefits as I chipped in a bit to help:
    >
    > Some data points in the 4.14.rc7 kernel:
    > - there are 64,742 distinct license statements
    > ... in 114,597 blocks of text
    > ... in 42,602 files
    > - license statements represent 480,455 lines of text
    > - licenses are worded in 1,015 different ways
    > - there are about 85 distinct licenses, the bulk being the GPL
    >
    > NB: All of these tallies were computed with scancode-toolkit [1]
    >
    > License text lines represent about 14.7% of all source comments.
    > (using a CLOC to count comment lines)
    >
    > >From an engineering perspective this feels to me as pure madness,
    > unless everyone in kernel land is in love with legalese!
    >
    > I like to think of it this way:
    >
    > Licensing is important but repetitive long boilerplate in patches and
    > in every file is just a noisy distraction from the code substance.
    >
    > Imagine if the kernel had 500 versions of a printf() function?
    > Maintainers would refactor the hell of it to use a few functions.
    >
    > Replacing the boilerplate with licensing ids is exactly the same:
    > a sane refactoring to remove duplicated boilerplate.
    >
    > In the end and ideally there should be no more than one line of
    > licensing info per file, so no more than 70Kish: so there are
    > about 400K lines of boilerplate to remove.
    >
    > The benefits now and later:
    > - no distraction with licensing boilerplate cr*p in patches and files

    Well... No distraction you say?

    > Note also that beside the kernel, U-Boot has adopted the same
    > approach for quite a while, and in the application world the Eclipse

    Yes, it works nicely for U-Boot.

    But someone actually _added_ distraction. Top-level Makefile had no
    distraction there and boom, here it is, totally uninteresting and just
    at line one.

    Lets look at random file in usb:

    // SPDX-License-Identifier: GPL-2.0+
    /*
    * Driver for SMSC USB3503 USB 2.0 hub controller driver
    *
    * Copyright (c) 2012-2013 Dongjin Kim (tobetter@gmail.com)
    */
    ...
    MODULE_LICENSE("GPL");

    ...do we agree that this is nowhere near distration-free? Ugly //
    comment that screams for attention, away from other copyright info, it
    hurts your eyes...

    This would be improvement:

    /*
    * Driver for SMSC USB3503 USB 2.0 hub controller driver
    *
    * Copyright (c) 2012-2013 Dongjin Kim (tobetter@gmail.com)
    *
    * SPDX-License-Identifier: GPL-2.0+
    */

    ...but what is above is just uuuugly.

    ...as is MODULE_LICENSE having completely different tags from SPDX.

    This would be even better:

    /*
    * Driver for SMSC USB3503 USB 2.0 hub controller driver
    *
    * Copyright (c) 2012-2013 Dongjin Kim (tobetter@gmail.com)
    */
    ...
    SPDX_MODULE_LICENSE("GPL-2.0+")

    So yes, SPDX can be improvement. But in current implementation it is
    not.

    Pavel
    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2017-11-22 18:07    [W:2.898 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site