View | Details | Raw Unified | Return to bug 155513
Collapse All | Expand All

(-)article.sgml (+210 lines)
Lines 1230-1235 Link Here
1230
    </sect2>
1230
    </sect2>
1231
  </sect1>
1231
  </sect1>
1232
1232
1233
  <sect1 id="mentor.guidelines">
1234
    <title>Guideline for Mentor/Mentee relationships</title>
1235
1236
    <para>This section is intended to help demystify the
1237
      mentoring process, as well as a way to openly promote a
1238
      constructive discussion to adapt and grow the guidelines.
1239
      In our lives we have too many rules; we are not a
1240
      government organisation that inflicts regulation,
1241
      but rather a collective of like minded individuals
1242
      working toward a common goal, maintaining the quality
1243
      assurance of the product we call the Ports Tree.</para>
1244
1245
    <sect2 id="why.mentor">
1246
      <title>Why mentor?</title>
1247
1248
      <itemizedlist>
1249
	<listitem>
1250
	  <para>For most of us, we were mentored into the
1251
	    Project, so return the favor by offering to mentor
1252
	    somebody else in.</para>
1253
	</listitem>
1254
1255
	<listitem>
1256
          <para>You have an irresistible urge to inflict knowledge
1257
            on others.</para>
1258
	</listitem>
1259
1260
	<listitem>
1261
	  <para>The usual punishment applies because you are sick and
1262
	  tired of committing somebody else's good work!</para>
1263
	</listitem>
1264
      </itemizedlist>
1265
    </sect2>
1266
1267
    <sect2 id="mentor.comentor">
1268
      <title>Mentor/Co-Mentor</title>
1269
1270
      <para>Reasons for a co-mentorship:</para>
1271
1272
      <itemizedlist>
1273
        <listitem>
1274
	  <para>Significant timezone differential.
1275
	    Accessible, interactive mentor(s) available via
1276
	    IM is extremely helpful!</para>
1277
	</listitem>
1278
1279
	<listitem>
1280
	  <para>Potential language barrier.  Yes, &os; is very
1281
	    English oriented, as is most software development,
1282
	    however, having a mentor who can speak a native language
1283
	    can be very useful.</para>
1284
        </listitem>
1285
1286
	<listitem>
1287
	  <para>ENOTIME!  Until there is a 30 hour day, and an 8 day
1288
	    week, some of us only have so much time to give.
1289
	    Sharing the load with somebody else will make
1290
	    it easier.</para>
1291
	</listitem>
1292
1293
	<listitem>
1294
	  <para>A rookie mentor can benefit from the experience of a
1295
	    senior committer/mentor.</para>
1296
	</listitem>
1297
1298
	<listitem>
1299
	  <para>Two heads are better than one.</para>
1300
	</listitem>
1301
      </itemizedlist>
1302
1303
      <para>Reasons for sole mentorship:</para>
1304
1305
      <itemizedlist>
1306
	<listitem>
1307
	  <para>You do not play nicely with others.</para>
1308
	</listitem>
1309
1310
	<listitem>
1311
	  <para>You prefer to have a one-on-one relationship.</para>
1312
	</listitem>
1313
1314
	<listitem>
1315
	  <para>The reasons for co-mentorship do not apply
1316
	  to you.</para>
1317
	</listitem>
1318
      </itemizedlist>
1319
    </sect2>
1320
1321
    <sect2 id="mentor.expectations">
1322
      <title>Expectations</title>
1323
1324
      <para>We expect mentors to review and test-build all proposed
1325
        patches, at least for an initial period lasting more than a
1326
	week or two.</para>
1327
1328
      <para>We expect that mentors should take responsibility for
1329
        the actions of their mentee.  A mentor should follow up with
1330
	all commits the mentee makes, both approved
1331
	and implicit.</para>
1332
1333
      <para>We expect mentors to make sure their mentees read the
1334
	<ulink url="&url.books.porters-handbook;">Porter's Handbook</ulink>,
1335
	the <ulink url="&url.articles.pr-guidelines">PR handling guide</ulink>,
1336
	and the <link linkend="admin">Committer's Guide</link>.  While
1337
	it's not necessary to memorize all the details, every committer
1338
	needs to have an overview of these things to be an effective part
1339
	of the community (and avoid as many rookie mistakes as
1340
	possible.)</para>
1341
    </sect2>
1342
    
1343
    <sect2 id="mentees">
1344
      <title>Selecting a mentee</title>
1345
1346
      <para>There is no defined rule for what makes a candidate ready; it can be
1347
	a combination of number of PRs they have
1348
	submitted to <application>GNATS</application>, the number
1349
	of ports maintained, frequency of ports updates and/or level of
1350
	participation in a particular area of interest, e.g.
1351
	<application>GNOME</application>, <application>KDE</application>,
1352
	<application>Gecko</application> or others.</para>
1353
1354
      <para>A candidate should have almost no timeouts, be responsive to requests,
1355
	and generally helpful in supporting their ports.</para>
1356
1357
      <para>There must be a history of commitment, as it is widely understood
1358
	that training a committer requires time and effort.
1359
	If somebody has been around longer, and spent the time observing how
1360
	things are done, there is some anticipation of accumulated knowledge.
1361
	All too often we have seen a maintainer submit a few PRs, show up in
1362
	IRC and ask when they will be given a commit bit.</para>
1363
1364
      <para>Being subscribed to, and following the mailing lists is very
1365
	beneficial.  There is no real expectation that submitting posts on
1366
	the lists will make somebody a committer, but it demonstrates a
1367
	commitment.  Some mails offer insights into the knowledge of a
1368
	candidate as well how they interact with others.
1369
	Similarly participating in IRC can give somebody a
1370
	higher profile.</para>
1371
1372
      <para>Ask six different committers how many PRs a maintainer should submit
1373
	prior to being nominated, and you will get six different answers.  Ask
1374
	those same individuals how long somebody should have been participating,
1375
	same dilemma.  How many ports should they have at a minimum?  Now we have
1376
	a bikeshed!  Some things are just hard to quantify, a mentor will just
1377
	have to use their best judgement, and hope that
1378
	portmgr agrees.</para>
1379
1380
    </sect2>
1381
    <sect2 id="mentorship.duration">
1382
      <title>Mentorship duration</title>
1383
1384
      <para>As the trust level develops and grows, the mentee may be granted
1385
	<quote>implicits</quote> commit rights.  This can include trivial
1386
	changes to a <filename>Makefile</filename>,
1387
	<filename>pkg-descr</filename> etc.  Similarly, it may include
1388
	<makevar>PORTVERSION</makevar> updates that do not include
1389
	<makevar>plist</makevar> changes.  Other circumstances
1390
	may be formulated at the discretion of the Mentor.  However, during the
1391
	period of mentorship, a port version bump that affects dependent ports
1392
	should be checked by a mentor.</para>
1393
1394
      <para>Just as we are all varied individuals, each mentee has different learning
1395
	curves, time commitments, and other influencing factors that will
1396
	contribute to the time required before they can <quote>fly solo</quote>.
1397
	Empirically, a mentee should be observed for at least 3 months.
1398
	90-100 commits is another target that a mentor could use before releasing
1399
	a mentee.  Other factors to consider prior releasing a mentee are the
1400
	number of mistakes they may have made, QATs received etc.
1401
	If they are still making rookie	mistakes, they still
1402
	require mentor guidance.</para>
1403
    </sect2>
1404
1405
    <sect2 id="mentor.comentor.debate">
1406
      <title>Mentor/Co-Mentor debate</title>
1407
1408
      <para>When a request gets to portmgr, it usually reads as,
1409
	<quote>I propose 'foo' for a ports commit bit, I will co-mentor with
1410
	'bar'</quote>.  Proposal received, voted, and carried.</para>
1411
1412
      <para>The mentor is the primary point of contact or the
1413
	<quote>first among equals</quote>, the co-mentor is the backup.</para>
1414
1415
      <para>Some reprobate, whose name shall be withheld, made the
1416
	<ulink url="http://lists.freebsd.org/pipermail/cvs-ports/2007-September/134614.html">
1417
	  first recorded co-mentor commit</ulink>.
1418
	Similar co-mentor commits have also been spotted in
1419
	the src tree.  Does this make it right?  Does this make it wrong?
1420
	It seems to be part of the evolution of how things are done.</para>
1421
    </sect2>
1422
1423
    <sect2 id="mentee.expectations">
1424
      <title>Expectations</title>
1425
1426
      <para>We expect mentees to be prepared for constructive criticism from the
1427
	community.  There's still a lot of <quote>lore</quote> that isn't
1428
	written down. Responding well to constructive criticism is what we
1429
	hope we are selecting for by first reviewing their existing
1430
	contributions on IRC and mailing lists.</para>
1431
1432
      <para>We warn mentees that some of the criticism they receive may be
1433
	less <quote>constructive</quote> than others, (whether through
1434
	language communication problems, or excessive nit-picking), and that
1435
	dealing with this gracefully is just part of being in a large community.
1436
	In case of specific problems with specific people, or any questions, we
1437
	hope that they will approach a portmgr member
1438
	on IRC or by email.</para>
1439
      
1440
    </sect2>
1441
  </sect1>
1442
1233
  <sect1 id="pref-license">
1443
  <sect1 id="pref-license">
1234
    <title>Preferred License for New Files</title>
1444
    <title>Preferred License for New Files</title>

Return to bug 155513