<!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>Site FAQ</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="domainfaq">
   <h2>Site FAQ</h2>

   <dl>
    <dt>Community FAQ</dt>

    <dd>
     <ul>
      <li><a href="/nonav/docs/DomainFAQ.html#purpose">What's the purpose of this site?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#whoelseishere">Who else is here?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#onlyosproj">Is this site only for open source developers?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#hostpart">What is <!-- $host --> CollabNet's role in this site?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#hostedtools">What do you mean by "hosted tools"?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#whattools">What are those tools?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#contact">Who do I contact for help or feedback?</a></li>
     </ul>
    </dd>

    <dt>How to Participate</dt>

    <dd>
     <ul>
      <li><a href="/nonav/docs/DomainFAQ.html#clientside">What client-side tools will I need to participate?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#startproj">How do I start a project?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#content">How do I put proprietary content on my section of the site securely?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#share">How do I share code?</a></li>

      <li><a href="/nonav/docs/DomainFAQ.html#getinvolved">How do I get other developers involved in my project?</a></li>
     </ul>
    </dd>

    <dt>Security FAQ</dt>

    <dd>
     <ul>
      <li><a href="/nonav/docs/DomainFAQ.html#protect">What steps do we take to protect your data?</a></li>
     </ul>
    </dd>
   </dl>

   <h3>Community FAQ</h3>

   <dl>
    <dt><a id="purpose" name="purpose">Q: What's the purpose of this site?</a></dt>

    <dd>
     <p>A: SourceCast is dedicated web space for registered developers like you to turn your ideas into active, productive development projects. Here you can participate with other like-minded developers who share this vision. You can even invite developers whose expertise you seek to join you. But more than that, all the web-based tools you need to manage your project and collaborate with other developers <i>to get it done</i> also reside here. <!-- "more info" links here -->
     </p>
    </dd>

    <dt><a id="whoelseishere" name="whoelseishere">Q: Who else is here?</a></dt>

    <dd>
     <p>A: Other developer community members, Java developers, open source developers ... any developers who have been invited by project leaders and other developers to collaborate on projects hosted on SourceCast.</p>
    </dd>

    <dt><a id="hostpart" name="hostpart">Q: What is <!--  --> CollabNet's role in this site?</a></dt>

    <dd>
     <p>A: <!--  --> CollabNet is hosting this site to offer additional opportunities for developer members. This site seeks to extend open source development practises by fostering a development community around it. Beyond this overarching mission, there is no other agenda or top-down hierarchy beyond what developers themselves create in this web space. The point is to empower developers to drive the ultimate direction of this technology's development through consensus and collaboration. That's one of the hallmarks of the open source software movement and the principal reason for its proliferation.</p>
    </dd>

    <dt><a id="onlyosproj" name="onlyosproj">Q: Is this site only for open source projects?</a></dt>

    <dd>
     <p>A: Both open source and proprietary projects are accommodated in SourceCast. The simple reason for this is to give developers the choice, acknowledging that some development ideas in the emerging Wireless Internet climate may be more viable under commercial licensing. SourceCast offers the best of both worlds by giving developers access to the <a href="/nonav/docs/hostedtools.html">collaborative tools</a> and <a href="/nonav/docs/bestpractices.html">best practices</a> characteristic of successful open source software development projects, while also enabling these to be applied to development in a secure web environment.</p>
    </dd>

    <dt><a id="hostedtools" name="hostedtools">Q: What do you mean by "hosted tools"?</a></dt>

    <dd>
     <p>A: SourceCast enables collaborative development through <a href="/nonav/docs/hostedtools.html">web-based tools</a> made available to project owners and developers who become project members. SourceCast combines the best-of-breed open source tools into a web-based software development suite. Key features of this tool set are security, scalability, extensibility, and customizability.</p>
    </dd>

    <dt><a id="whattools" name="whattools">Q: What are those tools?</a></dt>

    <dd>
     <p>A: SourceCast provides simple, powerful web interfaces for <a href="/nonav/docs/ddCVS.html">version control</a>, <a href="/nonav/docs/ProjectIssues.html">issue tracking</a>, <a href="/nonav/docs/ProjectMail.html">discussions and decision-making</a>, automated builds<!-- LINK?-->, automated testing<!-- LINK?-->, project management and knowledge management<!-- LINK?-->. Project owners can configure these tools within each project and grant roles to project participants to fit the needs of the project.</p>
    </dd>

    <dt><a id="contact" name="contact">Q: Who do I contact for help or feedback?</a></dt>

    <dd>
     <p>A: Send any questions or comments to feedback@sourcecast.com.</p>
    </dd>
   </dl>

   <h3>How to Participate</h3>

   <dl>
    <dt><a id="clientside" name="clientside">Q: What client-side tools will I need to participate?</a></dt>

    <dd>
     <p>A: At minimum, you need a web browser, email client, CVS, and optionally SSH to secure your CVS connections. There may be additional domain specific tools you need depending upon the types of development project you wish to contribute to.</p>
    </dd>

    <dt><a id="startproj" name="startproj">Q: How do I start a project?</a></dt>

    <dd>
     <p>A: Use the "Start New Project" links in the Start Page or subsequent pages to access a brief, four-screen project creation process. After you have submitted your project information, you're able to view and customize your newly created project home page. You project is in a "pending" status until approved by site administrators. <a href="/nonav/docs/ProjectAdd.html">Read more about the process.</a></p>
    </dd>

    <dt><a id="content" name="content">Q: How do I put proprietary content on my section of the site securely?</a></dt>

    <dd>
     <p>A: If your development project is proprietary, only project members can view project documents, participate in project mailing lists, download/upload project files, view and report issues, and access the CVS repository. Proprietary project owners control project membership through a member approval process and project role assignments. In addition, the project administration tool allows project owners to grant specific permissions to individual users and developers through project role assignments.</p>

     <p>SourceCast uses Secure Socket Layer (SSL) technology to establishes a secure connection between the user and server, with a private key to encrypt data when transferred across this connection. You can also use optional SSH tunneling to protect your CVS connections from password snooping, data corruption or theft. <a href="/nonav/docs/ddSSHGuide.html">More information about SSH</a> is available on this site.</p>
    </dd>

    <dt><a id="share" name="share">Q: How do I share code?</a></dt>

    <dd>
     <p>A: When you join or lead a SourceCast project, you use <a href="/nonav/docs/ddCVS.html">CVS version control</a> to check out and work with project files, and then contribute your changes back into the project's repository. When other project members update their working files, they have access then to your code. Everyone on the CVS mailing list also receives automatic email notification when files are updated.</p>

     <p>As a project member you will likely be assigned to do code enhancements or contribute patches via <a href="/nonav/docs/ProjectIssues.html#aboutIZ">IssueZilla</a>, an issue tracking tool for managing project issues (defects, enhancements, features, tasks, and patches). You also subscribe to project mailing lists, where you can follow and participate in ongoing discussions about the project.</p>
    </dd>

    <dt><a id="getinvolved" name="getinvolved">Q: How do I get other developers involved in my project?</a></dt>

    <dd>
     <p>A: You can invited other developers to join your project at any time. When you start your own development project on SourceCast, the process includes an opportunity to list developers you want to invite to join you. They receive an automatically generated email that explains a little about SourceCast, gives the name and a brief description of your project, and includes a personalized message you have composed. After the project is already underway, you can invite someone by personal email at your discretion.</p>
    </dd>
   </dl>

   <h3>Security FAQ</h3>

   <dl>
    <dt><a id="protect" name="protect">Q: What steps do you take to protect my data?</a></dt>

    <dd>
     <p>A: SourceCast take appropriate steps to protect the information you share with us from unauthorized access or disclosure.</p>

     <p>In addition to sharing <!--  --> CollabNet developer site user ID/password authentication, SourceCast implements SSL security with a digital certificate. All pages in SourceCast are https secured through SSL encryption to protect any information in those pages and to authenticate that user information is sent to the correct server. Any CVS password information contained in user profiles for SourceCast is also encrypted to secure project information against unauthorized access.</p>
    </dd>
   </dl>

   <p>For more information, see this site's <a href="/nonav/docs/DomainPrivacyPolicy.html">Privacy Policy</a> and <a href="/nonav/docs/TermsOfUse.html">Terms of Use</a>.</p>

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


