Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 7B85D200CCD for ; Sat, 17 Jun 2017 02:04:03 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7A3F1160BF1; Sat, 17 Jun 2017 00:04:03 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3EAAF160BEC for ; Sat, 17 Jun 2017 02:04:01 +0200 (CEST) Received: (qmail 82747 invoked by uid 500); 17 Jun 2017 00:04:00 -0000 Mailing-List: contact cvs-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list cvs@incubator.apache.org Received: (qmail 82730 invoked by uid 99); 17 Jun 2017 00:04:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 17 Jun 2017 00:04:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5E924DFE15; Sat, 17 Jun 2017 00:03:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: git-site-role@apache.org To: cvs@incubator.apache.org Date: Sat, 17 Jun 2017 00:04:00 -0000 Message-Id: In-Reply-To: <912ef60fb8794f41b96d70afa94a63c1@git.apache.org> References: <912ef60fb8794f41b96d70afa94a63c1@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [02/20] incubator git commit: Automatic Site Publish by Buildbot archived-at: Sat, 17 Jun 2017 00:04:03 -0000 http://git-wip-us.apache.org/repos/asf/incubator/blob/9b6b1f1a/js/prettify.js ---------------------------------------------------------------------- diff --git a/js/prettify.js b/js/prettify.js new file mode 100644 index 0000000..7b99049 --- /dev/null +++ b/js/prettify.js @@ -0,0 +1,30 @@ +!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a= +b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", +/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ +s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, +q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= +c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], +O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, +V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", +/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], +["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), +["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, +hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); +p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="
"+a+"
";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); +return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i + + + + Incubation Policy + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
+ Apache Incubator +
+
+
+
+ + + +

+
+
+
+

In October 2002 the Board of Directors of the Apache Software Foundation passed a resolution creating the Apache Incubator PMC (referred to as the "Incubator PMC" in this document) charged with "accepting new products into the Foundation, providing guidance and support to help each new product engender their own collaborative community, educating new developers in the philosophy and guidelines for collaborative development as defined by the members of the Foundation, and proposing to the board the promotion of such products to independent PMC status once their community has reached maturity" (reference Board Resolution).

+
+
+

The Incubator was tasked with the following responsibilities (reference Board Resolution):

+
+
+
    +
  • +

    the acceptance and oversight of new products submitted or proposed to become part of the Foundation;

    +
  • +
  • +

    providing guidance and ensuring that subprojects under its purview develop products according to the Foundation’s philosophy and guidelines for collaborative development; and

    +
  • +
  • +

    regularly evaluating products under its purview and making the determination in each case of whether the product should be abandoned, continue to receive guidance and support, or proposed to the board for promotion to full project status as part of an existing or new Foundation PMC; and be it further.

    +
  • +
+
+
+
+
+

About this Document

+
+
+

This document is the normative reference for the policies and procedures put in place by the Incubator PMC for the Incubation process, which is used by the Incubator PMC to discharge their duties as described above. It contains the minimum requirements that all new products and projects must meet before they will be fully accepted into the Apache Software Foundation. The document makes use of the terms MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY and OPTIONAL. Where capitalised, these terms are to be used as per the definitions found in RFC 2119.

+
+
+
+
+

Scope

+
+
+

This document contains the minimum requirements and processes that must be met by products and projects wishing to become part of the Apache Software Foundation.

+
+
+

This document does not apply outside the process of Incubation. Policies and processes that need to be met by products under incubation are not mandated (by this document) for other projects and sub-projects within the ASF.

+
+
+
+
+

Relationship to Other Documents

+
+
+

This document is the normative set of requirements for Incubation. Where other documents are in conflict, this document should be taken as correct.

+
+
+
+
+

Changing this Document

+
+
+

The contents of this document are formally approved by the Incubator PMC. All changes must be authorised by the Incubator PMC.

+
+
+
+
+

Objectives of the Process

+
+
+

To provide a clear path for potential projects and sub-projects within the ASF to move from proposal stage through to fully membership in such as way as to ensure: +- new projects and sub-projects are developing products according to the ASF’s philosophy and guidelines for collaborative development; +- the ownership of any code initially submitted by the project is formally and legaly transferred to the ASF; and +- only those products that meet the Apache’s requirements are fully accepted into the ASF.

+
+
+

Overview of the Process

+
+

The incubation process covers the establishment of a candidate, acceptance (or rejection) of a candidate leading to the potential establishment of a Podling and associated incubation process, which ultimately leads to the establishment or a new Apache Top-Level-Project (TLP) or sub-project within an existing Apache Project.

+
+
+
+Incubation Process +
+
+
+
+
+
+

Entry to Incubation

+
+
+

Please read the guide to the process in conjunction with this policy.

+
+
+

In order to enter the Incubator, a Candidate MUST

+
+
+
    +
  • +

    be nominated for incubation by a member of the Apache Software Foundation (The Champion); and

    +
  • +
  • +

    be approved by a Sponsor.

    +
  • +
+
+
+

Proposal

+
+

To start the approval process, a proposal MUST be submitted to the Sponsor. Please read the link:/guides/proposal.html(Guide For Proposals).

+
+
+
+

Approval of Proposal by Sponsor

+
+

The decision to approve the candidate proposal MUST be taken on a vote by the Sponsor, in accordance with that Entity’s charter.

+
+
+
+

Acceptance By Incubator

+
+

Upon a successful result, the PMC Chair of the Sponsor SHOULD request that the Incubator PMC take on the Candidate as a new Podling.

+
+
+

However when the Sponsor is the Incubator PMC, then they were the group of people who just voted. So the normal vote summary is sufficient.

+
+
+

Otherwise the Sponsor is an existing top-level project PMC, which now needs to notify the Incubator PMC. The request, which should be sent to the Incubator PMC on the general list, MUST contain the following information:

+
+
+
    +
  • +

    a reference to the results of the vote (so as to provide an audit trail for the records);

    +
  • +
  • +

    a reference to the Candidate’s proposal;

    +
  • +
  • +

    the Mentors, nominated by the Sponsor, who will guide the Candidate through the Incubation Process. At least one nominated Mentor MUST be a member of the Apache Software Foundation.

    +
  • +
+
+
+

Any Incubator PMC member can send an acknowledgement that the request was received, then a 72 hour waiting period starts. After this time has elapsed and no Incubator PMC member objects, the status file may be committed and the podling started. If any Incubator PMC member says "hold" before the 72 hours are up, a formal discussion/vote will be conducted.

+
+
+

Acceptance of Mentors

+
+

The nominated Mentors MAY be immediately accepted by the Incubator PMC. However the Incubator PMC MAY also suggest replacement Mentors. The Incubator PMC has the final choice of Mentors.

+
+
+
+
+

Creation of Podling

+
+

Upon acceptance by the Incubator PMC, the Candidate becomes a Podling under the care of the Incubator PMC.

+
+
+

Upon acceptance by the Incubator PMC, the Podling’s Mentor becomes a member of the Incubator PMC (should they not already be one).

+
+
+
+
+
+

Incubation Activities

+
+
+

The following sections detail the minimum activities that must be undertaken by the various parties during an Incuabation process.

+
+
+

Setting Up a New Podling

+
+

Once a proposal has been accepted and the podling created Mentor SHOULD initiate the creation of:

+
+
+ +
+
+

Your project’s mentors are able to undertake many of the setup tasks. See the mentor guide for guidelines about the setup process. See notes about how to request project resources such as new committer accounts and new mailing lists. (Note that a committer account will not be created until the Contributor License Agreement (CLA) has been recorded.

+
+
+

The source code that comes into the ASF as part of the podling project must pass through the IP clearance process; details are in the mentor guide linked above.

+
+
+

Your project committers/PPMC members need to become familiar with the ASF Infrastructure information and in particular the PMC notes. Also see the Incubator PMC Guide

+
+
+
+

Ongoing Activities

+
+

The progress of a Podling SHALL be tracked in a "project status" document. This SHALL be stored in http://svn.apache.org/repos/asf/incubator/public/trunk/content/projects/ and so become available at https://incubator.apache.org/projects/

+
+
+

The "project status" document SHALL include the following minimum content :

+
+
+
    +
  • +

    status of setup tasks;

    +
  • +
  • +

    all exit criteria (see Exiting the Incubator);

    +
  • +
  • +

    status of Podling against exit criteria.

    +
  • +
+
+
+

The Mentors MUST ensure that the "project status" document is up to date at all times. See these instructions.

+
+
+
+

Review of Activity

+
+

Each Podling in Incubation SHALL undergo a regular review of progress by the Incubator PMC. Such reviews SHALL occur at least quarterly. The Incubator PMC MAY, at their discretion, choose to review individual Podlings with greater frequency. The Incubator PMC SHALL inform Podlings of review dates at least 4 weeks in advance. At least one week prior to each review, the Mentor MUST produce a report for the Incubator PMC detailing overall progress with a focus on the preceding review period. It is RECOMMENDED that the report be based on the "project status" document for the Podling. After each review, the Incubator PMC SHALL produce an Assessment of the project. The Assessment SHALL contain one of three recommendations:

+
+
+
    +
  • +

    that the Podling be Terminated;

    +
  • +
  • +

    that the Podling continue in Incubation; or

    +
  • +
  • +

    that the Podling be Graduated from Incubation.

    +
  • +
+
+
+

Termination and Graduation are discussed in more detail in section "Graduating from the Incubator".

+
+
+
+

Disputing an Assessment

+
+

If the Podling or Mentor disagree with an assessment, they MAY request the Incubator PMC review the report. Such a request MUST include a details of what the Podling and/or Mentor is disputing, and their reasons for doing so. Upon receipt of an Assessment Dispute, the Incubator PMC SHALL review the request and provide feedback to the Podling and Mentor. Such feedback MAY include a change to the original Assessment.

+
+
+

Should the Podling and/or Mentor still disagree with the contents of the report, they MAY appeal to the Board of the Apache Software Foundation. Such an appeal MUST include

+
+
+
    +
  • +

    the original assessment;

    +
  • +
  • +

    the request for review to the Incubator PMC;

    +
  • +
  • +

    the response from the Incubator PMC; and

    +
  • +
  • +

    the reason the Podling and/or Mentor still dispute the report.

    +
  • +
+
+
+

The Board of the Apache Software Foundation MAY, after reviewing the appeal, choose to

+
+
+
    +
  • +

    ammend the incubation Assessment;

    +
  • +
  • +

    validate the assessment of the Incubator PMC; or

    +
  • +
  • +

    take any other action it deems appropriate to the circumstance.

    +
  • +
+
+
+

The decision of the Board of the Apache Software Foundation is final.

+
+
+
+

Continuation

+
+

A recommendation by the Incubator PMC for continuation of incubation SHALL include development recommendations. The Incubator PMC SHALL ensure that the recommended actions are tangible and quantifiable. +The Mentor SHALL review the contents of the continuation recommendation and ensure that the development recommendations are carried out over the following review period.

+
+
+
+
+
+

Podling Constraints

+
+
+

While in Incubation, Podlings are constrained in the actions they can undertake.

+
+
+

Branding

+
+

Please consult the guide to Podling Branding.

+
+
+
+

Releases

+
+

See the guidelines for Podling releases in conjunction with this policy. Podlings are not yet fully accepted as part of the Apache Software Foundation. No release made by a Podling will be endorsed by the ASF. Unendorsed releases may be made by Podlings subject to the following policy. Podlings in Incubation SHALL NOT perform any releases of software without the explicit approval of the Incubator PMC. Such approval SHALL be given only after the Incubator PMC has followed the process detailed in these guidelines, and SHALL NOT occur until all source has been legally transferred to the ASF. Therefore, should a Podling decide it wishes to perform a release, the Podling SHALL hold a vote on the Podling’s public dev list. At least three +1 votes are required (see the Apache Voting Process page). If the majority of all votes is positive, then the Podling SHALL send a summary o f that vote to the Incubator’s general list and formally request the Incubator PMC approve such a release. Three +1 Incubator PMC votes are required. Below is an example showing how an incubating project managed this process:

+
+ +
+

Should the Incubator PMC, in accordance with these guidelines vote to approve the request, the Podling MAY perform the release under the following constraints:

+
+
+
    +
  • +

    the release archive MUST contain the word "incubating" in the filename; and

    +
  • +
  • +

    the release archive MUST contain an Incubation disclaimer (as described in the previous section), clearly visible in the main documentation or README file.

    +
  • +
+
+
+

Releases for podling MUST be distributed through http://www.apache.org/dist/incubator/podling In addition, the Podling MAY choose to distribute approved releases through other channels like the central Maven repository.

+
+
+
+

Use of Apache Resources

+
+

The Podling is not yet an Apache project, and it should thus always +refer to the Incubator Project Resource usage Guidelines, that are as +follows.

+
+
+
+

Website

+
+

Please consult the guide to Podling Websites for the current policies for websites.

+
+
+
+
+
+

Graduating from the Incubator

+
+
+

This section describes the requirements and process for graduating from the Incubator.

+
+
+

Minimum Graduation Requirements

+
+

Prior to graduation, a Podling needs to show that :

+
+
+
    +
  • +

    it is a worthy and healthy project;

    +
  • +
  • +

    it truly fits within the ASF framework;and

    +
  • +
  • +

    it "gets" the Apache Way.

    +
  • +
+
+
+

This is achieved by imposing a set of Graduation Criteria that, when met, +will demonstrate these objectives.

+
+
+

Therefore, to successfully graduate from the Incubator +into the ASF, a Podling SHALL meet the minimum requirements +detailed below. The Incubator PMC MAY set additional requirements at +their discretion. Such additional requirements MAY be proposed by the +Mentor or the Sponsor, however only the Incubator PMC is authorised +to formally place such requirements on a Podling.

+
+
+

The minimum requirements that a Podling SHALL meet prior to being +graduated to the ASF are :

+
+
+ +
+
    +
  • +

    All code AL’ed

    +
  • +
  • +

    The code base must contain only ASL or ASL-compatible dependencies

    +
  • +
  • +

    License grant complete

    +
  • +
  • +

    CLAs on file.

    +
  • +
  • +

    Check of project name for trademark issues

    +
  • +
+
+
+
+

Meritocracy / Community

+
+
    +
  • +

    Demonstrate an active and diverse development community

    +
  • +
  • +

    The project is not highly dependent on any single contributor (there are at least 3 legally independent committers and there is no single company or entity that is vital to the success of the project)

    +
  • +
  • +

    The above implies that new committers are admitted according to ASF practices

    +
  • +
  • +

    ASF style voting has been adopted and is standard practice

    +
  • +
  • +

    Demonstrate ability to tolerate and resolve conflict within the community.

    +
  • +
  • +

    Release plans are developed and excuted in public by the community.

    +
  • +
  • +

    Engagement by the incubated community with the other ASF communities

    +
  • +
+
+
+
+

Votes

+
+
    +
  • +

    Incubator PMC has voted for graduation

    +
  • +
  • +

    Destination PMC, or ASF Board for a TLP, has voted for final acceptance

    +
  • +
+
+
+
+

Alignment / Synergy

+
+
    +
  • +

    Use of other ASF subprojects

    +
  • +
  • +

    Develop synergistic relationship with other ASF subprojects

    +
  • +
+
+
+
+

Infrastructure

+
+
    +
  • +

    SVN module has been created

    +
  • +
  • +

    Mailing list(s) have been created

    +
  • +
  • +

    Mailing lists are being archived

    +
  • +
  • +

    Issue tracker has been created

    +
  • +
  • +

    Project website has been created and complies with the Apache Project Branding Requirements

    +
  • +
  • +

    Project ready to comply with ASF mirroring guidelines

    +
  • +
  • +

    Project is integrated with GUMP if appropriate

    +
  • +
  • +

    Releases are PGP signed by a member of the community

    +
  • +
  • +

    Developers tied into ASF PGP web of trust

    +
  • +
+
+
+
+
+

Termination of a Podling

+
+

If you receive a recommendation for termination then you have a +problem. Chances are that there are either legal or structural +problems with your project that in the opinion of the Incubator PMC +are not resolvable within a reasonable time frame. A termination +decision is basically time to close down the project. However, you do +have the right to appeal a termination decision with the Board of +Directors and/or your Sponsor. You should be aware that several +Members of the Board are also Members of the Incubator PMC and as +such, an appeal is unlikely to be successful.

+
+
+
+

Graduation as a Top Level Project

+
+

In cases where a Podling has successfully completed Incubation, and +is graduating from the Incubator to become a Top Level Project, the Incubator +PMC SHALL provide a recommendation to the board that the Podling is +ready to gradualate. The recommendation SHALL include a draft +resolution for the board to vote on.

+
+
+
+

Graduation as a sub-project

+
+

In cases where a Podling has successfully completed Incubation, and +is graduating from the Incubator to become a sub-project within an already +existing Top Level Project, the Incubator PMC SHALL provide a +recommendation to the TLP that the Podling is ready to graduate.

+
+
+
+

Post-Graduation Check List

+ +
+
+
+
+

Roles Defined

+
+
+

Definitions of the roles involved in the Incubation process can be found on the Roles and Responsibilities page.

+
+
+

+ +
+
+
+ + + + + + + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator/blob/9b6b1f1a/policy/process.html ---------------------------------------------------------------------- diff --git a/policy/process.html b/policy/process.html new file mode 100644 index 0000000..220b378 --- /dev/null +++ b/policy/process.html @@ -0,0 +1,296 @@ + + + + + Incubation Process + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
+ Apache Incubator +
+
+
+
+ + + +

+
+

Introduction

+
+
+

This document is an overview of the process. Read it in conjunction with the "Incubation Policy" and the various guides. Also review the Roles and Responsibilities for a description of the various parties involved in the Incubation process.

+
+
+
+
+

The Process of Incubation

+
+
+

The incubation process covers the establishment of a candidate, acceptance (or rejection) of a candidate leading to the potential establishment of a Podling and associated incubation process, which ultimately leads to the establishment or a new Apache Top-Level-Project (TLP) or sub-project within an existing Apache Project.

+
+
+
+incubation process +
+
+
+
+
+

Establishment

+
+
+
+howtoincubateaproject +
+
+
+

The first thing you will want to do is find a Champion for your project. One way to do this is to explore the existing Apache projects to find similar projects. Spend some time reading their project web pages and mailing lists (follow links at each project website). By simply lurking on the project mailing lists (and also the Incubator general list and other Incubating project lists) you may get ideas about who you would like to contact directly to help you with your project proposal.

+
+
+

Simply email that person directly (e.g. username@apache.org, see the committer list to find the username), describe informally yourselves and your project, and ask kindly if she would be willing to act as your Champion for your project within the Apache incubator. Remember that all Apache Committers and Members are volunteers with limited spare time, but you will hopefully find that the person is honoured by your request to be a Champion and sees a potential for your project as a future Apache project.

+
+
+

Once you have found an eligible person who is willing to act as Champion, you can use this person to help you determine if and how your proposal can fit within the ASF, and if the "Apache Way" of open development would be right for your project. This might happen over a series of emails, telephone calls or online chat sessions, and should cover any practical concerns such as project infrastructure (e.g. mailing lists, web, source code repositories, issue tracker, wiki) but also the implications of licensing, governance and Intellectual Property management.

+
+
+

If you and your Champion are convinced that your candidate project would fit with the "Apache Way", your Champion can help you to get it established.

+
+
+

The establishment of a candidate involves the preparation of a Project Proposal (consistent with the candidate description detailed below) endorsed by a Champion.

+
+
+

A Candidate project description should be submitted to the relevant mailing list(s) of a Sponsor. The Sponsor is usually the Incubator (IPMC), (general@incubator.apache.org), assuming your project would aspire to become a top-level project (TLP). In the special case of your project aspiring to become a sub-project of an existing Apache top-level project (e.g. a plugin for Apache OpenOffice), then that project should be your champion and their dev@ mailing list would be where to send the proposal first.

+
+
+

Please see:

+
+
+
    +
  • +

    a Guide to Proposal Creation

    +
  • +
  • +

    existing project proposals for examples

    +
  • +
  • +

    Typically a Candidate is submitted under a message tagged with [PROPOSAL]. Such a message will normally trigger some discussions on the receiving mailing list(s). Your Champion will be involved in these discussions acting as your advocate.

    +
  • +
+
+
+

As a proposer you should consider the feedback and attempt to gauge a sense of consensus. Do not be put off by extended threads under your initial post that have little or nothing to do with your proposal - however, if you feel that your candidate project is not being addressed, you may want to specifically request a decision on the Candidate by the Sponsor. Sometimes a vote will be announced without you asking for it (perhaps you have done some homework and have a PMC member assisting you though the process), other times you may need to cut through discussions and push your request forward for a decision.

+
+
+
+
+

Acceptance

+
+
+

The decision to accept a project is taken on a vote by the Sponsor. The format of this vote will depend on the rules of the entity in question. Here again it helps if you have a PMC Member (or board member if the Sponsor is the ASF board) aligned with your project (preferably as your Champion) because you stand a better chance of getting feedback about what is actually happening. The Sponsor will typically take about 7-10 days before announcing a vote result.

+
+
+

If that vote is affirmative, the Sponsor (unless the Sponsor is already the Incubator PMC) will propose to the Incubator PMC(referencing the voting result e-mail) that your candidate project be accepted by the Incubator as a Podling. The Sponsor will assign Mentors. The Mentors may include your original Champion. If not, it is expected your Champion will remain involved during the rest of the Incubation process, providing as much assistance as possible.

+
+
+

The Mentors are there to protect you, but be warned - Mentors are holding a big stick. The Mentors are members of the Incubator PMC, and report to both the PMC and the Sponsor about your overall health and suitability for eventual inclusion within the Apache Community (or recommendation to terminate). However, the Mentors (with the assistance of the Champion) are also looking after you through the incubation.

+
+
+

One of the roles of the Mentors is to keep away the wolves - and in the case of incubation the wolf is the Incubator PMC, the policies, the process, and inevitable bureaucracy and delays. The Mentors can help you by guiding and protecting you from much of this based on their experience in the process and familiarity with the policy and procedures of incubation. In performing their role, the Mentors are representing the Sponsor.

+
+
+

Your Sponsor, represented by your Mentors, has specific responsibilities towards you and the Incubator PMC. There are a bunch of administrative and technical actions to take care of. Your Mentors are responsible for ensuring that these things happen quickly and efficiently. Also, your Mentors are going to help you out with the getting in place of the policies and procedures you use for introducing new comitters, decision making, etc. These aspects will be watched closely by the Incubator PMC as they provide a good indication of community dynamics, health and correlation with Apache practices.

+
+
+
+
+

Review

+
+
+

As your project sorts things out and things stabilize (infrastructure, communications, decision making) you will inevitably come under an assessment by the Incubator PMC concerning the exit of your project from the incubator. Keep in mind that exit can be a good thing and bad thing. Exit via graduation to a top-level project or perhaps a subproject of an existing PMC would typically be viewed as a positive exit. On the other-hand, termination is also an exit condition that may be considered. With an upcoming assessment it is generally a good idea to have your STATUS file right up to-date and to ensure that your Mentor is doing his/her job of evangelizing your project and has good picture of where you are relative to acceptance or the last assessment point. This information will help the Incubator PMC to recommend the best action for your project.

+
+
+

Conclusion of a review process will be a recommendation (to the Sponsor) of one of the following:

+
+
+
    +
  • +

    termination;

    +
  • +
  • +

    continuation under incubation with recommendations; or

    +
  • +
  • +

    graduation into Apache.

    +
  • +
+
+
+

Note that whilst this is a recommendation, it carries a lot of weight. A Sponsor will only over-ride the recommendation of the Incubator in exceptional circumstances, and even then it is likely that the issue in question would be escalated to the ASF board for their consideration.

+
+
+
+
+

Termination or Retirement

+
+
+

There are two ways for a project to cease incubation: Termination or Retirement. If you receive a recommendation for termination then you have a problem. Chances are that there are either legal or structural problems with your project that in the opinion of the Incubator PMC are not resolvable within a reasonable time frame. A termination decision is basically time to close down the project. However, you do have the right to appeal a termination decision with the Board of Directors and/or your Sponsor. You should be aware that several Members of the Board are also Members of the Incubator PMC and as such, an appeal is unlikely to be successful. Retirement is typically an internal decisions by PPMC. A retired project is a project which has been closed down by the PPMC or by the IPMC for various reasons. It is not longer developed at the Apache Incubator and does not have any other duties. Retirement can also be suggested by IPMC on the grounds of lack of releases for more than a y ear. However, since unlike termination, retirement is a voluntary process, the suggestion will have to be discussed and voted upon. It’s important to view this process as being the retirement of the podling community, not the code. It should not be implied that the code is not for use - just that it has no community. The source code of a retired project is available in ASF repository, when the copyright requirements are fullfilled. This is indicated through the incubator status page. For more details on Retirement please see our Guide to Retirement

+
+
+
+
+

Continuation

+
+
+

A recommendation by the Incubator PMC for continuation of incubation shall include development recommendations. The Incubator PMC has a responsibility to ensure that the recommended actions are tangible and quantifiable. For example, an assessment could be that your project has not established a sufficient community to be viable, in which case the Incubator PMC is obliged to state specific targets that they consider as viable. This does not necessarily mean that if you meet this target by the next review that you are out of incubation - but it does give you concrete achievements that you can cite. Your Mentor is also specifically accountable to you for ensuring that the recommendations for continuation are usable, substantive and tangible. If this is not the case, you have every right to appeal an Incubator decision to the Apache Board. However, if your Mentor is doing a good job, neither of these scenarios should arise.

+
+
+
+
+

Graduation

+
+
+

For Podlings that aim to establish sub-projects or products within existing communities you are almost home-free. The main issues you need to deal with now is migration of your code into the target project, something you should be confident in doing based on the contacts and understanding you gained during initial establishment and incubation.

+
+
+

For projects aiming to be a Top-Level-Project (TLP), you have an additional obstacle, namely the ASF Board. While the ASF Board might be your Sponsor, this does not mean they have formally accepted you as a TLP. To establish a TLP you need to draft a board motion that identifies the project scope, mission and charter. You can submit the motion to the Board using the board at apache dot org email address. Well-prepared projects will have already developed contacts with members of the Board so this should not be a surprise agenda item. Keep in mind that the Board can approve your motion as supplied, amend it, or reject it. If you are rejected then you need to sort this out with the Incubator PMC and allies you have developed during the incubation process. In other words, for a TLP objective the Incubator PMC okay is only half of the story.

+
+
+

However, in practice, assuming you are building contacts with members in Apache, the Incubator PMC, and the ASF Board, the transition from Podling to TLP should be a smooth and painless process.

+
+
+

+ +
+
+
+ + + + + + + + + + + \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org For additional commands, e-mail: cvs-help@incubator.apache.org