greenrd     00/11/09 18:13:20

  Modified:    xdocs    contrib.xml
  Added:       xdocs    3rdparty.xml
  Log:
  Contrib system nearly ready!! comments on licensing policy welcomed
  
  Revision  Changes    Path
  1.2       +143 -7    xml-cocoon/xdocs/contrib.xml
  
  Index: contrib.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/xdocs/contrib.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- contrib.xml       2000/10/20 18:24:03     1.1
  +++ contrib.xml       2000/11/10 02:13:19     1.2
  @@ -4,17 +4,58 @@
   
   <document>
    <header>
  -  <title>Making a Contribution to Cocoon</title>
  +  <title>Making a Contribution to Apache Cocoon</title>
     <authors>
      <person name="Robin Green" email="[EMAIL PROTECTED]"/>
  +   <person name="Stefano Mazzocchi" email="[EMAIL PROTECTED]"/> 
     </authors>
    </header>
   
    <body>
   
    <s1 title="Introduction">
  +
  +  <p>
  +   The Cocoon Project is an <link href="http://www.opensource.org/";>Open 
Source</link>
  +   volunteer project under the auspices of the
  +   <link href="http://www.apache.org/";>Apache Software Foundation 
(ASF)</link>,
  +   and, in harmony with the Apache webserver itself, it is released under
  +   a very open license.
  +   This means there are many ways to contribute to the project - either
  +   with direct participation (coding, documenting, answering questions,
  +   proposing ideas, reporting bugs, suggesting bug-fixes, etc..) or by 
resource
  +   donations (money, time, publicity, hardware, software, conference
  +   presentations, speeches, etc...).
  +  </p>
     <p>
  -   There are many ways of contributing to the Cocoon project. This document 
is mainly about
  +   To begin with, we suggest you to subscribe to the
  +   <connect href="mail-lists.xml">Cocoon mailing lists</connect>
  +   (follow the link for information on how to subscribe and to access the 
mail
  +   list archives), to checkout the <link 
href="http://xml.apache.org/websrc/index.cgi/xml-cocoon/";>
  +   latest and greatest code</link> (which you find in the xml-cocoon module 
in
  +   the xml.apache.org CVS code repository, or from the
  +   <link href="http://xml.apache.org/from-cvs/xml-cocoon/";>CVS 
snapshots</link>),
  +   control the <connect href="todo.xml">todo</connect>
  +   list and jump in. Document writers are usually the most wanted people so 
if
  +   you like to help but you're not familiar with the innermost technical 
details, don't worry:
  +   we have work for you!
  +  </p>
  +  <p>
  +   For financial support in particular, the Cocoon Project and the ASF in 
general
  +   is closely collaborating with the <link 
href="http://www.sourcexchange.com";>Collab.net
  +   SourceXchange</link> program that will provide a legal, solid and
  +   well-established resource for money collecting to fund software production
  +   under the open source flag. Please, feel free to contact directly
  +   the ASF President and Collab.net co-founder <link href="mailto:[EMAIL 
PROTECTED]">Brian
  +   Behlendorf</link> for more information on how to contribute financially 
to the
  +   advancement of this project.
  +  </p>
  +
  + </s1>
  +
  + <s1 title="Help Wanted Here">
  +  <p>
  +   The rest of this document is mainly about
      contributing new or improved code and/or documentation, but we would also 
be glad to have
      extra help in any of the following areas:
     </p>
  @@ -27,19 +68,114 @@
       writing, some known bugs are informally listed on <connect 
href="todo.xml">To Do</connect>, but
       eventually a bug database should be made available on the Apache 
site).</li>
      <li>Specifying/analysing/designing new features for Cocoon 2 - and 
beyond. (If you wish to get involved
  -    with this, please join <code>[email protected]</code>, install 
and try out Cocoon 2
  -    and read some of the <link href="http://mail-archives.apache.org";>mail 
archives</link>.
  +    with this, please join <code>[email protected]</code>
  +    (you may also want to join <code>[EMAIL PROTECTED]</code>), install and 
try out Cocoon 2
  +    and read some of the <link href="http://mail-archives.apache.org/";>mail 
archives</link>.
       You should have a strong "fluency" in XML technologies, Java and a basic 
understanding of
       the Cocoon 2 architecture - don't just say "it should have XYZ" without 
reading anything first -
  -    chances are, someone's already thought of that feature!)</li>
  +    because chances are, someone's already thought of that feature!)</li>
      <li>Packaging easy-to-install packages (such as RPMs) for the myriad of 
possible configurations out
       there. (The Cocoon project does not maintain anything but the basic 
<code>.zip</code> and
       <code>.tar.gz</code> packages, but anyone is welcome to build their own 
specific packages and
       announce them on <code>cocoon-users</code>)</li>
  -   <li>... and there is just one other thing - don't forget to tell everyone 
who asks how great Cocoon is! ;-)</li>
  +   <li>... and there is just one other thing - don't forget to tell everyone 
who asks how great Cocoon is! ;-)
  +    The more people that know about and start to use Cocoon, the larger the 
pool of
  +    potential contributors there will be
  +    - so, please, help us by placing the cocoon logo somewhere in your
  +    site to indicate that you are using and supporting the Cocoon Project.
  +   </li>
  +  </ul>
  + 
  +  <p>
  +   Thank you very much. <img src="images/cocoon-small.jpg" alt="Powered by 
Cocoon"/>
  +  </p>
  + </s1>
  +
  + <s1 title="Contributions of Code and Documentation">
  +  <p>We are starting to use an informal system for accepting contributions 
to Cocoon.
  +   The process varies depending on whether the contribution is a 
modification (i.e. patch)
  +   or a fairly standalone item, and whether you have commit access 
(committers have been
  +   granted access by a vote of confidence, so they are assumed to be 
trustworthy enough
  +   to make changes directly in CVS. If you submit many good patches, you may 
be 
  +   nominated as a committer yourself!)</p>
  +
  +  <p>If your contribution requires changing more than a few lines of Cocon 
(code or
  +   documentation), then it counts as a <strong>patch</strong>. If you have a 
patch and
  +   would like to see it incorporated into the Cocoon distribution, take note 
of the Licensing
  +   Requirements listed below, and then read the <connect 
href="patches.xml">Patch management
  +   </connect> page for more information.
  +  </p>
  +
  +  <p>Otherwise (that is, if it does not require patching or you are not 
particularly interested in
  +   having it included in the main distribution), your code and/or
  +   documentation can be listed on the 
  +   <connect href="3rdparty.xml">Third-Party Contributions</connect> page.
  +   The rationale for this split is that core patches may fix important 
issues, and may 
  +   require timely attention if they are not to go
  +   out-of-date and become useless, but other contributions can simply be 
downloaded and
  +   applied by users who wish to use them.
  +  </p>
  +
  +  <p>A typical contribution (not a patch) may go through the following 
stages:
  +  <ol>
  +   <li>Posted to cocoon-users with a URL to download it from.</li>
  +   <li>Listed on 3rdparty.html by a maintainer. [No requirements, other than 
relevance (at the moment).]</li>
  +   <li>Inclusion into the <code>contrib</code> directory,
  +    which is for 3rd-party contributions that have been tested, but are not 
necessarily
  +    mature enough or general enough for the main distribution. [Must be 
tested at least as
  +    specified below. See also Licensing Requirements below.]
  +   <li>Inclusion into the main distribution. [Committers must be confident 
that it should work properly in 
  +    most/all environments, and it must be considered sufficiently useful and 
general to go into Cocoon. See also
  +    Licensing Requirements below].</li>
  +  </ol>
  +  
  +  <s2 title="Testing Requirements for Cocoon Contrib and Distribution">
  +   <note>These tests do not apply to Cocoon 2 because it is designed
  +    to have different minimum requirements. As Cocoon 2 is still alpha we 
are not at a rigourous
  +    test stage yet. Stay tuned!</note>
  +
  +   <p>All new code should be tested under the following servlet engines:</p>
  +   <ul>
  +    <li>Apache JServ 1.1.2 (NOTE: This uses Servlet API 2.0)</li>
  +    <li>Apache Tomcat 3.1</li>
  +    <li>Resin 1.2.0</li>
  +   </ul>
  +   <p>It should also be tested on the following:</p>
  +   <ul>
  +    <li>A Windows operating system</li>
  +    <li>A UNIX-type operating system</li>
  +    <li>A JDK version 1.1.x</li>
  +   </ul>
  +   <p>And obviously, it should be tested against the current CVS snapshot of 
Cocoon!</p>
  +
  +   <p>This testing is designed to iron out the most common kinds of 
incompatibilty
  +    problems (Servlet >2.0 requirements; platform-dependent assumptions; JDK 
>1.1 code).
  +    These requirements are, of course, open to review and discussion. Note 
that
  +    the contributor is not required to do the testing - indeed it is 
probably better
  +    if someone else tests it, because the contributor might be tempted to do 
less
  +    than thorough testing!</p>
  +  </s2>
  +
  + <s2 title="Licensing Requirements for the Cocoon Distribution">
  +  <p>To avoid legal problems, the Apache Project Management Committe (PMC) 
have agreed on
  +   a policy for under what licensing code can be accepted into Apache 
projects:</p>
  +  <ul>
  +   <ol>Source code files must be under the Apache license and must have 
copyright assigned to
  +    the Apache Software Foundation.</ol>
  +   <ol>Jar files need only be released under a license that permits free 
redistribution
  +    and does not cover new files added to the jar/library (so the GPL and 
LGPL are not allowed,
  +    but MPL and Apache licenses are, for example).</ol>
     </ul>
  +  <p><strong>By submitting a patch, you signify your understanding and 
acceptance of these
  +   conditions</strong> - like most open source projects, 
  +   we do not have the resources nor the inclination to obtain signed 
statements from all
  +   contributors!</p>
   
  -  <p></p>
  +  <p><strong>Note:</strong> Since the <code>contrib/</code> directory of 
Cocoon CVS contains
  +   third-party. completely optional extensions, one of the above 
requirements is relaxed.
  +   Code in the contrib directory does not have to have its copyright 
assigned to the ASF
  +   - but it must still be released under the Apache license.</p>
  + </s2>
    </s1>
   </body>
   </document>
  
  
  
  1.1                  xml-cocoon/xdocs/3rdparty.xml
  
  Index: 3rdparty.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "./dtd/document-v10.dtd">
  
  <document>
   <header>
    <title>Third Party Contributions</title>
    <authors>
     <person name="Robin Green" email="[EMAIL PROTECTED]"/>
     <person name="Ovidiu Predescu" email="[EMAIL PROTECTED]"/> <!-- author of 
emacs editing functions -->
    </authors>
   </header>
  
   <body>
  
   <s1 title="How to Contribute">
    <p>
     See <connect href="contrib.xml">How to contribute to Apache 
Cocoon</connect>.
    </p>
  
   </s1>
  
   <s1 title="Contributed Components">
    <p>
     These are not necessarily deemed to be high enough quality to be included 
in the
     core distribution, but they have been tested under <connect 
href="contrib.xml">
     several key environments</connect>, they are provided under the same 
license
     as Cocoon, and they are included in the Cocoon distribution under the
     <code>contrib/</code> directory.
    </p>
  
    <p>
     <strong>None as yet!</strong> - although you can expect that some of the 
links
     listed below will eventually migrate to the "contributed components" 
level, and
     then maybe even into the main distribution.
    </p>
   </s1>
  
   <s1 title="Patch Queue">
    <p><connect href="patches.xml">Submissions of modifications</connect>
     to Cocoon which are awaiting review. Anyone can
     comment on them on the cocoon-dev mailing list - code reviewers are needed!
     <strong>Use these at your own risk</strong> - although Cocoon has no 
guarantee
     either, these patches have not been reviewed, let alone accepted.
    </p>
   </s1>
  
   <s1 title="Other Extensions">
    <p>The other extensions listed here are <strong>not endorsed</strong> by 
the Cocoon
     project either - they are provided as a convenience only. They may or may 
not work,
     they may or may not be open source, etc.
    </p>
  
    <p>To have a link added to this table, see <connect href="contrib.xml">How 
to contribute
     to Apache Cocoon</connect>.
    <p>
  
    <table>
     <tr>
      <th>Name and Link</th>
      <th>Type</th>
      <th>Description</th>
      <th>Limitations?</th>
      <th>Licensing</th>
      <th>Contact</th>
     </tr>
     <tr>
      <td><link href="http://perso.club-internet.fr/pedron/ejb/index.html";>EJB 
Taglib</link></td>
      <td>Logicsheet</td>
      <td>An experimental logicsheet to faciliate the use of Enterprise Java 
Beans from an XSP page</td>
      <td>?</td>
      <td>Freeware</td>
      <td><link href="mailto:[EMAIL PROTECTED]">Yvon Pedron</link></td>
     </tr>
     <tr>
      <td><link href="http://kenny.socialchange.net.au/~jeff/ldaptaglib/";>LDAP 
Taglib</link></td>
      <td>Logicsheet</td>
      <td>Performs LDAP queries and serializes their results as XML. 
Alternative to Cocoon's LDAP Processor.</td>
      <td>?</td>
      <td>Freeware</td>
      <td><link href="[EMAIL PROTECTED]">Jeff Turner</link></td>
     </tr>
  
     <tr>
      <td><link 
href="http://www.life.be/~bavo/projects/gpl/cocoon/imapprocessor.tgz";>IMAP 
Processor</link></td>
      <td>Processor</td>
      <td>Sends emails via an IMAP server.</td>
      <td>Not fully functional. Mail taglib in Cocoon distribution is probably 
better.</td>
      <td><link href="http://www.fsf.org/";>GPL</link></td>
      <td><link href="mailto:[EMAIL PROTECTED]">Bavo De Ridder</link></td>
     </tr>
  
     <tr>
      <td><link href="http://www.suranyami.com/cocoon1";>UML Docs for Cocoon 
1.8</link></td>
      <td>Documentation</td>
      <td>Complete UML diagrams for Cocoon 1.8. UML appears in top pane, 
javadoc in bottom right.
       Generated using Together 4.1.</td>
      <td>?</td>
      <td>N/A</td>
      <td><link href="mailto:[EMAIL PROTECTED]">David Parry</link></td>
     </tr>
     <tr>
      <td><link href="http://feersumendjinns.com/cocoon/sessions.zip";>
       Session toy and number-guessing game</link></td>
      <td>Examples</td>
      <td>Demonstrates use of session variables</td>
      <td>?</td>
      <td>Freeware</td>
      <td><link href="mailto:[EMAIL PROTECTED]">OD</link></td>
     </tr>
    </table>
  
    <s2 title="Emacs Editing Functions for XSL/XSP">
     <p>Thanks to <link href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</link> 
for these.</p>
  
     <p><em>"For those of you that use Emacs/Xemacs to edit XSL/XSP pages, here 
are some
     handy functions you can use in your .emacs to speed up the editing. They 
insert
     the commonly used tags in the current buffer, indented and nicely 
formatted.
     They were developed and used on Xemacs 21.1, but they should work on GNU 
Emacs
     as well.</em></p>
  
     <p><em>"I'd be curious to know what other little things people use in 
emacs to speed up
     development."</em></p>
  
  <source><![CDATA[
  (require 'tempo)
  
     (defun get-value-from-minibuffer (display format-string)
       (let ((input (read-from-minibuffer display)))
         (if (string= input "")
             ""
           (format format-string input))))
  
     (tempo-define-template "xsl-template"
      '('&'o'> "<xsl:template"
        (get-value-from-minibuffer "Template name: " " match=\"%s\"")
        ">" 'n'>'n
        "</xsl:template>" '>
        (end-of-line 0)))
  
     (tempo-define-template "xsl-if"
      '('&'o'> "<xsl:if"
        (get-value-from-minibuffer "Test expression: " " test=\"%s\"")
        ">" 'n'>'n
        "</xsl:if>" '>
        (end-of-line 0)))
  
     (tempo-define-template "xsl-for-each"
      '('&'o'> "<xsl:for-each"
        (get-value-from-minibuffer "Select expression: " " select=\"%s\"")
        ">" 'n'>'n
        "</xsl:for-each>" '>
        (end-of-line 0)))
  
     (tempo-define-template "xsp-logic"
      '('&'o'> "<xsp:logic>" '>'n'>'n
        "</xsp:logic>" '>'n
        (end-of-line -1)))
  
     (tempo-define-template "xsp-expr"
      '('&'o'> "<xsp:expr>" '>'n'>'n
        "</xsp:expr>" '>'n
        (end-of-line -1)))
  
     (tempo-define-template "xsl-value-of"
      '('> "<xsl:value-of"
        (get-value-from-minibuffer "Value: " " select=\"%s\"")
        "/>" '>))
  
     (tempo-define-template "xsl-apply-templates"
      '('> "<xsl:apply-templates"
        (get-value-from-minibuffer "Select: " " select=\"%s\"")
        "/>" '>))
  
     (defun my-xml-templates-hook()
       (define-key xml-mode-map "\C-ct" 'tempo-template-xsl-template)
       (define-key xml-mode-map "\C-ci" 'tempo-template-xsl-if)
       (define-key xml-mode-map "\C-cf" 'tempo-template-xsl-for-each)
       (define-key xml-mode-map "\C-cv" 'tempo-template-xsl-value-of)
       (define-key xml-mode-map "\C-ca" 'tempo-template-xsl-apply-templates)
       (define-key xml-mode-map "\C-cl" 'tempo-template-xsp-logic)
       (define-key xml-mode-map "\C-ce" 'tempo-template-xsp-expr))
  
     (add-hook 'xml-mode-hook 'my-xml-templates-hook)
  ]]>
  </source>
  
    </s2>
  
   </s1>
  </body>
  </document>
  
  
  

Reply via email to