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: Why not contribute? (to GCC)

Why do I not contribute to GCC? Well, I tried to get some really simple patches for RDOS
accepted in 2006, but it seemed to take forever. I'm not sure if they have been accepted now,
or if the binutils patches (which were accepted) are still there. For somebody wanting to support
a new OS with GCC (that is not unix-style), the patch acceptance policy is simply making the
whole process impossible to do in reasonable time. Such a new OS will need hundreds or
even thousands of patches, and getting all of these accepted in reasonable time seems more
or less impossible.

When I had given up on GCC, I got interested in OpenWatcom. They gave me a new branch
to work in, and eventually helped me integrate my changes with trunk. This worked very well
and RDOS will be supported in the upcoming 1.9 release.

The 2006 patches I worked a lot to find out are probably totally obsolete today, and needs to
be done from scratch again. This is the nature of supporting new OSes. I just doesn't work
to find out the patches if nobody cares to incorporate them, as they will quickly become obsolete.
However, I suspect that the community is only interested in supporting unix-like environments,
where these issues doesn't exist.

Leif Ekblad

----- Original Message ----- From: "Ross Ridge" <>
To: <>
Sent: Saturday, April 24, 2010 2:12 PM
Subject: Re: Why not contribute? (to GCC)

Manuel López-Ibáñez writes:
What reasons keep you from contributing to GCC?

The big reason the copyright assignment. I never even bothered to read it, but as I don't get anything in return there's no point. Why should put obligaitons on myself, open myself up to even unlikely liabilities, just so my patches can merged into the official source distribution? I work on software on my own time to solve my own problems. I'm happy enough not "horde" it and give it away for "free", but it doesn't make much difference to me if anyone else actually ends up using it. I can have my own patched version of GCC that does what I want without signing anything.

Another reason is the poor patch submission process.  Why e-mail a patch
if I know, as a new contributor, there's a good chance it won't even be
looked at by anyone?  Why would I want to go through I a process where I'm
expected to keep begging until my patch finally gets someone's attention?

I also just don't need the abuse.  GCC, while not the most of hostile of
open source projects out there, it's up there.  Manuel López-Ibáñez's
unjustified hostility towards Michael Witten in this thread is just a
small example.

Finally, it's also a lot of work.  Just building GCC can be pain, having
to find upto date versions of a growing list of math libraries that
don't benefit me in the slightest way.  Running the test suite takes a
long time, so even trivial patches require a non-trivial amount of work.
Anything more serious can take a huge ammount of time.  I've abandonded
projects once I realized it would be lot quicker to find some other
solution like using assembly, rather than trying to get GCC to do what
I wanted it to do.

Now these are just the main reasons why I don't contribute to GCC.
I'm not arguing that any these issues need to be or can be fixed.  If I
had what I thought where good solutions that would be better overall to
GCC then I'd have suggested them long ago.

I will add, that I don't think code quality is a problem with GCC.  I hate
the GNU coding style as much as anyone, but it's used consistantly and
that's what matters.  Compared other open and closed projects I've seen
it's as easy to understand and maintain as anything.  GNU binutils is
a pile of poo, but I don't know of any codebase the size of GCC that's
as nice to work with.

Ross Ridge

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