1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Contributing</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="start" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt12ch40s03.html" title="Use" /><link rel="next" href="bk01apas02.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Contributing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch40s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01apas02.html">Next</a></td></tr></table><hr /></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A. Contributing</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01apas02.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="bk01apas03.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01apas03.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="bk01apas03.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01apas04.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01apas04.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="bk01apas04.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01apas05.html">Design Notes</a></span></dt></dl></div><p>
4 The GNU C++ Library follows an open development model. Active
5 contributors are assigned maintainer-ship responsibility, and given
6 write access to the source repository. First time contributors
7 should follow this procedure:
8 </p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
9 Get and read the relevant sections of the C++ language
10 specification. Copies of the full ISO 14882 standard are
11 available on line via the ISO mirror site for committee
12 members. Non-members, or those who have not paid for the
13 privilege of sitting on the committee and sustained their
14 two meeting commitment for voting rights, may get a copy of
15 the standard from their respective national standards
16 organization. In the USA, this national standards
17 organization is ANSI and their web-site is right
18 <a class="ulink" href="http://www.ansi.org" target="_top">here.</a>
19 (And if you've already registered with them, clicking this link will take you to directly to the place where you can
20 <a class="ulink" href="http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%3A2003" target="_top">buy the standard on-line.)</a>
22 The library working group bugs, and known defects, can
24 <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21 </a>
26 The newsgroup dedicated to standardization issues is
27 comp.std.c++: this FAQ for this group is quite useful and
29 found <a class="ulink" href="http://www.jamesd.demon.co.uk/csc/faq.html" target="_top">
33 the <a class="ulink" href="http://www.gnu.org/prep/standards_toc.html" target="_top">GNU
34 Coding Standards</a>, and chuckle when you hit the part
35 about “<span class="quote">Using Languages Other Than C</span>”.
37 Be familiar with the extensions that preceded these
38 general GNU rules. These style issues for libstdc++ can be
39 found <a class="link" href="bk01apas03.html" title="Coding Style">here</a>.
41 And last but certainly not least, read the
42 library-specific information
43 found <a class="link" href="appendix_porting.html" title="Appendix B. Porting and Maintenance"> here</a>.
44 </p></li></ul></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
45 Small changes can be accepted without a copyright assignment form on
46 file. New code and additions to the library need completed copyright
47 assignment form on file at the FSF. Note: your employer may be required
48 to fill out appropriate disclaimer forms as well.
50 Historically, the libstdc++ assignment form added the following
54 Which Belgian comic book character is better, Tintin or Asterix, and
58 While not strictly necessary, humoring the maintainers and answering
59 this question would be appreciated.
61 For more information about getting a copyright assignment, please see
62 <a class="ulink" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="_top">Legal
65 Please contact Benjamin Kosnik at
66 <code class="email"><<a class="email" href="mailto:bkoz+assign@redhat.com">bkoz+assign@redhat.com</a>></code> if you are confused
67 about the assignment or have general licensing questions. When
68 requesting an assignment form from
69 <code class="email"><<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>></code>, please cc the libstdc++
70 maintainer above so that progress can be monitored.
71 </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
72 <a class="ulink" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
73 (look for "Write after approval")</a>
74 </p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
75 Every patch must have several pieces of information before it can be
76 properly evaluated. Ideally (and to ensure the fastest possible
77 response from the maintainers) it would have all of these pieces:
78 </p><div class="itemizedlist"><ul type="disc"><li><p>
79 A description of the bug and how your patch fixes this
80 bug. For new features a description of the feature and your
83 A ChangeLog entry as plain text; see the various
84 ChangeLog files for format and content. If using you are
85 using emacs as your editor, simply position the insertion
86 point at the beginning of your change and hit CX-4a to bring
87 up the appropriate ChangeLog entry. See--magic! Similar
88 functionality also exists for vi.
90 A testsuite submission or sample program that will
91 easily and simply show the existing error or test new
94 The patch itself. If you are accessing the SVN
95 repository use <span class="command"><strong>svn update; svn diff NEW</strong></span>;
96 else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
97 version of diff does not support these options, then get the
99 diff. The <a class="ulink" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
100 Tricks</a> wiki page has information on customising the
101 output of <code class="code">svn diff</code>.
103 When you have all these pieces, bundle them up in a
104 mail message and send it to libstdc++@gcc.gnu.org. All
105 patches and related discussion should be sent to the
106 libstdc++ mailing list.
107 </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch40s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01apas02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Use </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>