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: make #pragma pack() implementation consistent with other compilers(PR c/7054)

On Wed, 7 Jul 2004, Jan Beulich wrote:
> I know what your answer will be to the following, but it's really
> becoming a pain to try to help solve issues with the compiler when all
> you get back is complaints that this and that and a third rule isn't
> being fulfilled.

Many GCC contributors have replied to your posting describing how
these bizarre rules are necessary to enable collaboration on an extremely
large and extremely complex piece of mission critical software like
GCC.  And indeed supporting a multi-million line code-base for nearly
twenty years is hard.  But little has been said on the intangible
benefits back to you as a GCC contributor.

	We choose to do ... these other things, not because they are
	easy, but because they are hard, because that goal will serve
	to organize and measure the best of our energies and skills.

Undoubtedly, GCC's software contribution policys and requirements are
some of the most stringent in the software development community.  As
a result, very few programmers ever attain the necessary discipline,
to contribute to GCC.  But those few software engineers that do, earn
the respect of their peers.

To use the "Cathedral and Bazaar" analogy of Eric Raymond, GCC developers
build cathedrals, awe inspiring edifices that often take generations
to construct, but the last for hundreds of years.

Very few developers that come upon GCC, state that the requirements are
"easier" or more "relaxed" than their in-house efforts.  The reason is
that the quality and level of ability demanded of GCC developers is
often far beyond what contributors experience at their work place or
in academia, or on other open source/free software projects.  As you've
mentioned, organizations often have specialist technical writers, Q&A
testers, software architects, build system administrators, platform
specialists and language specialists.  GCC however requires contributors
to be polymaths, able to write their own documentation, write their own
tests, and understand their effects on multiple architetures and at least
four different programming languages.  Not too mention the abilty to
communicate, get on well with others and resolve conflicts.  Most
organizations only have one or two people of the calibre to contribute
to GCC.

To quote Microsoft's David Gristwood's "21 Rules of Thumb - How Microsoft
develops its Software",

	The complexity of mult-platform support is beyond the reach
	of most development organizations.

Obviously I'm biased, but I really believe that GCC's contributors are
amongst the best programmers on the planet, and I suspect I'm not alone.
I'd have no hesitation employing a GCC contributor, and I'm sure that
being able to say the same on my CV or resume helps my current employer
regard me as one of computer science's elite.

As for your recent almost unprecedented first-timer flurry of activity,
if your manage to survive the perils of rookie hazing and get even half
of your recent contributions into GCC, you'll have earned my respect.
Most new comers submit one or two patches at-at-time, and are able to
recoil/recover from reviewer comments, learn from their mistakes and

Dr Roger Sayle,
Ph.D. Computer Science,
GCC Maintainer.
Roger Sayle,                         E-mail:
OpenEye Scientific Software,         WWW:
Suite 1107, 3600 Cerrillos Road,     Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507.         Fax: (+1) 505-473-0833

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