From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jacob Bachmeyer Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Fri, 16 Jan 2015 19:26:32 -0600 Message-ID: <54B9BA48.9000903@gmail.com> References: <54B1B97E.9070204@gmail.com> <87fvbhk4ha.fsf@fencepost.gnu.org> <54B456C8.6010506@gmail.com> <8761cbhvhb.fsf@fencepost.gnu.org> <54B5AA10.7080606@gmail.com> <54B6F8EF.7020401@gmail.com> <54B8326B.90804@gmail.com> <54B889CC.9030401@gmail.com> Reply-To: jcb62281@gmail.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1421458012 15565 80.91.229.3 (17 Jan 2015 01:26:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 17 Jan 2015 01:26:52 +0000 (UTC) Cc: dak@gnu.org, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 17 02:26:51 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YCIA1-0002Q7-JQ for ged-emacs-devel@m.gmane.org; Sat, 17 Jan 2015 02:26:45 +0100 Original-Received: from localhost ([::1]:58008 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCIA0-0006r9-Vt for ged-emacs-devel@m.gmane.org; Fri, 16 Jan 2015 20:26:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49897) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCI9w-0006oH-SB for emacs-devel@gnu.org; Fri, 16 Jan 2015 20:26:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YCI9v-0007jw-G8 for emacs-devel@gnu.org; Fri, 16 Jan 2015 20:26:40 -0500 Original-Received: from mail-oi0-x231.google.com ([2607:f8b0:4003:c06::231]:48749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCI9q-0007h3-8X; Fri, 16 Jan 2015 20:26:34 -0500 Original-Received: by mail-oi0-f49.google.com with SMTP id a141so19957950oig.8; Fri, 16 Jan 2015 17:26:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=sZzE5s649cz3+Ucl+v0pevk6wy+rqES1CzjECZ/aXNg=; b=iAjQCvShc7wEMBW7iXCLDPLQEpUFUOQRdI4yYhZUm580xxsGD+EmSaIAxAA2HVp+O3 V898jOBSpWtaDNvys5jRnhMWdzJJTSZyjRIh2g4bMVivPVxYheaG24Kgi7JXSzpeL47L HfuhxrTur4qa/+TGXq/6nXu8XSMRXewtvfNTjwMmkWLn6Xo9yEl8/XgluQeyvJxCZtKX rP1yORLCxM8meaQWBwRroW246zzQ4oh6+uiLWVwkOPPN85GBcLriudVSTsXfMPTqwDiK Aw49EGjxsqtNKTxImNIEBIkD/Hvjy2LWSnBfOep6spLqyD8Fcv5t36/s68mtfFa6Dre4 9BdQ== X-Received: by 10.60.244.196 with SMTP id xi4mr11610630oec.32.1421457993831; Fri, 16 Jan 2015 17:26:33 -0800 (PST) Original-Received: from [192.168.2.42] (adsl-70-133-148-241.dsl.ablntx.sbcglobal.net. [70.133.148.241]) by mx.google.com with ESMTPSA id x65sm3079636oix.23.2015.01.16.17.26.32 (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 16 Jan 2015 17:26:33 -0800 (PST) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c06::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:181363 Archived-At: Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > This illuminates the central question at hand: if an Emacs plugin is > > GPL, and provides access to internals of GCC, which is also GPL, can > > nonfree software use that Emacs plugin? > > "Use" is too broad a word; such a broad question has no answer. > > Nonfree software can't be _combined_ with GPL'd code, which includes > that plug-in (what the plug-in _does_ is beside the point). If a > program A "uses" a program B, does this mean the two are combined? > That depends on details (and there may be a gray area; also, we can't > be sure where courts will say the border is). Plugins of this type are DSOs, so "use" means "dynamically link at runtime" and "call functions the plugin implements". I think that the GPL FAQ answers this in . Since using a GPL plugin in a non-free program requires additional permission on the part of the plugin, which GCC would _not_ provide, non-free software could not dynamically link the plugin. > What I am pretty sure of is that if the plug-in generates the AST as > text, a GPL-covered program could write it into a file, and some > separate proprietary program could read the file, and this would not > be considered combining the two programs. It would be lawful, and > could be quite harmful. > This is why I am proposing a two-faced (one face for GCC, one for Emacs) link plugin that gets the AST from GCC via some (currently unspecified, but using ptrace(2) is not out of the question) host-platform-specific binary means and presents it to Emacs as some kind of in-memory data structure. Although, after it was pointed out, I now see the possible problem that someone could write Emacs Lisp code to dump that structure as text. But all this is sounding more and more like we could not stop someone who really wanted the AST in any case. If a developer of non-free software could use any facility we develop to import an AST from GCC into Emacs, what stops that same developer from simply writing their own AST export plugin for GCC and making just the AST dumper GPL? > This is why there is danger in generating the AST as text. This is why I do not propose exporting a text AST.