Allow SROA to look at a vector type and see if the offset is out of range to be repla...
[oota-llvm.git] / docs / DeveloperPolicy.html
index 9877711c470474795a4d20893215932ffd6b041c..bf52ad289f6e6f2aed9dbea921a7f078a2423acc 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>LLVM Developer Policy</title>
-  <link rel="stylesheet" href="llvm.css" type="text/css">
+  <link rel="stylesheet" href="_static/llvm.css" type="text/css">
 </head>
 <body>
       
@@ -43,7 +43,7 @@
    the distributed nature of LLVM's development.  By stating the policy in clear
    terms, we hope each developer can know ahead of time what to expect when
    making LLVM contributions.  This policy covers all llvm.org subprojects,
-   including Clang, LLDB, etc.</p>
+   including Clang, LLDB, libc++, etc.</p>
 <p>This policy is also designed to accomplish the following objectives:</p>
 
 <ol>
@@ -52,6 +52,9 @@
   <li>Make life as simple and easy for contributors as possible.</li>
 
   <li>Keep the top of Subversion trees as stable as possible.</li>
+
+  <li>Establish awareness of the project's <a href="#clp">copyright,
+      license, and patent policies</a> with contributors to the project.</li>
 </ol>
   
 <p>This policy is aimed at frequent contributors to LLVM. People interested in
   
   <li><b>John McCall</b>: Clang LLVM IR generation.</li>
 
-  <li><b>Duncan Sands</b>: llvm-gcc 4.2.</li>
+  <li><b>Jakob Olesen</b>: Register allocators and TableGen.</li>
+
+  <li><b>Duncan Sands</b>: dragonegg and llvm-gcc 4.2.</li>
+  
+  <li><b>Peter Collingbourne</b>: libclc.</li>
+  
+  <li><b>Tobias Grosser</b>: polly.</li>
 </ol>
   
 <p>Note that code ownership is completely different than reviewers: anyone can
 </h2>
 <!--=========================================================================-->
 
+<div>
+
+<div class="doc_notes">
+<p style="text-align:center;font-weight:bold">NOTE: This section deals with
+   legal matters but does not provide legal advice.  We are not lawyers &mdash; 
+   please seek legal counsel from an attorney.</p>
+</div>
+
 <div>
 <p>This section addresses the issues of copyright, license and patents for the
-   LLVM project.  The copyright holder for the code is held by the individual
+   LLVM project.  The copyright for the code is held by the individual
    contributors of the code and the terms of its license to LLVM users and 
    developers is the
    <a href="http://www.opensource.org/licenses/UoI-NCSA.php">University of 
-   Illinois/NCSA Open Source License</a>.</p>
+   Illinois/NCSA Open Source License</a> (with portions dual licensed under the
+   <a href="http://www.opensource.org/licenses/mit-license.php">MIT License</a>,
+   see below).  As contributor to the LLVM project, you agree to allow any 
+   contributions to the project to licensed under these terms.</p>
 
-<div class="doc_notes">
-<p style="text-align:center;font-weight:bold">NOTE: This section deals with
-   legal matters but does not provide legal advice.  We are not lawyers, please
-   seek legal counsel from an attorney.</p>
-</div>
 
 <!-- _______________________________________________________________________ -->
 <h3><a name="copyright">Copyright</a></h3>
 <h3><a name="license">License</a></h3>
 <div>
 <p>We intend to keep LLVM perpetually open source and to use a liberal open
-   source license. All of the code in LLVM is available under the
+   source license.  <b>As a contributor to the project, you agree that any 
+   contributions be licensed under the terms of the corresponding 
+   subproject.</b>
+   All of the code in LLVM is available under the
    <a href="http://www.opensource.org/licenses/UoI-NCSA.php">University of
    Illinois/NCSA Open Source License</a>, which boils down to this:</p>
 
    if further clarification is needed.</p>
    
 <p>In addition to the UIUC license, the runtime library components of LLVM
-   (<b>compiler_rt and libc++</b>) are also licensed under the <a
+   (<b>compiler_rt, libc++, and libclc</b>) are also licensed under the <a
    href="http://www.opensource.org/licenses/mit-license.php">MIT license</a>,
    which does not contain the binary redistribution clause.  As a user of these
    runtime libraries, it means that you can choose to use the code under either
    the LLVM core to libc++ without the copyright owner's permission.
 </p>
 
-<p>Note that the LLVM Project does distribute llvm-gcc, <b>which is GPL.</b>
+<p>Note that the LLVM Project does distribute llvm-gcc and dragonegg, <b>which  
+   are GPL.</b>
    This means that anything "linked" into llvm-gcc must itself be compatible
    with the GPL, and must be releasable under the terms of the GPL.  This
    implies that <b>any code linked into llvm-gcc and distributed to others may
    be subject to the viral aspects of the GPL</b> (for example, a proprietary
    code generator linked into llvm-gcc must be made available under the GPL).
    This is not a problem for code already distributed under a more liberal
-   license (like the UIUC license), and does not affect code generated by
-   llvm-gcc.  It may be a problem if you intend to base commercial development
-   on llvm-gcc without redistributing your source code.</p>
+   license (like the UIUC license), and GPL-containing subprojects are kept
+   in separate SVN repositories whose LICENSE.txt files specifically indicate
+   that they contain GPL code.</p>
   
 <p>We have no plans to change the license of LLVM.  If you have questions or
    comments about the license, please contact the
    arbitrary purposes (including commercial use).</p>
    
 <p>When contributing code, we expect contributors to notify us of any potential
-   for patent-related trouble with their changes.  If you or your employer own
+   for patent-related trouble with their changes (including from third parties).  
+   If you or your employer own
    the rights to a patent and would like to contribute code to LLVM that relies
    on it, we require that the copyright owner sign an agreement that allows any
    other user of LLVM to freely use your patent.  Please contact
 
 </div>
 
+</div>
+
 <!-- *********************************************************************** -->
 <hr>
 <address>