Contributed by Satoshi Asami
<[email protected]>
.
The development of FreeBSD is a very open and flexible process,
FreeBSD being literally built from the contributions of hundreds of
people around the world, as can be seen from our
list of contributors. We are constantly on the lookout for
new developers and ideas, and those interested in becoming more
closely involved with the project need simply contact us at the
FreeBSD technical discussions mailing list
<[email protected]>
. Those who prefer to work more independently are also
accommodated, and they are free to use our FTP facilities at ftp.freebsd.org to distribute their own patches or work-in-progress
sources. The FreeBSD announcements mailing list
<[email protected]>
is also available to those wishing
to make other FreeBSD users aware of major areas of work.
Useful things to know about the FreeBSD project and its development process, whether working independently or in close cooperation:
The central source tree for FreeBSD is maintained by CVS (Concurrent Version System), a freely available source code control tool which comes bundled with FreeBSD. The primary CVS repository resides on a machine in Concord CA, USA from where it is replicated to numerous mirror machines throughout the world. The CVS tree, as well as the -current and -stable trees which are checked out of it, can be easily replicated to your own machine as well. Please refer to the Synchronizing your source tree section for more information on doing this.
The
committers are the people
who have write access to the CVS tree, and are thus
authorized to make modifications to the FreeBSD source (the term
``committer'' comes from the cvs(1)
``commit
''
command, which is used to bring new changes into the CVS repository).
The best way of making submissions for review by the committers list
is to use the send-pr(1) command, though if something appears to be jammed
in the system then you may also reach them by sending mail to [email protected].
The FreeBSD core team would be equivalent to the board of directors if the FreeBSD Project were a company. The primary task of the core team is to make sure the project, as a whole, is in good shape and is heading in the right directions. Inviting dedicated and responsible developers to join our group of committers is one of the functions of the core team, as is the recruitment of new core team members as others move on. Most current members of the core team started as committers who's addiction to the project got the better of them.
Some core team members also have specific
areas of responsibility, meaning that they are committed to
ensuring that some large portion of the system works as advertised.
Note that most members of the core team are volunteers when it comes
to FreeBSD development and do not benefit from the project
financially, so "commitment" should also not be misconstrued as
meaning "guaranteed support." The ``board of directors'' analogy
above is not actually very accurate, and it may be more suitable to
say that these are the people who gave up their lives in favor of
FreeBSD against their better judgement! ;)
Last, but definitely not least, the largest group of developers are
the users themselves who provide feedback and bug-fixes to us on an
almost constant basis. The primary way of keeping in touch with FreeBSD's
more non-centralized development is to subscribe to the FreeBSD technical discussions mailing list
<[email protected]>
(see
mailing list info) where such
things are discussed.
The list of those who have
contributed something which made its way into our source tree is
a long and growing one, so why not join it by contributing something
back to FreeBSD today? :-)
Providing code is not the only way of contributing to the project; for a more complete list of things that need doing, please refer to the how to contribute section in this handbook.
In summary, our development model is organized as a loose set of concentric circles. The centralized model is designed for the convenience of the users of FreeBSD, who are thereby provided with an easy way of tracking one central code base, not to keep potential contributors out! Our desire is to present a stable operating system with a large set of coherent application programs that the users can easily install and use, and this model works very well in accomplishing that.
All we ask of those who would join us as FreeBSD developers is some of the same dedication its current people have to its continued success!