106 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
<!-- $Id: development.sgml,v 1.14 1997-08-12 09:17:39 asami Exp $ -->
 | 
						|
<!-- 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="staff"
 | 
						|
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>
 | 
						|
<tag><bf>The CVS repository</bf><label id="development:cvs-repository"></tag>
 | 
						|
 | 
						|
<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.</p>
 | 
						|
 | 
						|
<tag><bf>The committers list</bf><label id="development:committers"></tag>
 | 
						|
 | 
						|
<p>The <ref id="staff: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">.</p>
 | 
						|
 | 
						|
<tag><bf>The FreeBSD core team</bf><label id="development:core"></tag>
 | 
						|
 | 
						|
<p>The <ref id="staff: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>
 | 
						|
 | 
						|
<p>Some core team members also have specific <ref id="staff: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></p>
 | 
						|
 | 
						|
<tag><bf>Outside contributors</bf></tag>
 | 
						|
 | 
						|
<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.</p>
 | 
						|
 | 
						|
<p><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>
 | 
						|
 | 
						|
<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="contrib" name="how to contribute"> section in this handbook.</p>
 | 
						|
 | 
						|
</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!
 |