From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-user+bounces-166410-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id EA6411397EC
	for <garchives@archives.gentoo.org>; Wed, 19 Aug 2015 19:07:51 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 1FC6D14252;
	Wed, 19 Aug 2015 19:07:45 +0000 (UTC)
Received: from BLU004-OMC1S26.hotmail.com (blu004-omc1s26.hotmail.com [65.55.116.37])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id C7087141CD
	for <gentoo-user@lists.gentoo.org>; Wed, 19 Aug 2015 19:07:43 +0000 (UTC)
Received: from BLU436-SMTP163 ([65.55.116.9]) by BLU004-OMC1S26.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008);
	 Wed, 19 Aug 2015 12:07:43 -0700
X-TMN: [zUbUnnz5fWuq4Lh9N6WEVR5aD7lD2FHe]
X-Originating-Email: [frodriguez.developer@outlook.com]
Message-ID: <BLU436-SMTP163D3FC5D5FA5DBC46A38A28D670@phx.gbl>
From: Fernando Rodriguez <frodriguez.developer@outlook.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Re: [WAS: keyboard stops working] Recent kernels block the loading of non-GPL kernel modules
Date: Wed, 19 Aug 2015 15:06:37 -0400
User-Agent: KMail/4.14.8 (Linux/3.18.20; KDE/4.14.8; x86_64; ; )
In-Reply-To: <CAGfcS_n2+hYTA=YpiZkaV8ixHgtLLiXHipSAhv-ANUN9tO_XZg@mail.gmail.com>
References: <20150816094552.1e5b6d8a@a6> <55D3F412.5000405@gentoo.org> <CAGfcS_n2+hYTA=YpiZkaV8ixHgtLLiXHipSAhv-ANUN9tO_XZg@mail.gmail.com>
Precedence: bulk
List-Post: <mailto:gentoo-user@lists.gentoo.org>
List-Help: <mailto:gentoo-user+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-user+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-user+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-user.gentoo.org>
X-BeenThere: gentoo-user@lists.gentoo.org
Reply-to: gentoo-user@lists.gentoo.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-OriginalArrivalTime: 19 Aug 2015 19:07:42.0915 (UTC) FILETIME=[533AF130:01D0DAB2]
X-Archives-Salt: b9cb3d5a-27ea-4b71-a590-b08ec633c2de
X-Archives-Hash: 7e0ecb87bbebdefca1836e64bef3d61f

On Wednesday, August 19, 2015 7:00:15 AM Rich Freeman wrote:
> On Tue, Aug 18, 2015 at 11:12 PM, Michael Orlitzky <mjo@gentoo.org> wrote:
> > On 08/18/2015 08:39 PM, Dale wrote:
> >>
> >> Here's a clue.  Why doesn't the kernel devs let users decide what
> >> drivers they are comfy with using?  If they don't like the drivers, then
> >> make it so that users have to install their own just like we have for
> >> ages but don't disable them or make them not load and work.
> >
> > A lot of people build and distribute kernels. The EXPORT_SYMBOL_GPL
> > thing is there to prevent those people from linking closed-source
> > modules against certain parts of the kernel, because the result would
> > not be distributable under the GPL. The legal issue is there regardless:
> > you can't link closed-source stuff to GPL code and then distribute the
> > result.
> >
> 
> I don't really buy into that argument here.
> 
> What makes nvidia.ko a derivative-work of the kernel?  It doesn't
> contain any code not written by them.
> 
> I can buy into the argument that once it is loaded into memory and
> linked against the kernel that the image in RAM becomes a derivative
> work, but nobody is making copies of that image or redistributing it.
> 
> Take a 1950s science-fiction movie.  If you add voice-over and call it
> Mystery Science Theater 3000 that is a derivative work, because it
> incorporates parts of the original work.  If you put the voice-over on
> separate media and call it Rifftrax it isn't a derivative work,
> because it doesn't incorporate any elements of the original.  That
> remains true even if it is dynamically linked to the original by
> adding an instruction to unpause the recording when the movie title
> appears.
> 
> The whole GPL-prevents-linking argument seems rather tenuous to me,
> and as far as I'm aware it has never been upheld by a court.  It is of
> course accepted as gospel in FOSS circles, but as far as I can tell it
> is based on arguments that are similar to those employed by the likes
> of Oracle and SCO wanting to copyright enums and APIs.
>
>
> If somebody distributes a modified kernel I buy that they have to
> publish the source code.  If somebody says "take your kernel image and
> insert this blob of bytes at address foo" I don't see how making or
> obeying that statement is illegal.  Well, a dynamic library or kernel
> module is just a standardized way of doing just that.

The illegal part is not loading it but distributing the blob that depends on 
the GPL exports. Vendors can modify their blobs not to depend on GPL symbols 
and distribute them. Unfortunately the result would be that proprietary driver 
vendors will have to do more reinventing of the wheel introducing bugs in the 
process.

That said, I find it hypocritical that the FSF does not condemn this practice 
since they campaign against DRM and that's exactly what this is.
 
> The patch I wrote is arguably a derivative work of the kernel
> (reproduced here for convenience):
> 
> diff --git a/include/linux/export.h b/include/linux/export.h
> index 96e45ea..b1bc4c3 100644
> --- a/include/linux/export.h
> +++ b/include/linux/export.h
> @@ -69,7 +69,7 @@ extern struct module __this_module;
>         __EXPORT_SYMBOL(sym, "")
> 
>  #define EXPORT_SYMBOL_GPL(sym)                                 \
> -       __EXPORT_SYMBOL(sym, "_gpl")
> +       __EXPORT_SYMBOL(sym, "")
> 
>  #define EXPORT_SYMBOL_GPL_FUTURE(sym)                          \
>         __EXPORT_SYMBOL(sym, "_gpl_future")
> 
> Now, instead of writing that suppose I instead had written this: "Edit
> the file include/linux/export.h, go to line 72 and remote the text
> enclosed in quotation marks, leaving an empty string."  Would that
> statement be a derivative work in any way of the kernel?  

I don't think it matters if it is because 1) the GPL allows you to distribute 
derived works in source form, and 2) source code is protected by free speech 
as long as you didn't break the law in writing it (like reverse engineering a 
binary blob when it's license forbids it).

> That would
> be like arguing that I own the rights to anything anybody says which
> happens to mention my name.
> 
> 

-- 
Fernando Rodriguez