|
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> |