@c Copyright (C) 1988-2021 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.

@node Contributing
@chapter Contributing to GCC Development

If you would like to help pretest GCC releases to assure they work well,
current development sources are available via Git (see
@uref{http://gcc.gnu.org/git.html}).  Source and binary snapshots are
also available for FTP; see @uref{http://gcc.gnu.org/snapshots.html}.

If you would like to work on improvements to GCC, please read the
advice at these URLs:

@smallexample
@uref{http://gcc.gnu.org/contribute.html}
@uref{http://gcc.gnu.org/contributewhy.html}
@end smallexample

@noindent
for information on how to make useful contributions and avoid
duplication of effort.  Suggested projects are listed at
@uref{http://gcc.gnu.org/projects/}.
