From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: clang vs free software Date: Sun, 26 Jan 2014 04:13:12 -0800 Message-ID: <52E4FBD8.3020407@dancol.org> References: <87fvqtg02v.fsf@flea.lifelogs.com> <52D81960.2080408@yandex.ru> <52DA8C17.4080707@yandex.ru> <52DC00E5.3020803@yandex.ru> <52DC6A26.3020003@yandex.ru> <87k3dv9z85.fsf@uwakimon.sk.tsukuba.ac.jp> <87eh439w1n.fsf@uwakimon.sk.tsukuba.ac.jp> <87ha8yqvup.fsf@engster.org> <87r47zezcc.fsf@fencepost.gnu.org> <52E448A0.6010405@dancol.org> <87a9ejb5rz.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1390738407 29056 80.91.229.3 (26 Jan 2014 12:13:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 26 Jan 2014 12:13:27 +0000 (UTC) To: David Kastrup , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 26 13:13:35 2014 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 1W7Oak-0003eo-FX for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 13:13:34 +0100 Original-Received: from localhost ([::1]:54335 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7Oak-0006mL-1X for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 07:13:34 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42668) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7Oac-0006l2-By for emacs-devel@gnu.org; Sun, 26 Jan 2014 07:13:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W7OaX-000641-DH for emacs-devel@gnu.org; Sun, 26 Jan 2014 07:13:26 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:52920) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7OaR-00063k-Fp; Sun, 26 Jan 2014 07:13:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:To:MIME-Version:From:Date:Message-ID; bh=1a9mpLYAnFXGLYk5/UIl+VBv8VNRDl7Zom5TaqxqnlQ=; b=KxhO+z36ibh65PWSGSOt7+gwJtuq4JBE66W+9mcYyHOo53HbLkvByraKqB85YxAqVlYQbTgzVLcDx7+E2wafin6DyOMsym82kdg48E90AgqU2OEF9MMgTyKO4Q8VcCwQFTINib23wqrWWkXYX/k1cQEngRru2Ut3LJ1amQYBJ4q2eGHcnsBkzdILhjf5cHaJgCLM58xNXD5Tcrl/53pqHFsBf0+5EI+hvLKtYRWuPpfPNNz3AHyPEhsDT59j08ur1FiMcJEff81bsrVQDl0c+NOfJyYce4zvtCkFabuA64fEWr8lDLG9s0dc018U/KJGrOfdMkzPTbdwY6Ww2S/Dig==; Original-Received: from [2601:8:b240:b7::2b1] by dancol.org with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1W7OaQ-0007gw-FW; Sun, 26 Jan 2014 04:13:14 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: <87a9ejb5rz.fsf@fencepost.gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:169114 Archived-At: On 01/25/2014 10:45 PM, David Kastrup wrote: > Daniel Colascione writes: > >> On 01/25/2014 03:02 PM, 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. ]]] >>> >>> We don't want to make a program's entire AST available for parsing >>> because that would make it easy to extend GCC with proprietary >>> programs. >> >> It would also have made it easy to add modern features to Emacs and >> other free editors. Symbol table information is flatly inadequate >> given that in modern languages, typing information is highly >> contextual. >> >> Users will adopt tools that provide these features when FSF programs >> support these features or not. If you keep these features out of GCC, >> users will go to Clang. If you keep Clang integration out of Emacs, >> users will either maintain out-of-tree integration or (eventually) >> just fork Emacs, as the various starter-kit packages have already >> essentially done. > > It has been explained to you what the rationale behind making GCC > unsuitable as a black box component of parsing solutions is: there is no > point in licensing GCC under the GPL if we pull the basic teeth the GPL > has by allowing integration into a larger whole without having to obey > the GPL. > > An adequate reaction to that would be to see what technical > possibilities there are for making GCC support the use cases you have in > mind without throwing it wide open, rendering its licensing choice > useless. > > Instead, you ignore the reasons you have been given and choose to throw > a tantrum. This will not serve to achieve anything but leave everybody > more annoyed. The previous three paragraphs demonstrate succinctly why effort and attention have shifted away from GCC and toward LLVM. The latter system provides utility and none of the sanctimony. It allows users to accomplish their goals instead of hearing complaints that their goals are politically incompatible with the software. Imagine applying your stance to web browsers: you might argue that a free web browser would be pointless if it allows users to run non-free JavaScript and subvert the GPL --- now strip the JavaScript interpreter from Firefox and see how much good that effort does users, software freedom, and the broader world. Componentization is simply table stakes for a modern compiler suite. That this architecture permits interaction with non-free tools is unavoidable in the same way that free operating systems must be able to run non-free programs. Without this functionality, GCC's userbase will evaporate, and without users, GCC will become a very ineffective vehicle for advancing software freedom. I hope that the GCC leadership comes to its senses here, because you're right about the component model encouraging the development of a non-free ecosystem. But users are still better off with a componentized GCC than they are with a componentized Clang: at least in the former case, the individual components retain their copyleft character, and free solutions can compete on their merits in niches were non-free components exist. In an equilibrium in which a permissively licensed compiler dominates, non-free software can simply appropriate from all components at will. At the present rate, though, you might as well just add, on top of the GCC README, "look at my influence, ye mighty, and despair!". >> Free software is great, but if nobody uses it, the entire enterprise >> is futile, sad, and ultimately irrelevant. > > That's exactly the situation GCC has started with. So why would it have > become relevant? Do you really need the difference spelled out for you? Previously, there was no free compiler of acceptable quality aside from GCC. Previously, integration with external tools was less important. Now Clang and LLVM exist. The world is much different than it was during GCC's earlier existence. GCC will never again pull off another coup like the release of the Objective-C compiler. >> How will the world be a better place when almost every every free >> operating system and free development environment is based on Clang >> and explicitly non-free derivatives are rampant? > > Because there will still be a free software solution available without > the need to hope that everybody will be playing nice when extending it. Will there be? If your "solution" doesn't actually meet user needs, it's not a solution. Users won't put up with significantly impaired functionality for the sake of using copyleft software when libre software (likely with non-free but gratis extensions) exists that fulfills their needs.