| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta content="Apache Forrest" name="Generator"> |
| <meta name="Forrest-version" content="0.8-dev"> |
| <meta name="Forrest-skin-name" content="pelt"> |
| <title>Becoming an Apache Forrest committer</title> |
| <link type="text/css" href="skin/basic.css" rel="stylesheet"> |
| <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet"> |
| <link media="print" type="text/css" href="skin/print.css" rel="stylesheet"> |
| <link type="text/css" href="skin/profile.css" rel="stylesheet"> |
| <script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script> |
| <link rel="shortcut icon" href="favicon.ico"> |
| </head> |
| <body onload="init()"> |
| <script type="text/javascript">ndeSetTextSize();</script> |
| <div id="top"> |
| <!--+ |
| |breadtrail |
| +--> |
| <div class="breadtrail"> |
| <a href="http://www.apache.org/">apache</a> > <a href="http://forrest.apache.org/">forrest</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script> |
| </div> |
| <!--+ |
| |header |
| +--> |
| <div class="header"> |
| <!--+ |
| |start group logo |
| +--> |
| <div class="grouplogo"> |
| <a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="images/apache-forrest.png" title="The Apache Software Foundation"></a> |
| </div> |
| <!--+ |
| |end group logo |
| +--> |
| <!--+ |
| |start Project Logo |
| +--> |
| <div class="projectlogo"> |
| <a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="images/project-logo.gif" title="Apache Forrest"></a> |
| </div> |
| <!--+ |
| |end Project Logo |
| +--> |
| <!--+ |
| |start Search |
| +--> |
| <div class="searchbox"> |
| <form action="http://www.google.com/search" method="get" class="roundtopsmall"> |
| <input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google"> |
| <input name="Search" value="Search" type="submit"> |
| </form> |
| </div> |
| <!--+ |
| |end search |
| +--> |
| <!--+ |
| |start Tabs |
| +--> |
| <ul id="tabs"> |
| <li> |
| <a class="unselected" href="index.html">Welcome</a> |
| </li> |
| <li class="current"> |
| <a class="selected" href="contrib.html">Developers</a> |
| </li> |
| <li> |
| <a class="unselected" href="versions/index.html">Versioned Docs</a> |
| </li> |
| <li> |
| <a class="unselected" href="pluginDocs/index.html">Plugins</a> |
| </li> |
| <li> |
| <a class="unselected" href="tools/index.html">Tools</a> |
| </li> |
| </ul> |
| <!--+ |
| |end Tabs |
| +--> |
| </div> |
| </div> |
| <div id="main"> |
| <div id="publishedStrip"> |
| <!--+ |
| |start Subtabs |
| +--> |
| <div id="level2tabs"></div> |
| <!--+ |
| |end Endtabs |
| +--> |
| <script type="text/javascript"><!-- |
| document.write("Last Published: " + document.lastModified); |
| // --></script> |
| </div> |
| <!--+ |
| |breadtrail |
| +--> |
| <div class="breadtrail"> |
| |
| |
| </div> |
| <!--+ |
| |start Menu, mainarea |
| +--> |
| <!--+ |
| |start Menu |
| +--> |
| <div id="menu"> |
| <div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Getting involved</div> |
| <div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;"> |
| <div class="menuitem"> |
| <a href="contrib.html" title="Everyone is a developer and has something to contribute">Contributing</a> |
| </div> |
| <div class="menuitem"> |
| <a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists and discussion</a> |
| </div> |
| <div class="menuitem"> |
| <a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Reporting bugs and issues</a> |
| </div> |
| <div class="menuitem"> |
| <a href="forrest-friday.html" title="ForrestFriday monthly get-together">ForrestFriday IRC</a> |
| </div> |
| <div class="menuitem"> |
| <a href="events.html" title="List of upcoming related conferences and meetings">Events</a> |
| </div> |
| <div onclick="SwitchMenu('menu_selected_1.1.6', 'skin/')" id="menu_selected_1.1.6Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Project</div> |
| <div id="menu_selected_1.1.6" class="selectedmenuitemgroup" style="display: block;"> |
| <div class="menuitem"> |
| <a href="guidelines.html" title="Open development guidelines to encourage participation">Project guidelines</a> |
| </div> |
| <div class="menupage"> |
| <div class="menupagetitle">Being committed</div> |
| </div> |
| <div class="menuitem"> |
| <a href="roles.html" title="Tasks to keep the project flowing">Project roles</a> |
| </div> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Resources and Infrastructure</div> |
| <div id="menu_1.2" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="asf-infrastructure.html" title="Explain the ASF infrastructure">Introduction</a> |
| </div> |
| <div class="menuitem"> |
| <a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists</a> |
| </div> |
| <div class="menuitem"> |
| <a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Issue management</a> |
| </div> |
| <div class="menuitem"> |
| <a href="svn.html" title="Access to the Subversion (SVN) version control system">Version control</a> |
| </div> |
| <div class="menuitem"> |
| <a href="http://forrest.zones.apache.org/" title="Demonstrations and testbed at forrest.zones.apache.org">Demonstrations</a> |
| </div> |
| <div class="menuitem"> |
| <a href="gump.html">Gump integration</a> |
| </div> |
| <div onclick="SwitchMenu('menu_1.2.7', 'skin/')" id="menu_1.2.7Title" class="menutitle">Planning notes</div> |
| <div id="menu_1.2.7" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="plan/index.html">Overview</a> |
| </div> |
| <div class="menuitem"> |
| <a href="plan/internal-xhtml.html">Internal XHTML</a> |
| </div> |
| </div> |
| <div class="menuitem"> |
| <a href="todo.html">Todo</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Best Practices and Procedures</div> |
| <div id="menu_1.3" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="howto-dev.html" title="Describes tips and procedures for efficiently developing with Forrest.">Development tips</a> |
| </div> |
| <div class="menuitem"> |
| <a href="subversion_bestpractices.html" title="Best practice notes for Subversion">Subversion</a> |
| </div> |
| <div class="menuitem"> |
| <a href="documentation_bestpractices.html" title="Best practice notes for documentation">Documentation</a> |
| </div> |
| <div class="menuitem"> |
| <a href="howto-howto.html" title="Instructions for writing a new howto-document">Write a How-to</a> |
| </div> |
| <div onclick="SwitchMenu('menu_1.3.5', 'skin/')" id="menu_1.3.5Title" class="menutitle">Committer notes</div> |
| <div id="menu_1.3.5" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="zone.html" title="Notes for committers to manage forrest.zones.apache.org">Zone management</a> |
| </div> |
| <div class="menuitem"> |
| <a href="procedures/release/How_to_release.html" title="Instructions on preparing and creating a new Forrest release.">How to release</a> |
| </div> |
| <div class="menuitem"> |
| <a href="procedures/How_to_publish_docs.html" title="Instructions on publishing the Forrest Website">Publishing Forrest documentation</a> |
| </div> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Proposals</div> |
| <div id="menu_1.4" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="proposal-asf-forrestbot.html">ASF Forrestbot</a> |
| </div> |
| </div> |
| <div id="credit"></div> |
| <div id="roundbottom"> |
| <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div> |
| <!--+ |
| |alternative credits |
| +--> |
| <div id="credit2"> |
| <a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a> |
| </div> |
| </div> |
| <!--+ |
| |end Menu |
| +--> |
| <!--+ |
| |start content |
| +--> |
| <div id="content"> |
| <div title="Portable Document Format" class="pdflink"> |
| <a class="dida" href="committed.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br> |
| PDF</a> |
| </div> |
| <div class="trail">Font size: |
| <input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button"> |
| <input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button"> |
| <input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button"> |
| </div> |
| <h1>Becoming an Apache Forrest committer</h1> |
| <div class="abstract"> |
| This is a discussion of how users can become committers within the Apache |
| Forrest project. |
| </div> |
| <div id="minitoc-area"> |
| <ul class="minitoc"> |
| <li> |
| <a href="#committers">What is a committer?</a> |
| </li> |
| <li> |
| <a href="#copdoc">Contributing to the Project - CoPDoC</a> |
| </li> |
| <li> |
| <a href="#becoming">Becoming a Committer</a> |
| </li> |
| <li> |
| <a href="#responsibility">Responsibilities</a> |
| </li> |
| <li> |
| <a href="#discussion">Adding to the discussions and contributing code</a> |
| </li> |
| <li> |
| <a href="#references">References</a> |
| </li> |
| </ul> |
| </div> |
| |
| <a name="N10010"></a><a name="committers"></a> |
| <h2 class="underlined_10">What is a committer?</h2> |
| <div class="section"> |
| <div class="warning"> |
| <div class="label">Warning</div> |
| <div class="content"> |
| This document is under development and does not yet represent the view |
| of our community. |
| </div> |
| </div> |
| <div class="note"> |
| <div class="label">Note</div> |
| <div class="content"> |
| Content is being gleaned from various current and past discussions on |
| the Forrest dev mailing list, in particular |
| <a href="http://marc.theaimsgroup.com/?l=forrest-dev&m=112239074108858">this</a>. |
| Further editing of this page is needed and would be greatly appreciated. |
| </div> |
| </div> |
| <p> |
| Committer is an term used at the ASF to signify someone who is committed |
| to a particular project and who is invited to be part of the core group |
| within the project that ensures the project's vitality (represented by |
| the PMC, Project Management Committee). |
| </p> |
| <p> |
| One thing that is sometimes hard to understand when you are new to the |
| open development<sup>1</sup> process used at the ASF, is that we value |
| the community more than the code. A strong and healthy community will be |
| respectful and be a fun and rewarding place. Strong code will evolve. |
| </p> |
| </div> |
| |
| <a name="N1002A"></a><a name="copdoc"></a> |
| <h2 class="underlined_10">Contributing to the Project - CoPDoC</h2> |
| <div class="section"> |
| <p> |
| The foundation of a project and how the community contributes to it is |
| known by the acronym CoPDoC: |
| </p> |
| <ul> |
| |
| <li>(Co)mmunity - one must interact with others, and share vision |
| and knowledge</li> |
| |
| <li>(P)roject - a clear vision and consensus are needed</li> |
| |
| <li>(Do)cumentation - without it, the stuff remains only in the |
| minds of the authors</li> |
| |
| <li>(C)ode - discussion goes nowhere without code</li> |
| |
| </ul> |
| </div> |
| |
| <a name="N10043"></a><a name="becoming"></a> |
| <h2 class="underlined_10">Becoming a Committer</h2> |
| <div class="section"> |
| <p> |
| There is nothing at The Apache Software Foundation that says you must |
| write code in order to be a committer. Anyone who is supportive of the |
| community and works in any of the CoPDoC areas is a likely candidate for |
| committership. |
| </p> |
| <p> |
| Apache is a meritocracy. That is, once someone has contributed |
| sufficiently to any area of CoPDoC they can be voted in as a committer. |
| Being a committer does not mean you commit code, it means you are |
| committed to the project. |
| </p> |
| <p> |
| One of the key contributions people can make to the community is through |
| the support of a wide user base by assisting users on the user list, |
| writing user oriented docs and ensuring the user viewpoint is understood |
| by all developers. A main idea behind being a committer is the ability |
| to be a mentor and to work cooperatively with your peers. |
| </p> |
| <p> |
| The following diagram shows the progression of a user to a |
| committer/mentor. |
| </p> |
| <p> |
| |
| <img alt="committer path" src="committed-1.png"> |
| </p> |
| <p> |
| Meritocracy progresses this way <span class="codefrag">------------> |
| ------------------------></span> |
| |
| </p> |
| <p> |
| Note that this is not a hierarchy, it is a progression from a broad user |
| base from which those that wish to to contribute to the ongoing |
| development of the project (again, through any aspect of CoPDoC, not |
| just coding) can become involved as developers. From these developers |
| are those who take on additional roles of mentoring and more fully |
| commit themselves to the project. |
| </p> |
| </div> |
| |
| <a name="N10066"></a><a name="responsibility"></a> |
| <h2 class="underlined_10">Responsibilities</h2> |
| <div class="section"> |
| <p> |
| The additional responsibilities of the PMC as a whole are outlined in |
| the Apache Forrest project guidelines<sup>2</sup>. It should be noted |
| though that Apache projects should be fun, not pressure. As a PMC |
| member, just as a developer, you do as much work as you feel like doing. |
| You do not need to participate in every discussion, just because it |
| concerns the PMC. Neither do you need to participate in every vote or in |
| every development issue. We like people to be involved and we reward |
| contributions (meritocracy), but we do not punish a lack of |
| contributions. People come and go as their needs change and we adapt to |
| those changes. |
| </p> |
| </div> |
| |
| <a name="N10073"></a><a name="discussion"></a> |
| <h2 class="underlined_10">Adding to the discussions and contributing code</h2> |
| <div class="section"> |
| <p> |
| Discussion leads to a clearer community understanding of the project's |
| goals and objectives and also of how the community works. |
| </p> |
| <p> |
| Of course, there needs to be a balance between too much chat and not |
| enough code. If something is easy to do in code and does not impact the |
| overall product (such as a bug fix) then just go ahead and do it. |
| However, if something is to introduce a new feature, then it is best to |
| introduce your idea to the community via an email to the dev mail list |
| first. In this introduction you should outline why you want to do |
| something, how you propose to do it (pseudo code is a good way of |
| expressing this) and ask for comments. Any comments received will help |
| to fine tune the design and, in many cases, produce a quicker, more |
| elegant solution (this is the benefit of many eyes on a solution). |
| </p> |
| <p> |
| The absence of comments from others does not mean it is not a good idea, |
| in fact the reverse is true, it means nobody has any objection or |
| anything to add. It is only if people respond that you need to discuss |
| further. Once the discussion reaches consensus then coding can |
| accelerate. Once you have implicit or explicit approval for your |
| contribution, just go ahead and do it. Be sure to document what you have |
| done whilst you are at it. Without documentation (comments in code, |
| mailing list discussion and user docs) your code is next to useless - |
| nobody knows it is there and nobody knows how it works. |
| </p> |
| <p> |
| Online discussion is important for community building. Offline |
| discussion and one-to-one conversations deny the community the chance to |
| become involved and lead to solutions that are not ideal. So please do |
| as much discussion as possible on the dev or user mailing list. |
| </p> |
| </div> |
| |
| <a name="N10086"></a><a name="references"></a> |
| <h2 class="underlined_10">References</h2> |
| <div class="section"> |
| <p> |
| |
| <sup>1</sup> <a href="guidelines.html#way">Open development</a> at |
| Apache Forrest. |
| </p> |
| <p> |
| |
| <sup>2</sup> Apache Forrest <a href="guidelines.html">project |
| guidelines</a>. |
| </p> |
| </div> |
| |
| </div> |
| <!--+ |
| |end content |
| +--> |
| <div class="clearboth"> </div> |
| </div> |
| <div id="footer"> |
| <!--+ |
| |start bottomstrip |
| +--> |
| <div class="lastmodified"> |
| <script type="text/javascript"><!-- |
| document.write("Last Published: " + document.lastModified); |
| // --></script> |
| </div> |
| <div class="copyright"> |
| Copyright © |
| 2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a> |
| </div> |
| <!--+ |
| |end bottomstrip |
| +--> |
| </div> |
| </body> |
| </html> |