<!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>About the Project Home page</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="projecthomeview">
   <h2>About the Project Home page</h2>

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

    <ul>
     <li>
      <a href="/nonav/docs/Learning.html">Learning about projects</a> 

      <ul>
       <li>Viewing project details</li>

       <li><a href="/nonav/docs/ProjectMail.html#mailsubscribe">About subscribing to mailing lists</a></li>

       <li><a href="/nonav/docs/ProjectMembershipRequest.html">Joining a project</a></li>

       <li><a href="/nonav/docs/ProjectRoles.html">Learning about project roles</a></li>
      </ul>
     </li>

     <li><a href="/nonav/docs/ProjectMemberResources.html">Project resource for members</a></li>

     <li><a href="/nonav/docs/hostedtools.html">Hosted tools</a></li>

     <li><a href="/nonav/docs/ProjectAdd.html">Creating a new project</a></li>
    </ul>
   </div>

   <p>The <b>Project Home</b> page for any particular project is the project's focal point with information that the project owner wishes to share with members and nonmembers alike. Because project home pages can be customized, these vary greatly, depending on the project owner's preferences. At a minimum, the owner should include content describing the nature and goals of the project. Interested users can also use the project's hyperlinks in the left navigation bar to learn more about the project, including subscribing to that project's mailing lists.</p>

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


