Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2003 18:51:41 -0500
From:      Mark Linimon <linimon@lonesome.com>
To:        freebsd-doc@freebsd.org
Subject:   RFC: additions to the article "problem-reports"
Message-ID:  <200305081851.41118.linimon@lonesome.com>

next in thread | raw e-mail | index | archive | help
While working on my project to classify ports PRs in the database,
I've come across more than my fair share of PRs that are really
badly written.  Although the problem-reports article touches on
this to some degree, I really feel that some of the most obvious
mistakes bear further explanation.

So here's a rough draft of a new section "Tips and tricks for writing
a good Problem Report" to be applied to
/usr/doc/en_US.ISO8859-1/articles/problem-reports/article.sgml.
A few things to note first:

1. I've never written SGML before, and I haven't verified this
text's correctness.  (Maybe someday I'll learn how to do that,
but right now I am in the middle of this other hackathon, see ... :-) )

2. I've never written this large a chunk of FreeBSD documentation
before, so I won't be offended if either the style is found wanting,
or, in this case, my choice of where to put the changes.  (No place
seemed exactly correct.)

In any case I think this is a necessary, but probably insufficient,
change for the documentation, and I'd like to see what other
people think.  Consider it a starting point.

Mark Linimon (aka "mcl")

--- article.sgml.dist	Thu May  8 17:16:29 2003
+++ article.sgml	Thu May  8 18:44:42 2003
@@ -187,10 +187,128 @@
 
     <para>Now that you have decided that your issue merits a problem
       report, and that it is a FreeBSD problem, it is time to write
-      the actual problem report.  Make sure your <envar>VISUAL</envar>
+      the actual problem report.  Before we get into the mechanics
+      of the program used to generate and submit PRs, here are some
+      tips and tricks to help make sure that your PR will be most
+      effective.</para>
+
+    <section>
+      <title>Tips and tricks for writing a good Problem Report</title>
+
+      <itemizedlist>
+	<listitem>
+	  <para><emphasis>Do not leave the Subject: line empty</emphasis>
+            The PRs go not just to a mailing list that goes all over
+            the world, but also into a database.  Anyone who comes
+            along later and looks through the database, and finds
+            PRs with a blank subject line, tends to just skip over
+            them.  Remember that PRs stay in this database until
+            they are closed by someone.  An anonymous one will
+            usually just disappear in the noise.</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>Avoid using a weak Subject: line</emphasis>
+            You should not assume that anyone reading your PR has
+            any context for your submission: what part of the system
+            does the problem apply to?  Do you only see the problem
+            while installing, or while running?  So, instead of saying,
+            for instance, "Subject: portupgrade is broken", say,
+            "Subject: port sysutils/portupgrade coredumps on
+            -current".  (In the case of ports, it is especially
+            helpful to have both the category and portname in
+            the Subject line.)</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>If you have a patch, say so</emphasis>
+            A PR with a patch included is much more likely to be
+            looked at than one without.  If you are including one,
+            put the string <literal>[patch]</literal> at the
+            beginning of the Subject.  (Although it is not mandatory
+            to use that exact string, by convention, that is the one
+            that is used.)</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>If you are a maintainer, say so</emphasis>
+            By convention, if you are maintaining a part of the
+            source code (for instance, a port), put the string
+            <literal>[maintainer update]</listeral> at the
+            beginning of your Subject: line.</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>Be specific</emphasis>
+            The more information you supply about what problem you
+            are having, the better your chance of getting a response.
+            You should include such things as what version you are
+            running (there is a place to put that, see below);
+            which architecture you are running on;
+            whether you are running from a release CDROM, or from
+            a system maintained by &cvsup.1; (and, if so, how
+            recently you updated); and, if a kernel problem,
+            if you have read <literal>src/UPDATING</literal>
+            (someone is guaranteed to ask).  You do not necessarily
+            have to provide your kernel configuration, which ports
+            you have available, and a core dump (including these
+            by default only tends to fill up the database), but you
+            should be prepared to make them available, either
+            privately or publicly, if so asked.</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>Avoid vague requests for features</emphasis>
+            PRs of the form "someone should really implement something
+            that does so-and-so" are less likely to get results than
+            very specific requests.  Remember, the source is available
+            to everyone, so if you want a feature, the best way to
+            ensure it being included is to get to work!  Also consider
+            the fact that many things like this would make a better
+            topic for discussion on a mailing list (such as
+            <literal>freebsd-questions</literal>) than as an entry
+            in the PR database, as discussed above.</para>
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>Make sure no one else has already submitted
+            a similar PR</emphasis>
+            Although this has already been mentioned above, it bears
+            repeating here.  It only take a minute or two to use the
+            web-based search engine.  (Of course, everyone is guilty of
+            forgetting to do this now and then.)
+        </listitem>
+      
+	<listitem>
+	  <para><emphasis>Avoid controversial requests</emphasis>
+            If your PR addresses an area that has been controversial
+            in the past, you should probably be prepared to not only
+            offer patches, but also justification for why the patches
+            are The Right Thing To Do.  As noted above, a careful
+            search of past mailing lists is always good preparation.
+            </para>
+        </listitem>
+
+	<listitem>
+	  <para><emphasis>Be polite</emphasis>
+            Almost anyone who would potentially work on your PR is
+            a volunteer.  No one likes to be told that they have to
+            do something when they are already doing it for some
+            motivation other than monetary gain.  This is a good
+            thing to keep in mind at all times on Open Source
+            projects.</para>
+        </listitem>
+      
+    </section>
+
+    <section>
+      <title>Before you begin</title>
+
+      <para>Before running the &man.send-pr.1; program,
+      make sure your <envar>VISUAL</envar>
       (or <envar>EDITOR</envar> if <envar>VISUAL</envar> is not set)
-      environment variable is set to something sensible, and run
-      &man.send-pr.1;.</para>
+      environment variable is set to something sensible.</para>
+    </section>
 
     <section>
       <title>Attaching patches or files</title>
@@ -235,8 +353,9 @@
     <section>
       <title>Filling out the template</title>
 
-      <para>The template consists of a list of fields, some of which
-	are pre-filled, and some of which have comments explaining
+      <para>When you run &man.send-pr.1;, you are presented with a
+        template.  The template consists of a list of fields, some of
+        which are pre-filled, and some of which have comments explaining
 	their purpose or listing acceptable values.  Do not worry
 	about the comments; they will be removed automatically if you
 	do not modify them or remove them yourself.</para>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305081851.41118.linimon>