From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754244AbcEOM3e (ORCPT ); Sun, 15 May 2016 08:29:34 -0400 Received: from hauke-m.de ([5.39.93.123]:41681 "EHLO hauke-m.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752420AbcEOM3d (ORCPT ); Sun, 15 May 2016 08:29:33 -0400 Subject: Re: Unclear BSD licensing (headers, MODULE_LICENSE, versions) To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Linux Kernel Mailing List References: Cc: "linux-arm-kernel@lists.infradead.org" , linux-doc@vger.kernel.org, Florian Fainelli , Dan Haab From: Hauke Mehrtens X-Enigmail-Draft-Status: N1110 Message-ID: <57386BA9.9030607@hauke-m.de> Date: Sun, 15 May 2016 14:29:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/15/2016 12:44 AM, Rafał Miłecki wrote: > Hi, ...... > Another problem is text of BSD license > > 1) Some BSD 2-clause licensed sources don't link to its content. > > In case of GPLv2 some sources simply mention this license and refer to > COPYING. Few examples: > a) drivers/bcma/main.c > "Licensed under the GNU/GPL. See COPYING for details." > b) drivers/block/umem.c > "This driver is released to the public under the terms of the GNU > GENERAL PUBLIC LICENSE version 2 > c) drivers/mfd/tps6507x.c > "For licencing details see kernel-base/COPYING" When I talked to some lawyers they did not like it when you only reference a file and do not explicitly specify which license you are using. The problem is that the code could be moved to an other project with a different COPYING file. They were fine with b) because that explicitly says which license text you mean. When you move this to somewhere else you can still find our which license was meant here. > I believe the same could be done for BSD 2-clause license, however > there is no file that can be pointed. It results in some sources > specifying 2-clause license in a header without really providing the > content. Example: > arch/arm/boot/dts/lpc4350.dtsi > > 2) Some BSD 3-clause or Clear BSD licensed sources don't provide needed text > > Many templates of BSD 3-clause license I found contain > that should be replaced by a proper organization/company. That makes > me suspect we can't have a generic text of BSD 3-clause or Clear BSD > in any shared file like COPYING. However there are sources that > specify one of above licenses without providing or linking its text. > Few examples: > arch/blackfin/mach-bf609/include/mach/anomaly.h > drivers/block/zram/zram_drv.c I like the text of the ISC license: https://en.wikipedia.org/wiki/ISC_license This license is a BSD license, but it does not have in it and is even shorter that the ofter BSD licenses. Qualcomm Atheros used this license text for ath9k and some other code. The main purpose was to make it possible to integrate this code into *BSD. You can also put such a short license text directly into your code. This also allowed you to use the code in proprietary operating systems like VxWorks. > I'm wondering how we could improve this situation. I got 2 main ideas: > > 1) Extend MODULE_LICENSE > We could add new acceptable entries specifying BSD version. We could > try to improve checkpatch.pl to look for a full license in a header > (it seems to be required as it has to provide ). Maybe > we could figure out (with some lawyers?) how to treat sources using > "Dual BSD/GPL" mentioning GPL only (without BSD) in their header. > > 2) Get clear rules on how to write a header > If you find extending MODULE_LICENSE a bad idea, maybe we can simply > help people write proper headers. Explain the problem, provide > examples, maybe add some check in checkpatch.pl. I see MODULE_LICENSE more as a hint not as a legal binding thing. You could also have a module which uses a file which is licensed under GPL and one which is licensed under BSD license. Then the compiled module is GPL, but parts of the cod is still BSD. I prefer to have the license information in each source file, as a reference to a license (not some generic file) or directly the license text. Hauke