unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Óscar Fuentes" <ofv@wanadoo.es>
To: emacs-devel@gnu.org
Subject: Re: Contradictiory directions
Date: Wed, 15 Dec 2021 22:15:50 +0100	[thread overview]
Message-ID: <87bl1h4lix.fsf@telefonica.net> (raw)
In-Reply-To: jwv7dc5odu8.fsf-monnier+emacs@gnu.org

Stefan Monnier <monnier@iro.umontreal.ca> writes:

Off-topic, so this will be my last message on this thread.

>> ... about Gcc either, because there are better *free* alternatives,
>> which arose in great part thanks to stances like this.
>
> But this is a poorly chosen example.  LLVM was developed originally
> because it was easier to start from scratch than to evolve an existing
> system that had accrued a lot of (necessary) complexity.  Back then it
> was mostly a vehicle for academic research and I've never seen any hint
> that circumventing the GPL was part of the motivation.

This is mostly true. To the point that the LLVM backend (Clang came much
later) was offered to Gcc.

> Then it got picked up by companies (mostly Apple) specifically because
> it didn't use the GPL, because they did not want to be forced to
> released their source code (this can be seen as the price we had to pay
> for GCC to get Objective C support, since many years earlier, NeXT was
> forced to release their Objective C compiler's source code because it
> was built on top of GCC, and Jobs really resented that; it's arguably
> also the reason why macOS has switched to Zsh and remained at Emacs-22).
>
> AFAIK the issue with support for plugins only appeared much later.
>
> So in the case of LLVM-vs-GCC, the reason for the heavy investment into
> LLVM is not so much the FSF's "stance" on anything, it's an opposition
> to the core principle of the GPL.

This is more complex than you make it appear :-)

> And oddly enough, last I checked, GCC is still pretty damn competitive
> with LLVM, despite all that investment, so "better" is debatable ;-)

The superiority of LLVM/Clang (and all its satellite projects) is in its
focus on technical excellence, on a broad sense: the code not only must
be performant, but clearly written and carefully architected as well.
The social dynamics was more open: broad changes were encouraged, no old
guard vetoing disruptive ideas, enthusiastic and welcoming community
etc. This caused that both the source code and the community appeared
much more attractive to all sorts of contributors, creating an snowball
effect. The openness of the design, which facilitated growing other
projects on top of it, caused a proliferation of academic, hobbist and
industrial derived works. Some of them are closed-source, but many are
not, and even the closed ones show a tendency to open and contribute to
upstream because it reduces costs.

Major Clang/LLVM contributors like Google would have no significant
issue with Gcc being GPL, but LLVM/Clang exists and it is much more easy
to work with (at all levels: technical and social.)

Meanwhile, Gcc was under severe imposed restrictions precisely on the
areas where LLVM/Clang excels. That's no coincidence: there was a demand
for those features. Now the grip over Gcc loosened a bit, but it carries
a rigid and obsolete architecture that will keep it inferior for many
years, if not forever. Any advantage on code generation will be erased,
sooner than later.

Since a few years ago Gcc improved after painfully breaking old
constraints, pressured by the new competitor, but I'm afraid that it
will be too little, too late. Linux compiles with Clang, and that's a
very worrying signal for Gcc, because if certain distributions migrate
to Clang, Gcc development will be over.




  reply	other threads:[~2021-12-15 21:15 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20211211035614.15517.53830@vcs0.savannah.gnu.org>
     [not found] ` <20211211035616.984DD20A0A@vcs0.savannah.gnu.org>
2021-12-11  4:17   ` master 3d38d1d: Add sqlite3 support to Emacs Stefan Kangas
2021-12-11  5:00     ` Po Lu
2021-12-11  5:29       ` Lars Ingebrigtsen
2021-12-11  6:56         ` Po Lu
2021-12-11  7:14           ` Lars Ingebrigtsen
2021-12-11  7:04       ` Po Lu
2021-12-11  8:50         ` Eli Zaretskii
2021-12-11  9:20           ` Po Lu
2021-12-11 11:09             ` Eli Zaretskii
2021-12-11 12:36             ` Alexandre Garreau
2021-12-11 12:49               ` Po Lu
2021-12-11 12:57                 ` Alexandre Garreau
2021-12-11 13:29                   ` Po Lu
2021-12-11 13:45                     ` Alexandre Garreau
2021-12-11 13:51                   ` Eli Zaretskii
2021-12-11 13:55                     ` Alexandre Garreau
2021-12-11 16:47                       ` Eli Zaretskii
2021-12-11 14:26             ` Stefan Monnier
2021-12-12  3:59             ` Richard Stallman
2021-12-12  4:46               ` Po Lu
2021-12-13  3:44                 ` Richard Stallman
2021-12-13  4:01                   ` Lars Ingebrigtsen
2021-12-14  4:12                     ` Richard Stallman
2021-12-14  4:36                       ` Po Lu
2021-12-14  7:23                         ` Lars Ingebrigtsen
2021-12-14  7:40                           ` Po Lu
2021-12-14  8:30                             ` Lars Ingebrigtsen
2021-12-14  9:16                               ` Po Lu
2021-12-14 10:27                                 ` Lars Ingebrigtsen
2021-12-14 13:12                                   ` Eli Zaretskii
2021-12-14 13:15                                     ` Lars Ingebrigtsen
2021-12-14 13:38                                       ` Eli Zaretskii
2021-12-14 23:41                                         ` Andy Moreton
2021-12-15 14:53                                           ` Eli Zaretskii
2021-12-15  5:15                             ` Richard Stallman
2021-12-15  7:07                               ` Lars Ingebrigtsen
2021-12-15  7:17                                 ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Po Lu
2021-12-15  7:23                                   ` Contradictiory directions Lars Ingebrigtsen
2021-12-15  7:36                                     ` Po Lu
2021-12-15  7:41                                       ` Lars Ingebrigtsen
2021-12-15  7:48                                         ` Po Lu
2021-12-15  7:52                                           ` Lars Ingebrigtsen
2021-12-15  7:59                                             ` Po Lu
2021-12-15  8:04                                               ` Lars Ingebrigtsen
2021-12-15  8:13                                                 ` Po Lu
2021-12-15  9:16                                                   ` tomas
2021-12-15  9:49                                                     ` Po Lu
2021-12-15  9:59                                                       ` tomas
2021-12-15 10:06                                                         ` Po Lu
2021-12-15 12:25                                                       ` Dmitry Gutov
2021-12-15 12:31                                                         ` Po Lu
2021-12-15 13:52                                                           ` Dmitry Gutov
2021-12-16 17:45                                                       ` Stephen Leake
2021-12-19  8:30                                                         ` tomas
2021-12-20  4:43                                                         ` Richard Stallman
2021-12-15  9:17                                                   ` Lele Gaifax
2021-12-15 12:39                                                   ` Lars Ingebrigtsen
2021-12-16  4:40                                                   ` Richard Stallman
2021-12-16  4:40                                               ` Richard Stallman
2021-12-15 15:15                                     ` Alexandre Garreau
2021-12-16  4:41                                     ` Richard Stallman
2021-12-16  4:44                                       ` Po Lu
2021-12-16  8:25                                         ` Eli Zaretskii
2021-12-16 13:39                                       ` Andrea Corallo
2021-12-16 14:02                                         ` Eli Zaretskii
2021-12-16 14:10                                           ` Andrea Corallo
2021-12-15 10:14                                   ` Óscar Fuentes
2021-12-15 10:24                                     ` Po Lu
2021-12-15 10:32                                       ` Óscar Fuentes
2021-12-15 10:42                                         ` Po Lu
2021-12-15 12:44                                           ` Óscar Fuentes
2021-12-15 13:04                                             ` Po Lu
2021-12-15 14:33                                               ` dick
2021-12-15 14:54                                               ` Alexandre Garreau
2021-12-17  4:23                                               ` Richard Stallman
2021-12-15 14:54                                             ` Alexandre Garreau
2021-12-15 18:04                                               ` Óscar Fuentes
2021-12-16  5:12                                                 ` Alexandre Garreau
2021-12-16  4:40                                         ` Richard Stallman
2021-12-15 13:51                                       ` Eli Zaretskii
2021-12-15 13:56                                         ` Po Lu
2021-12-15 15:11                                     ` Alexandre Garreau
2021-12-15 18:28                                       ` Óscar Fuentes
2021-12-15 19:55                                         ` Stefan Monnier
2021-12-15 21:15                                           ` Óscar Fuentes [this message]
2021-12-16  7:13                                             ` Eli Zaretskii
2021-12-16  9:41                                               ` tomas
2021-12-16 10:09                                                 ` Eli Zaretskii
2021-12-16 11:34                                                   ` tomas
2021-12-16 14:18                                                 ` Arthur Miller
2021-12-16 15:14                                                   ` tomas
2021-12-16 11:01                                               ` Dmitry Gutov
2021-12-16 11:08                                                 ` Eli Zaretskii
2021-12-16 11:22                                                   ` Dmitry Gutov
2021-12-17  4:24                                               ` Richard Stallman
2021-12-16  5:15                                         ` Alexandre Garreau
2021-12-15 13:36                                   ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Eli Zaretskii
2021-12-15 14:34                                   ` Alexandre Garreau
2021-12-15 15:02                                     ` tomas
2021-12-15  7:26                               ` master 3d38d1d: Add sqlite3 support to Emacs Po Lu
2021-12-16  4:41                                 ` Richard Stallman
2021-12-16  8:33                                   ` tomas
2021-12-15 14:22                               ` Alexandre Garreau
2021-12-16  4:40                                 ` Richard Stallman
2021-12-13 22:35                   ` Andy Moreton
2021-12-15  5:14                     ` Richard Stallman
2021-12-15  7:10                       ` Lars Ingebrigtsen
2021-12-16  4:41                         ` Richard Stallman
2021-12-16  5:52                           ` Lars Ingebrigtsen
2021-12-17  4:25                             ` Richard Stallman
2021-12-19  4:57                               ` Richard Stallman
2021-12-19  7:24                                 ` Eli Zaretskii
2021-12-16  9:33                           ` tomas
2021-12-12  5:07               ` Alexandre Garreau
2021-12-12  5:17                 ` Po Lu
2021-12-12  5:20                   ` Alexandre Garreau
2021-12-13  3:44                 ` Richard Stallman
2021-12-13  5:30                   ` Po Lu
2021-12-13  5:36                     ` Lars Ingebrigtsen
2021-12-13  6:01                       ` Po Lu
2021-12-13  8:30                         ` Lars Ingebrigtsen
2021-12-12 12:17               ` Eli Zaretskii
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:48           ` Po Lu
2021-12-11  5:26     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bl1h4lix.fsf@telefonica.net \
    --to=ofv@wanadoo.es \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).