110 lines
5.4 KiB
Plaintext
110 lines
5.4 KiB
Plaintext
<!-- $Id$ -->
|
|
<!-- The FreeBSD Documentation Project -->
|
|
|
|
<sect><heading>The FreeBSD development model<label id="development"></heading>
|
|
|
|
<p><em>Contributed by &a.asami;</em>.
|
|
|
|
<p>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 <ref id="contrib"
|
|
name="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
|
|
&a.hackers;. Those who prefer to work more independently are also
|
|
accommodated, and they are free to use our FTP facilities at <htmlurl
|
|
url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming"
|
|
name="ftp.freebsd.org"> to distribute their own patches or work-in-progress
|
|
sources. The &a.announce; 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:
|
|
|
|
<descrip>
|
|
<itemize>
|
|
<item><bf>The CVS repository</bf><label id="development:cvs-repository">
|
|
|
|
<p>The central source tree for FreeBSD is maintained by <htmlurl
|
|
url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html" name="CVS">
|
|
(Concurrent Version System), a freely available source code control
|
|
tool which comes bundled with FreeBSD. The primary <htmlurl
|
|
url="http://www.freebsd.org/cgi/cvsweb.cgi" name="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 <ref id="current" name="-current"> and <ref id="stable"
|
|
name="-stable"> trees which are checked out of it, can be easily
|
|
replicated to your own machine as well. Please refer to the
|
|
<ref id="synching" name="Synchronizing your source tree">
|
|
section for more information on doing this.</item>
|
|
|
|
<item><bf>The committers list</bf><label id="development:committers">
|
|
<p>The <ref id="contrib:committers" name="committers"> are the people
|
|
who have <em>write</em> access to the CVS tree, and are thus
|
|
authorized to make modifications to the FreeBSD source (the term
|
|
``committer'' comes from the <tt>cvs(1)</tt> ``<tt>commit</tt>''
|
|
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 <htmlurl url="http://www.freebsd.org/send-pr.html"
|
|
name="send-pr(1)"> command, though if something appears to be jammed
|
|
in the system then you may also reach them by sending mail to <htmlurl
|
|
url="mailto:committers@freebsd.org" name="committers@freebsd.org">.
|
|
</item>
|
|
|
|
<item><bf>The FreeBSD core team</bf><label id="development:core">
|
|
|
|
<p>The <ref id="contrib:core" name="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.
|
|
|
|
<p>Some core team members also have specific <ref id="contrib:who"
|
|
name="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! <tt>;)</tt></item>
|
|
|
|
|
|
<item><bf>Outside contributors</bf>
|
|
|
|
<p>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 &a.hackers;
|
|
(see <ref id="eresources:mail" name="mailing list info">) where such
|
|
things are discussed.
|
|
|
|
<ref id="contrib:additional" name="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? <tt>:-)</tt>
|
|
|
|
<p>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 <ref
|
|
id="submitters" name="how to contribute"> section in this handbook.
|
|
|
|
</itemize>
|
|
</descrip>
|
|
|
|
In summary, our development model is organized as a loose set of
|
|
concentric circles. The centralized model is designed for the
|
|
convenience of the <em>users</em> 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 <ref id="ports"
|
|
name="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!
|