Generalize this article to include information about developers who are

not committers, since only a subset of the information here applies to them.

To date, this has only included people who have been given GNATS access
without a commit bit.

The refactoring of the text is admittedly awkward, but anything else
would probably be a significant rewrite.

Hat:		bugmeister
Reviewed by:	core
This commit is contained in:
Mark Linimon 2007-06-21 04:39:45 +00:00
parent fab9d14788
commit 9c7740b287
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30314

View file

@ -42,6 +42,15 @@
community. All new committers should read this document before they
start, and existing committers are strongly encouraged to review it
from time to time.</para>
<para>Almost all FreeBSD developers have commmit rights to one or
more repositories. However, a few developers do not, and some of
the information here applies to them as well. (For instance, some
people only have rights to work with the Problem Report database).
Please see <xref linkend="non-committers"> for more information.</para>
<para>This document may also be of interest to members of the FreeBSD
community who want to learn more about how the project works.</para>
</abstract>
</articleinfo>
@ -74,6 +83,11 @@
<filename>ports/</filename></entry>
</row>
<row>
<entry><emphasis>&a.bugmeister;</emphasis></entry>
<entry>&a.ceri; &a.linimon;, and &a.remko</entry>
</row>
<row>
<entry><emphasis>Mailing Lists</emphasis></entry>
<entry>&a.doc-developers;, &a.doc-committers;;
@ -731,11 +745,11 @@ alias scvs cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.org:/home/ncvs</p
</itemizedlist>
<para>You will almost certainly get a conflict because
of the <literal>$Id: article.sgml,v 1.263 2007-06-21 04:22:41 linimon Exp $</literal> (or in FreeBSD's case,
of the <literal>$Id: article.sgml,v 1.264 2007-06-21 04:39:45 linimon Exp $</literal> (or in FreeBSD's case,
<literal>$<!-- stop expansion -->FreeBSD<!-- stop expansion -->$</literal>)
lines, so you will have to edit the file to resolve the conflict
(remove the marker lines and the second <literal>$Id: article.sgml,v 1.263 2007-06-21 04:22:41 linimon Exp $</literal> line,
leaving the original <literal>$Id: article.sgml,v 1.263 2007-06-21 04:22:41 linimon Exp $</literal> line intact).</para>
(remove the marker lines and the second <literal>$Id: article.sgml,v 1.264 2007-06-21 04:39:45 linimon Exp $</literal> line,
leaving the original <literal>$Id: article.sgml,v 1.264 2007-06-21 04:39:45 linimon Exp $</literal> line intact).</para>
</listitem>
<listitem>
@ -1064,8 +1078,14 @@ Host pcvs.FreeBSD.org
<sect1 id="conventions">
<title>Conventions and Traditions</title>
<para>As a new committer there are a number of things you should do
first.</para>
<para>As a new developer there are a number of things you should do
first. The first set is specific to committers only.</para>
<sect2 id="conventions-committers">
<title>Guidelines For Committers</title>
<para>If you have been given commit rights to one or more of the
repositories:</para>
<itemizedlist>
<listitem>
@ -1138,11 +1158,31 @@ Host pcvs.FreeBSD.org
</listitem>
<listitem>
<para>Introduce yourself to the other committers, otherwise no one
<para>If you are subscribed to the &a.cvsall;, you will
probably want to unsubscribe to avoid receiving duplicate
copies of commit messages and their followups.</para>
</listitem>
</itemizedlist>
<para>All <filename>src</filename> commits should go to
&os.current; first before being merged to &os.stable;. No major
new features or high-risk modifications should be made to the
&os.stable; branch.</para>
</sect2>
<sect2 id="conventions-everyone">
<title>Guidelines For Everyone</title>
<para>Whether or not you have commit rights:</para>
<itemizedlist>
<listitem>
<para>Introduce yourself to the other developers, otherwise no one
will have any idea who you are or what you are working on. You do
not have to write a comprehensive biography, just write a paragraph
or two about who you are and what you plan to be working on as a
committer in FreeBSD. Email this to the &a.developers; and you will
developer in FreeBSD. (You should also mention who your mentor
will be). Email this to the &a.developers; and you will
be on your way!</para>
</listitem>
@ -1171,31 +1211,34 @@ Host pcvs.FreeBSD.org
on <hostid role="fqdn">freefall.FreeBSD.org</hostid> to
disable the checks for your email.</para>
</listitem>
<listitem>
<para>If you are subscribed to the &a.cvsall;, you will
probably want to unsubscribe to avoid receiving duplicate
copies of commit messages and their followups.</para>
</listitem>
</itemizedlist>
<para>All <filename>src</filename> commits should go to
&os.current; first before being merged to &os.stable;. No major
new features or high-risk modifications should be made to the
&os.stable; branch.</para>
<note>
<para>If you are a developer but not a committer, you will
not be subscribed to the committers or developers mailing lists;
the subscriptions are derived from the access rights.</para>
</note>
</sect2>
<para>All new committers also have a mentor assigned to them for
<sect2 id="mentors">
<title>Mentors</title>
<para>All new developers also have a mentor assigned to them for
the first few months. Your mentor is responsible for teaching
you the rules and conventions of the project and guiding your
first steps in the committer community. He or she is also
first steps in the developer community. He or she is also
personally responsible for your actions during this initial
period. Until your mentor decides (and announces with a forced
period.</para>
<para>For committers: until your
mentor decides (and announces with a forced
commit to <filename>access</filename>) that you have learned the
ropes and are ready to commit on your own, you should not commit
anything without first getting your mentor's review and
approval, and you should document that approval with an
<literal>Approved by:</literal> line in the commit
message.</para>
</sect2>
</sect1>
<sect1 id="pref-license">
@ -3070,6 +3113,60 @@ bak/packages packages from last complete &lt;major_version&gt; run on &lt;arch&
</qandaset>
</sect1>
<sect1 id="non-committers">
<title>Issues Specific To Developers Who Are Not Committers</title>
<para>A few people who have access to the FreeBSD machines do not
have commit bits. For instance, the project is willing to give
access to the GNATS database to contributors who have shown interest
and dedication in working on Problem Reports.</para>
<para>Almost all of this document will apply to these developers as
well (except things specific to CVS commits and the mailing list
memberships that go with them). In particular, we recommend that
you read:</para>
<itemizedlist>
<listitem>
<para>
<link linkend="admin">Administrative Details</link>
</para>
</listitem>
<listitem>
<para>
<link linkend="conventions-everyone">Conventions</link>
</para>
<note>
<para>You should get your mentor to add you to the
<quote>Additional Contributors</quote>
(<filename>doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml</filename>),
if you are not already listed there.</para>
</note>
</listitem>
<listitem>
<para>
<link linkend="developer.relations">Developer Relations</link>
</para>
</listitem>
<listitem>
<para>
<link linkend="ssh.guide">SSH Quick-Start Guide</link>
</para>
</listitem>
<listitem>
<para>
<link linkend="rules">The FreeBSD Committers' Big List of Rules</link>
<para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="perks">
<title>Perks of the Job</title>