<!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>Remote branding</title>
 </head>

 <body class="docs" onload="self.focus()">
<div class="docs" id="termsofuse">

<!--h2>Terms of use</h2 heading is provided by servlet-->

<p>PLEASE READ THESE TERMS OF USE CAREFULLY BEFORE USING THIS SITE. <br />
   USING THIS SITE INDICATES THAT YOU AGREE TO THESE TERMS. <br /> 
   IF YOU DO NOT AGREE TO THESE TERMS, DO NOT USE THIS SITE.</p>

<h3>SourceCast&#153; Terms of Use</h3>

<p><b>CollabNet, Inc.</b> ("CollabNet"), maintains this web site (the "Site") on its <b>SourceCast</b> collaborative development platform, and all the information, communications, software, scripting, images, graphics and other materials and services found on the Site (collectively, the "Content") for the use of the registered developers, employees and other users of the Site, but only for the purposes of software development. In exchange for accessing, browsing and/ or using the Site, you agree to be bound by these terms of use. <b>CollabNet</b>, and its suppliers and licensors do not represent or endorse the accuracy or reliability of any of the Content or related services (the "Services") contained on, distributed through, or linked, downloaded or accessed from any of the Services contained on this Site, nor the quality of any software, products, information or other materials displayed, or obtained by you in connection with the Services (the "Materials"). You hereby acknowledge that any reliance upon any Content or Materials or your use of the Services shall be at your sole risk.</p>

<p><b>CollabNet</b> and its suppliers and licensors reserve the right, in their sole discretion but without any obligation, to make improvements to, or correct any errors or omissions in any portion of the Services, the Content or the Materials.</p> 
 
<p>THE SERVICES, THE CONTENT AND THE MATERIALS ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND. COLLABNET AND ITS SUPPLIERS AND LICENSORS DISCLAIM ANY EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES OF ANY KIND, INCLUDING ANY IMPLIED WARRANTY OR CONDITION OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR NONINFRINGEMENT. YOU HEREBY DISCLAIM ALL WARRANTIES BY COLLABNET  RELATING TO YOUR SITE USE. YOU ACKNOWLEDGE THAT YOUR ACCESS TO THE SITE WILL NOT BE FREE OF INTERRUPTIONS, THAT THE INFORMATION HEREIN MAY CONTAIN BUGS, ERRORS, TECHNICAL INACCURACIES, PROBLEMS OR OTHER LIMITATIONS AND THAT THE SITE MAY BE UNAVAILABLE FROM TIME TO TIME. YOU ASSUME TOTAL RESPONSIBILITY AND RISK FOR YOUR SITE USE AND SITE- RELATED SERVICES.</p>

  <h3>Limitation of liability</h3>

<p>UNDER NO CIRCUMSTANCES WILL COLLABNET OR ANY CONTENT PROVIDERS BE LIABLE OR RESPONSIBLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL (INCLUDING DAMAGES FOR LOSS OF BUISNESS, LOST PROFITS, LITIGATION, OR THE LIKE), SPECIAL, EXEMPLARY, PUNITIVE OR OTHER DAMAGES, UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN ANY WAY RELATING TO THE SITE, YOUR SITE USE, OR THE CONTENT, EVEN IF ADVISED OF THE POSSIBLITY OF SUCH DAMAGES. YOUR SOLE REMEDY FOR DISSATISFACTION WITH THE SITE AND/OR CONTENT IS TO CEASE ALL OF YOUR SITE USE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. </p>

<p>All material posted to this Site by a user must be relevant to the <b>SourceCast</b> Community and must be in good taste as determined by common sense and the most restrictive community standards. Such material must be free of obscenities and salacious materials, pornography, defamations of character, personal or corporate insults, and other inflammatory matter. Any material posted to this Site that fails to meet these standards may be removed and the account of the poster might be revoked. To comment on this policy or report material you believe is not appropriate contact <a href="mailto:feedback@sourcecast.com">feedback@sourcecast.com</a>. We will address any issue to the best of our ability.</p>

<p>For using the Services, you agree to be responsible for providing accurate and complete information about yourself during registration, and updating such information to keep it current. <b>CollabNet</b> may, in its sole discretion, terminate the accounts or access rights of users who may have provided inaccurate or incomplete information during registration.</p>

<p><b>CollabNet</b> is committed to respecting the intellectual property rights of others, and we ask all users of this Site to do the same. <b>CollabNet</b> may, in its sole discretion, terminate the accounts or access rights of users who may be infringing or otherwise be violating others' intellectual property rights. If you believe that your work has been copied in a way that constitutes infringement on this Site, please contact the copyright agent at <a href="mailto:copyright@sourcecast.com">copyright@sourcecast.com</a>.</p>

<p><b>CollabNet</b> may update these terms at any time by updating this posting. You should visit this page from time to time to review the then-current terms because they are binding on you.</p>

</div>
 </body>
</html>


