xref: /openbsd-src/gnu/gcc/libstdc++-v3/docs/html/17_intro/contribute.html (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html
3          PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7<head>
8  <title>How to contribute</title>
9<link rel="StyleSheet" href="../lib3styles.css" type="text/css" />
10<link rel="Start" href="../documentation.html" type="text/html"
11 title="GNU C++ Standard Library" />
12<link rel="Help" href="../faq/index.html" type="text/html" title="F.A.Q." />
13</head>
14<!--990301 slightly modified version of the GCC contribute.html file-->
15<!-- #include virtual="/include/header-subpages.html"-->
16<body>
17<h2>How to contribute</h2>
18<p> The Standard C++ Library v3, follows an open development
19model. Active contributors are assigned maintainer-ship
20responsibility, and given write access to the CVS repository. First
21time contributors should follow this procedure:
22</p>
23
24<hr />
25<h4>ONE : read the documentation</h4>
26
27<ul>
28 <li> Get and read the relevant sections of the C++ language
29specification. Copies of the full ISO 14882 standard are available on
30line via the ISO mirror site for committee members. Non-members, or
31those who have not paid for the privilege of sitting on the committee
32and sustained their two meeting commitment for voting rights, may get
33a copy of the standard from their respective national standards
34organization. In the USA, this national standards organization is ANSI
35and their web-site is right
36
37 <a href="http://www.ansi.org">here.</a>
38(And if you've already registered with them, clicking this link will take you to directly to the place where you can
39<a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%3A2003">buy the standard on-line.)</a>
40</li>
41
42<li> The library working group bugs, and known defects, can be obtained here:
43 <a href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21 </a>
44</li>
45
46<li> The newsgroup dedicated to standardization issues is comp.std.c++: this FAQ for this group is quite useful and can be found <a href="http://www.jamesd.demon.co.uk/csc/faq.html"> here </a>.
47</li>
48
49 <li> Peruse the <a href="http://www.gnu.org/prep/standards_toc.html">GNU Coding Standards</a>, and chuckle when you hit the part about "Using Languages Other Than C."
50</li>
51
52 <li> Be familiar with the extensions that preceded these general GNU rules. These style issues for libstdc++ can be found in the file C++STYLE, located in the root level of the distribution, or <a href="C++STYLE"> here. </a>
53</li>
54
55 <li> And last but certainly not least, read the library-specific information found <a href="../documentation.html"> here.</a>
56</li>
57
58</ul>
59
60
61
62<hr />
63<h4>TWO : copyright assignment</h4>
64<p>
65Small changes can be accepted without a copyright assignment form on
66file. New code and additions to the library need completed copyright
67assignment form on file at the FSF. Note: your employer may be required
68to fill out appropriate disclaimer forms as well.
69</p>
70
71<p> Historically, the libstdc++ assignment form added the following question:
72</p>
73
74<code>[Which Belgian comic book character is better, Tintin or
75Asterix, and why?]</code>
76
77<p>
78While not strictly necessary, humoring the maintainers and answering
79this question would be appreciated.
80</p>
81
82<p>
83For more information about getting a copyright assignment, please see
84<a href=http://www.gnu.org/prep/maintain_4.html#SEC4=> Legal Issues</a>
85</p>
86
87<p>
88Please contact <a href="mailto:bkoz+assign@redhat.com">Benjamin
89Kosnik</a> if you are confused about the assignment or have general
90licensing questions. When requesting an assignment form from <a
91HREF="mailto:assign@gnu.org">assign@gnu.org</a>, please cc
92the above libstdc++ maintainer so that progress can be monitored.
93</p>
94
95
96<hr />
97<h4>THREE : submitting patches</h4>
98
99<p>
100Every patch must have several pieces of information before it can be
101properly evaluated. Ideally (and to ensure the fastest possible
102response from the maintainers) it would have all of these pieces:
103</p>
104
105<ul>
106
107 <li> A description of the bug and how your patch fixes this bug. For
108 new features a description of the feature and your implementation. </li>
109
110 <li> A ChangeLog entry as plain text; see the various ChangeLog files
111 for format and content. If using you are using emacs as your editor,
112 simply position the insertion point at the beginning of your change
113 and hit CX-4a to bring up the appropriate ChangeLog
114 entry. See--magic! Similar functionality also exists for vi.  </li>
115
116 <li> A testsuite submission or sample program that will easily and
117 simply show the existing error or test new functionality.  </li>
118
119 <li> The patch itself. If you are accessing the CVS repository at
120 Cygnus, use "cvs update; cvs diff -c3p NEW"; else, use "diff -c3p OLD
121 NEW" ... If your version of diff does not support these options, then
122 get the latest version of GNU diff. </li>
123
124 <li> When you have all these pieces, bundle them up in a mail message
125and send it to libstdc++@gcc.gnu.org. All patches and related
126discussion should be sent to the libstdc++ mailing list. </li>
127
128</ul>
129
130</body>
131</html>
132
133