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