On Fri, Jul 27, 2007 at 11:26:22AM +0100, Manuel López-Ibáñez wrote:
> Just an example. There are people that post patches in bugzilla and
> they seem interested in getting them integrated but normally they
> break coding style or don't have changelog or didn't even run the
> testsuite. Of course, the easiest answer is to point to the "how to
> contribute" webpage. I have done it too. But I must admit that it is a
> poor answer. When I started, I couldn't bring myself to read all that
> was required to post a proper patch.

   I could. Easily. But I also knew that I was going to submit more than
just one or two patches. Maybe we can figure out a simpler procedure for
those who will likely submit just one or two patches, where someone
volunteers to fix the formatting, write the ChangeLog entry, do the testing
and anything else that needs to be done for the patch to go in.

   I think we should encourage people to submit changes to the FSF tree
rather than keeping private trees. This would include some way of dealing
with copyright assignments and disclaimers before lots of patched are
contributed by people who will later be difficult to track down. For
example, the Amiga GCC port (host, build and target) never made it into the
FSF sources mainly because by the time the idea came up, it was just too
unclear who had contributed what, making it impossible to ensure the
paperwork could be done.

> * Documentation to learn. GCC has a lot of documentation. But it is
> mostly for reference, that is, if you forget some detail or it is
> under discussion, there is plenty of documentation.

   "grep -B 15 -e '^name_of_fuction ' *.c" you mean.

> However, there is
> little aimed to teach (with examples) the steps of how to contribute.
> It is like telling people to learn programming by reading the ISO C
> standard. The wiki is slowly changing this, but it still needs a lot
> of work.

   A lot is missing for people writing back ends. The recent example of
GEN_INT() vs. gen_int_mode()[1] is a good one. Someone new to GCC has no
chance of finding such a function other than by luck. I have already started
writing a simple list of helper functions for back ends some time ago. It
isn't in the Wiki simply because I didn't know what a Wiki is at the time.
I'll get to it in a week or so.

> Regarding this, there is a curious effect that I experienced
> myself. When I started one year ago I noticed the lack of simple
> howtos describing the basic things like "how to submit a patch", "how
> to prepare a testcase", etc. However, as soon as I learnt how to do
> it, the task of describing them for newbies felt extremely tedious.

   This part of the documentation is fragmented in a way such that I
sometimes can't find what I'm looking for, even if I know it is there
(somewhere). For example, when it comes to submitting patches, we have
<URL:http://gcc.gnu.org/codingconventions.html> and
<URL:http://gcc.gnu.org/contribute.html> which both say something about
ChangeLog enties while neither mention the patch tracker. Another example is
that both <URL:http://gcc.gnu.org/contribute.html> and
<URL:http://gcc.gnu.org/install/test.html> document how to test GCC, so you
have to find and read both.

[1] http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01051.html

-- 
Rask Ingemann Lambertsen

Reply via email to