gawkworkflow: Contributing

1 
1 1 How to Start Contributing
1 ***************************
1 
1 'gawk' development is distributed.  It's done using electronic mail
1 (email) and via branches in the Git repo(1) on Savannah
1 (http://savannah.gnu.org), the GNU project's source code management
1 site.
1 
1    In this major node we use some Git terminology.  If you're not at all
1 familiar with Git, then skim this major node and come back after reading
1 the rest of the Info file.
1 
1    'gawk' is similar to many other Free Software projects.  To begin
1 contributing, simply start!  Take a look at the 'TODO' file in the
1 distribution, see if there is something of interest to you, and ask on
1 the <bug-gawk@gnu.org> mailing list if anyone else is working on it.  If
1 not, then go for it!  (⇒Development Stuff for a discussion of
1 some of the technical things you'll need to do.  Here we describe the
1 process in general.)
1 
1    Your contribution can be almost anything that is relevant for 'gawk',
1 such as code fixes, documentation fixes, and/or new features.
1 
1      NOTE: If possible, new features should be done using 'gawk''s
1      extension mechanism.  If you want to add a user-visible language
1      change to the 'gawk' core, you're going to have to convince the
1      maintainer and other developers that it's really worthwile to do
1      so.
1 
1      Changes that improve performance or portability, or that fix bugs,
1      or that enable more things in extensions, will require less
1      convincing, of course.
1 
1    As you complete a task, submit patches for review to the
1 <bug-gawk@gnu.org> mailing list, where you'll be given feedback about
1 your work.  Once your changes are acceptable, the maintainer will commit
1 them to the Git repository.
1 
1    Over time, as the maintainer and development team gain confidence in
1 your ability to contribute, you may be asked to join the private 'gawk'
1 developers' mailing list, and/or be granted commit access to the Git
1 repository on Savannah.  This has happened to more than one person who
1 just "came out of the woodwork."
1 
1    Until that happens, or if you don't want to join the list, you should
1 continue to work with private branches and submission of patches to the
1 mailing list.
1 
1    Once you have commit access, if you want to make a major change or
1 add a major feature, where the patch(es) would be very large, it has
1 become the practice to create a separate branch, based off of 'master',
1 to host the feature.  This way the maintainer can review it, and you can
1 continue to improve it, until it's ready for integration into 'master'.
1 
1      NOTE: Because of the GNU project's requirements for signed
1      paperwork for contributions, the 'gawk' project will *not* work
1      with pull requests from GitHub (http://github.com) or any other
1      Git-based software hosting service.  You must submit patches to the
1      mailing list, and be willing to sign paperwork for large patches.
1 
1    The <bug-gawk@gnu.org> mailing list is not private.  Anyone may send
1 mail to it, and anyone may subscribe to it.  To subscribe, go to the
1 list's web page (https://lists.gnu.org/mailman/listinfo/bug-gawk) and
1 follow the instructions there.  If you plan to be involved long-term
1 with 'gawk' development, then you probably should subscribe to the list.
1 
1    ---------- Footnotes ----------
1 
1    (1) Short for "repository".
1