gawkworkflow: Contributing

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