This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: clang and FSF's strategy

On Tue, Jan 21, 2014 at 12:19 PM, Eric S. Raymond <> 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
( or the 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]