This is the mail archive of the
mailing list for the GCC project.
Re: clang and FSF's strategy
- From: Ian Lance Taylor <iant at google dot com>
- To: "Eric S. Raymond" <esr at thyrsus dot com>
- Cc: rms at gnu dot org, GCC Development <gcc at gcc dot gnu dot org>, emacs-devel at gnu dot org
- Date: Tue, 21 Jan 2014 17:31:43 -0800
- Subject: Re: clang and FSF's strategy
- Authentication-results: sourceware.org; auth=none
- References: <20140121201949 dot 21DE1380522 at snark dot thyrsus dot com>
On Tue, Jan 21, 2014 at 12:19 PM, Eric S. Raymond <firstname.lastname@example.org> wrote:
> Wouldn't it make sense, then, to entirely drop the factoring
> restrictions from GCC so it can compete for developer attention more
> effectively with clang?
> Before clang existed, back when GCC had a near monopoly in its
> competitive space, there might have been a functional case for those
> restrictions. Reasonable people may differ on that; there's no point
> in arguing it retrospectively. Now, I submit, they have become a pointless
> gesture that serves only to hinder GCC development abd increase
> clang's competitive advantage.
> GCC has a lot of strengths to play from, most notably the maturity of
> its multiplatform and cross-development support. I urge the FSF to
> fully free the code - drop the policy restrictions, encourage a
> flourishing ecosystem of surrounding plugins. Let GCC, clang, and
> other alternatives compete for attention on pure technical merit.
I'm sympathetic to our comments regarding GCC vs. clang. But I'm not
sure I grasp your proposed solution. GCC does support plugins, and
has supported them for a few releases now.
GCC plugins have what turns out to be a significant defect: the plugin
interface simply exposes GCC internals, and as such is not stable
across releases. I pushed for plugins in GCC, and I thought this
unstable interface would be OK, but I was wrong. For general plugins
to be useful, we need a more stable interface.
But that is a technical issue, not a licensing issue. You are talking
about licensing issues. Do you think the licensing requirements on
plugins are too onerous?
Because of the non-standard interface, the most effective way for
people to write plugins for GCC today is to use something like MELT
(http://gcc-melt.org) or the GCC Python plugin
(https://fedorahosted.org/gcc-python-plugin/). These provide a
somewhat more standard interface across releases.
Ideally we would develop a standard interface for C as well. There
have been some efforts along those lines but as far as I know none of
them have been committed to the tree.