<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
<style type="text/css">
/* <![CDATA[ */ @import "/branding/css/tigris.css"; /* ]]> */
</style>
  <script src="/branding/scripts/sc.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />

  <title>Project owner administration</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="projectowneradmin">
   <h2>Project owner administration</h2>

   <div id="toc">
    <ul>
     <li><strong><a href="/nonav/servlets/HelpTOC">Help index</a></strong></li>
    </ul>

    <ul>
     <li>
      Project owner administration 
	  <ul>
      <ul>
       <li><a href="#aboutprojadmin">About project administration on this site</a></li>

       <li><a href="#projmgmtguidelines">Project management and leadership guidelines</a></li>
      </ul>
	</ul>
      <ul>       
          <li><a href="/nonav/docs/ProjectOwnerEdit.html">Editing and maintaining 
            the Project Home page</a></li>
          <li><a href="/nonav/docs/ProjectOwnerNews.html">Managing project site 
            news</a></li>
          <li><a href="/nonav/docs/ProjectOwnerMembers.html">Adding project members 
            and approving roles</a></li>
          <li><a href="/nonav/docs/ProjectOwnerMailingLists.html">Managing project 
            mailing lists</a></li>
          <li><a href="/nonav/docs/ProjectOwnerDocuments.html">Managing project 
            documentation</a></li>
          <li><a href="/nonav/docs/ProjectOwnerSource.html">Managing project source 
            code</a></li>
          <li><a href="/nonav/docs/ProjectOwnerIssues.html">Tracking and managing 
            project issues</a></li>
          <li><a href="/nonav/docs/ProjectOwnerCustomStyle.html">Managing custom HTML styling</a></li>
        </ul>
     </ul>
  </div>

   <h3><a id="aboutprojadmin" name="aboutprojadmin">About project administration on this site</a></h3>

   <p>As a Project Owner with one or more development projects hosted on this site, your administrative tasks are organized around the same project pages viewed by other project members or registered users. You access these same project pages as any project member or registered user, however, your page view may include additional administrative links and options. A link to <strong>Edit this project</strong> appears in the project task space below the project home title, enabling you to edit your project home page and appearance throughout the site.</p>

   <p>If your project's approval is pending, you still have access to most features and tools to help you get established and set up. Because the hosted tools for projects are automatically configured upon project creation, you may:</p>

   <ul>
    <li>invite additional developer participants</li>

    <li>update your project's home page</li>

    <li>publish project news</li>

    <li>upload project files and documents</li>

    <li>post to your project's mailing lists</li>

    <li>create subdirectories in your project's CVS repository</li>

    <li>check in source code</li>

    <li>use the issue tracker to enter and search project issues.</li>
   </ul>

   <p>While still in a pending approval status you cannot perform the following tasks:</p>

   <ul>
    <li>add project members</li>

    <li>approve project membership requests</li>

    <li>grant project roles.</li>
   </ul>

   <h3><a id="projmgmtguidelines" name="projmgmtguidelines">Project management and leadership guidelines</a></h3>

   <p>The help documents in this section cover this site's administrative functions available to you as a Project Owner. How you use this functionality to structure and lead your project toward achieving particular goals remains largely in your purview. Whenever possible, these help documents suggest the implications of administrative options with respect to project leadership and management.</p>

   <p>Project type will strongly influence the method in which you manage projects. If your project is a proprietary endeavor with commercial licensing, project governance may be largely determined by external factors, for example: corporate strategy, fiscal priorities, organizational structure, and established development methods. While many collaborative development practices can be successfully adopted within this framework, final decision making authority rests with the license holder and influences the development schedule and project goals to a high degree.</p>

   <p>If your project is under open source licensing, the development culture is intrinsically different and far more self determinant. The Project owner -- equipped with some knowledge and understanding of open source practices -- is responsible for establishing and communicating the project's parameters up front. As the project progresses, the project owner will need to nurture project participants toward an increasing sense of community and ownership.</p>

   <p>A third possibility is a combination of the above, that is, you are leading an open source project with the involvement and support of a corporate entity embracing open source to achieve certain business goals. In these circumstances, as the project owner you essentially function as the liaison between two cultures.</p>

   <p>Whichever scenario applies, answering the questions below will help you to communicate the fundamental purpose and structure of the project to members and potential participants. While these questions are geared towards open source projects, most can be applied to collaborative and proprietary projects as well. Consider the following:</p>

   <ul>
    <li>What is the ultimate mission of the project?</li>

    <li>What decision making and conflict resolution methodology will be used for the project(for example, voting, consensus building, or final authority)?</li>

    <li>What coding standards will be used for the project (for example, adherence to certain conventions and/or emphasis on particular architectural characteristics)?</li>

    <li>What methods will be used to help project members gain responsibility and ownership within the project (for example, how can developers' roles evolve to earn more privileges such as becoming module leaders)?</li>

    <li>What are the terms for accepting contributions (for example, as defined by the licensing, but also how are non-member ideas or bug-fixes dealt with)?</li>
   </ul>

   <p>To learn more about managing collaborative development in commercial development, see the following <a href="http://navigation.helper.realnames.com/framer/1/1/default.asp?realname=Information+Week&amp;url=http%3A%2F%2Fwww%2Einformationweek%2Ecom&amp;frameid=1&amp;providerid=1&amp;uid=30013699">"The Customer as Co-Developer"</a>, by Christopher Locke in InformationWeek (PDF).</p>

   <p>To learn more about leading open source development efforts see<a href="http://sern.ucalgary.ca/%7Emaurer/ICSE99WS/Submissions/Cubranic/Cubranic.html">"Open-Source Software Development"</a>, by Davor Cubranic, University of British Columbia.</p>

   <div class="courtesylinks">
    <p><a href="#toc">Top</a> | <a href="/nonav/servlets/HelpTOC">Help index</a></p>
   </div>
  </div>
 </body>
</html>


