FSF GCC merge 02/23/03
[official-gcc.git] / libstdc++-v3 / docs / html / 17_intro / contribute.html
blob17bc65f4ed02c7128c3f647d18d949cd069f54ef
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">
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <head>
8 <title>How to contribute</title>
9 </head>
10 <!--990301 slightly modified version of the GCC contribute.html file-->
11 <!-- #include virtual="/include/header-subpages.html"-->
12 <body>
13 <h2>How to contribute</h2>
14 <p>
15 The Standard C++ Library v3, or libstc++-2.90.x, follows an open development model. Active contributors are assigned maintainer-ship responsibility, and given write access to the CVS repository. First time submitors and all other potential contributors should follow this procedure:
16 </p>
18 <hr />
19 <h4>ONE : read the documentation</h4>
21 <ul>
22 <li> Get and read the relevant sections of the C++ language
23 specification. Copies of the full ISO 14882 standard are available on
24 line via the ISO mirror site for committee members. Non-members, or
25 those who have not paid for the privilege of sitting on the committee
26 and sustained their two meeting commitment for voting rights, may get
27 a copy of the standard from their respective national standards
28 organization. In the USA, this national standards organization is ANSI
29 and their web-site is right
31 <a href="http://www.ansi.org">here.</a>
32 (And if you've already registered with them, clicking this link will take you to directly to the place where you can
33 <a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998">buy the standard on-line.)</a>
34 </li>
36 <li> The library working group bugs, and known defects, can be obtained at these web sites:
37 <a href="http://www.dkuug.dk/jtc1/sc22/wg21/">http://www.dkuug.dk/jtc1/sc22/wg21 </a>
38 and <a href="http://www.comeaucomputing.com/iso/">http://www.comeaucomputing.com/iso/</a>
39 </li>
41 <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://reality.sgi.com/austern_mti/std-c++/faq.html"> here </a>.
42 </li>
44 <li> Peruse the <a href="http://www.gnu.ai.mit.edu/prep/standards_toc.html">GNU Coding Standards</a>, and chuckle when you hit the part about "Using Languages Other Than C."
45 </li>
47 <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>
48 </li>
50 <li> And last but certainly not least, read the library-specific information found <a href="../documentation.html"> here.</a>
51 </li>
53 </ul>
57 <hr />
58 <h4>TWO : copyright assignment</h4>
59 <p>
60 Small changes can be accepted without a copyright assignment form on
61 file. New code and additions to the library need completed copyright
62 assignment form on file at the FSF. Note: your employer may be required
63 to fill out appropriate disclaimer forms as well. Here is the <a href="libstdc++-assign.txt"> form. </a>
65 Please contact <a href="mailto:benjamin@cygnus.com">Benjamin
66 Kosnik</a> if you are confused about the assignment or have general
67 licensing questions.
68 </p>
71 <hr />
72 <h4>THREE : submitting patches</h4>
74 <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>
80 <ul>
82 <li> A description of the bug and how your patch fixes this bug. For
83 new features a description of the feature and your implementation. </li>
85 <li> A ChangeLog entry as plaintext; see the various ChangeLog files
86 for format and content. If using you are using emacs as your editor,
87 simply position the insertion point at the beginning of your change
88 and hit CX-4a to bring up the appropriate ChangeLog
89 entry. See--magic! Similar functionality also exists for vi. </li>
91 <li> A testsuite submission or sample program that will easily and
92 simply show the existing error or test new functionality. </li>
94 <li> The patch itself. If you are accessing the CVS repository at
95 Cygnus, use "cvs update; cvs diff -c3p NEW"; else, use "diff -c3p OLD
96 NEW" ... If your version of diff does not support these options, then
97 get the latest version of GNU diff. </li>
99 <li> When you have all these pieces, bundle them up in a mail message
100 and send it to libstdc++@gcc.gnu.org. All patches and related
101 discussion should be sent to the libstdc++ mailinglist. </li>
103 </ul>
105 </body>
106 </html>