Return-Path: X-Original-To: apmail-community-commits-archive@minotaur.apache.org Delivered-To: apmail-community-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6390F18E7C for ; Mon, 16 Nov 2015 08:24:36 +0000 (UTC) Received: (qmail 72410 invoked by uid 500); 16 Nov 2015 08:24:36 -0000 Delivered-To: apmail-community-commits-archive@community.apache.org Received: (qmail 72385 invoked by uid 500); 16 Nov 2015 08:24:36 -0000 Mailing-List: contact commits-help@community.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@community.apache.org Delivered-To: mailing list commits@community.apache.org Received: (qmail 72376 invoked by uid 99); 16 Nov 2015 08:24:36 -0000 Received: from Unknown (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Nov 2015 08:24:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id A6E60180A18 for ; Mon, 16 Nov 2015 08:24:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.79 X-Spam-Level: * X-Spam-Status: No, score=1.79 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id b8FGtlLtYphw for ; Mon, 16 Nov 2015 08:24:20 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTP id DDD1343D88 for ; Mon, 16 Nov 2015 08:24:19 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 7427DE05C9 for ; Mon, 16 Nov 2015 08:24:19 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 66A093A0472 for ; Mon, 16 Nov 2015 08:24:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r972556 [2/3] - in /websites/staging/community/trunk/content: ./ apache-extras/ calendars/ committers/ contributors/ events/ mentoring/ newcomers/ proposals/ speakers/ Date: Mon, 16 Nov 2015 08:24:19 -0000 To: commits@community.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20151116082419.66A093A0472@svn01-us-west.apache.org> Modified: websites/staging/community/trunk/content/mentoringprogramme.html ============================================================================== --- websites/staging/community/trunk/content/mentoringprogramme.html (original) +++ websites/staging/community/trunk/content/mentoringprogramme.html Mon Nov 16 08:24:18 2015 @@ -153,7 +153,18 @@
  • MentoringProgramme

  • -

    Many projects in the ASF are able to provide mentors for newcomers. In + +

    Many projects in the ASF are able to provide mentors for newcomers. In fact, most projects are happy to assist newcomers to their projects as part of their normal operations. However, some people are looking for more structure. The Mentor Programme of the The Apache Software Foundation @@ -172,7 +183,7 @@ for business, but, like many other thing constant improvement and revision. Therefore, the description below is marked 'draft.'

    -

    Quick Definitions

    +

    Quick Definitions

    The ASF believes that the best way for people (and, indeed, entire projects) to join the community is with the help of committed members of the community. A community member who makes a commitment to help a new @@ -184,7 +195,7 @@ The document uses 'TLP' when it is refer word 'project' to refer to a the work a mentee does under the Mentoring Programme.

    -

    Who can be a mentee?

    +

    Who can be a mentee?

    The Mentor Programme is intended to assist people in becoming contributors to ASF projects. Thus, anyone interested in contributing effort to an ASF project is a potential mentee. You need to be a self starter, your mentor @@ -200,7 +211,7 @@ a plan for a significant effort and show volunteer basis. The Foundation does not pay anyone to mentor or contribute.

    -

    Applying for the Mentor Programme

    +

    Applying for the Mentor Programme

    There are two simple steps to apply:

    1. Review the content below to learn about the details of the requirements.
    2. @@ -210,7 +221,7 @@ contribute.

      of your formal education there are some additional requirements that you must fulfill, along with your tutor.

      -

      Draft: The ASF Mentoring Programme

      +

      Draft: The ASF Mentoring Programme

      The Mentoring Programme is structured around mentee projects. Each mentee project is a coherent task contributing to one of the ASF's ongoing TLPs.

      The Mentoring Programme does not work on a fixed calendar. Project start as @@ -222,7 +233,7 @@ contributes to an existing Foundation pr prototyping projects are not acceptable -- working with an ASF project community is an essential part of the process.

      -

      Setting up a Mentoring Project

      +

      Setting up a Mentoring Project

      The first step is for a potential mentee to make contact with the Mentoring Programme. Several of the following steps call for interactions with potential mentors and target projects, and the Mentoring Programme mailing @@ -246,7 +257,7 @@ and adds the project to the Mentoring Wi linked from the Mentoring page.

      The mentee joins the development community of the TLP and sets to work.

      -

      Working on the Project

      +

      Working on the Project

      During the course of the project, the mentee is a member of the TLP community. This has implications for both the mentee and the TLP.

      @@ -278,7 +289,7 @@ a JIRA project, and open a JIRA for each mentee can then ask committers to include their JIRA in commit comments and thus set up automatic tracking.

      -

      The Mid-Project Review

      +

      The Mid-Project Review

      The Mentoring Programme reviews all projects at the half-way point. The input to the programme review is a pair of reports: one from the mentor and from the mentee. These are public documents.

      @@ -287,7 +298,7 @@ the disposition of the project: continue to completion, or stop. The report must also describe any changes to the project's scope.

      -

      Scope and Schedule Changes

      +

      Scope and Schedule Changes

      Inevitably, ugly facts will conflict with plans and intentions. Mentors and mentees can agree to change the scope of a project and document the change on the wiki and, as appropriate, on reports. The programme does not @@ -303,7 +314,7 @@ it is very likely that they are ready to mentor. Their Mentor Programme project can end in good order even though coding continues.

      -

      Finish up the Project

      +

      Finish up the Project

      Every project ends, either when the work is done. or when the agree time period is over. At the end, the mentee updates the Wiki page with a final summary of their work.

      @@ -314,9 +325,9 @@ as appropriate on the Mentoring Wiki.

      Relevant certification is issued to both the mentor and mentee by the admin team.

      -

      Roles and Expectations

      +

      Roles and Expectations

      -

      Mentee

      +

      Mentee

      • The mentee is any individual interested in getting involved in open source.
      • @@ -332,7 +343,7 @@ to code changes. and completion points of the programme.

      -

      Mentor

      +

      Mentor

      • The mentor must be a committer on the project accepting the mentees contributions.
      • @@ -346,7 +357,7 @@ the project community. and completion points of the programme.

      -

      Admin

      +

      Admin

      • The Apache Mentoring Program admin(s) will liaise with ASF projects to maintain a JIRA list of projects that are available and in progress.
      • Modified: websites/staging/community/trunk/content/mentorprogrammeapplication.html ============================================================================== --- websites/staging/community/trunk/content/mentorprogrammeapplication.html (original) +++ websites/staging/community/trunk/content/mentorprogrammeapplication.html Mon Nov 16 08:24:18 2015 @@ -153,12 +153,23 @@
      • MentorProgrammeApplication

      -

      -

      Mentoring Programme Application Procedure

      + +

      +

      Mentoring Programme Application Procedure

      Applying for the Apache Mentoring Programme is simple. This page will take you through the steps:

      -

      Creating a proposal and finding a mentor

      +

      Creating a proposal and finding a mentor

      1. Find the project you are interested in (see our FAQ for some guidance on how to do this)
      2. @@ -172,7 +183,7 @@ like this

        -

        Project proposal

        +

        Project proposal

        Your project proposal should include:

        • Your full name
        • @@ -199,7 +210,7 @@ to understand the guidance that the ment provide. We are not here to teach basic programming skills, rather we are here to teach the application of those skills to an Apache Project.

          -

          Applying to the mentoring programme

          +

          Applying to the mentoring programme

          At this point you will probably want to apply to the Community Development mentoring programme, however, you are not required to do so. If you so desire you can just get on with your work within the project community, Modified: websites/staging/community/trunk/content/mentorprogrammeformaleducation.html ============================================================================== --- websites/staging/community/trunk/content/mentorprogrammeformaleducation.html (original) +++ websites/staging/community/trunk/content/mentorprogrammeformaleducation.html Mon Nov 16 08:24:18 2015 @@ -153,15 +153,26 @@

        • MentorProgrammeFormalEducation

        -

        -

        Mentoring in Formal Education

        + +

        +

        Mentoring in Formal Education

        It is expected that some mentees will wish to participate in the Mentoring Programme as part of a formal education course. In these cases there will be additional requirements on the process to ensure that the mentees can be evaluated by their tutor. This section describes these additional requirements and process.

        -

        Overview

        +

        Overview

        Projects are defined by the students tutor in consultation with the project community/mentors and the student. They will need to be isolated enough from other ongoing work to ensure that success/failure to deliver is not @@ -173,11 +184,11 @@ mentor. The mentor must be available for and must be willing to mentor the tutor with respect to how they encourage the students to participate

        -

        Roles and Expectations

        +

        Roles and Expectations

        In addition to the notes found in the Mentoring Programme documentation the following should be considered.

        -

        Tutors

        +

        Tutors

        • Ensure the mentee is participating in the program
        • Tutor grades the student within their formal education (the mentor @@ -188,7 +199,7 @@ feedback should assist here)

        -

        Mentees

        +

        Mentees

        • mentees are typically students in their final year (exceptional students may be considered)
        • @@ -196,7 +207,7 @@ may be considered) part of their examined work.

        -

        Admins

        +

        Admins

        • Provide assistance interpreting reports to allow tutors to grade student participation
        • Modified: websites/staging/community/trunk/content/newbiefaq.html ============================================================================== --- websites/staging/community/trunk/content/newbiefaq.html (original) +++ websites/staging/community/trunk/content/newbiefaq.html Mon Nov 16 08:24:18 2015 @@ -153,7 +153,18 @@
        • NewbieFAQ

        -

        This set of Frequently Asked Questions are intended to help newcomers to + +

        This set of Frequently Asked Questions are intended to help newcomers to The Apache Software Foundation (ASF) understand how we work.

        Index of Questions

          @@ -183,9 +194,9 @@ the information they're looking for. Pl dev@community.apache.org (subscribe with dev-subscribe@community.apache.org first).

          -

          About The Apache Software Foundation

          +

          About The Apache Software Foundation

          -

          What projects can I find in The Apache Software Foundation?

          +

          What projects can I find in The Apache Software Foundation?

          There are over 200 separate projects and communities hosted at The Apache Software Foundation. We have four classes, or types, of project (in terms of their community; not in terms of technology):

            @@ -197,7 +208,7 @@ have active development and are moving t development, but may still be useful

          -

          How are projects managed in The Apache Software Foundation

          +

          How are projects managed in The Apache Software Foundation

          Apache projects all believe that if we look after the community then good code will emerge from that community. That is, when people with similar needs come together they will work out a way of solving their common @@ -219,20 +230,20 @@ constructively within them!

          To learn more about "The Apache Way" in general see the How It Works pages. We also have detailed overviews of how the ASF and projects are governed.

          -

          How do I learn about the way Apache Projects Work?

          +

          How do I learn about the way Apache Projects Work?

          You should consider applying to the Apache Mentor Programme . We will help you find a mentor within the project of your choice. They will take you through a semi-formal mentoring programme that will ensure you quickly find your feet. There is no cost other than a promise to commit some of your time to the goals you agree with your mentor.

          -

          How do I ask a question about the ASF in general?

          +

          How do I ask a question about the ASF in general?

          The Community Development Project is here for this very purpose. Check out the resources on this site first, if you don't find the answer send a mail to mailto:dev@community.apache.org (subscribe first by sending a mail to mailto:dev-subscribe@community.apache.org)

          -

          How do I get user support for an ASF project?

          +

          How do I get user support for an ASF project?

          Everyone active in ASF projects is here as a volunteer, nobody is paid to provide support here. So the first thing to realize is that you need to be careful not to waste people's time, so do your homework. Generally, if @@ -269,9 +280,9 @@ the future.

          expertise grows. Again, earning merit in this way will help you to get the support you need in the future.

          -

          Getting Involved with Apache projects

          +

          Getting Involved with Apache projects

          -

          How do I choose an Apache project to work on?

          +

          How do I choose an Apache project to work on?

          The key to working on projects at Apache (and any open source for that matter) is to have a personal reason for being involved. You might be trying to solve a day job issue, you might be looking to learn a new @@ -289,7 +300,7 @@ inspiration about how you might be able you see an issue you would like to tackle, it's time to join the projects mailing list and get started.

          -

          How do I get involved with an Apache project?

          +

          How do I get involved with an Apache project?

          You can certainly improve your programming skills by watching the commit lists, receiving code reviews and participating in discussion. However this learning opportunity is a healthy side effect of open source @@ -301,7 +312,7 @@ and be willing to research the rest.

          started guide. You will also find our get involved page a useful starting point.

          -

          Is there a Code of Conduct for Apache projects?

          +

          Is there a Code of Conduct for Apache projects?

          Yes there is a code of conduct which may be found at http://www.apache.org/foundation/policies/conduct.html

          PMCs are allowed to define their own additional code of conduct for their individual communities @@ -318,9 +329,9 @@ projects. This section includes such gem

        • Don't feed the trolls.

        -

        About the Apache Mentoring Programme

        +

        About the Apache Mentoring Programme

        -

        What is the Apache Mentoring Programme

        +

        What is the Apache Mentoring Programme

        Many projects in the ASF are able to provide mentors for newcomers. In fact, most projects are happy to assist newcomers to their projects as part of their normal operations. However, some people are looking for more @@ -329,7 +340,7 @@ provides additional support and structur initial contribution to an ASF project.

        For more information see our mentoring page.

        -

        How do I Apply to the Mentor Programme?

        +

        How do I Apply to the Mentor Programme?

        Take a look at our mentoring page. If you are planning on working on an Apache project as part of your formal education you should also read mentoring in formal education.

        @@ -339,7 +350,7 @@ gives us enough background information t chosen project community and for you to work with prospective mentors in defining your mentored activity.

        -

        How can I find speakers willing to help us understand Apache?

        +

        How can I find speakers willing to help us understand Apache?

        The best way to start getting involved is joining the dev@community.apache.org mailing list. We also have a listing of volunteer speakers Modified: websites/staging/community/trunk/content/newcomers/index.html ============================================================================== --- websites/staging/community/trunk/content/newcomers/index.html (original) +++ websites/staging/community/trunk/content/newcomers/index.html Mon Nov 16 08:24:18 2015 @@ -153,7 +153,18 @@

      3. Newcomers

      4. -

        In this section we hope to help you take your first steps as an open source + +

        In this section we hope to help you take your first steps as an open source developer in one of our many Apache project communities.

        • Where do I start? - a guide to your first engagement with an Apache project
        • @@ -165,7 +176,7 @@ developer in one of our many Apache proj
        • Newbie FAQ - some commonly asked questions (and their answers)

        -

        First Contributions

        +

        First Contributions

        The more you give the more you get out.

        It's natural to assume that, as a newcomer, you have little to offer the ASF. However, you will be surprised at Modified: websites/staging/community/trunk/content/newcommitter.html ============================================================================== --- websites/staging/community/trunk/content/newcommitter.html (original) +++ websites/staging/community/trunk/content/newcommitter.html Mon Nov 16 08:24:18 2015 @@ -153,7 +153,18 @@

      5. NewCommitter

      6. -

        Identifying potential new committers, calling a vote for their recognition + +

        Identifying potential new committers, calling a vote for their recognition as a committer and processing the relevant documents is something that the whole community can contribute to.

        Each project has different approaches to managing new committers, this page @@ -189,41 +200,41 @@ drafts for the various communications th

        -

        Guidelines for assessing new candidates for committership

        +

        Guidelines for assessing new candidates for committership

        When voting, all PMC members need to make up your own mind, perhaps search mailing lists and Jira, etc. The following are some tips that we developed. Also consider the Apache Forrest committer guidelines.

        -

        Ability to work cooperatively with peers.

        +

        Ability to work cooperatively with peers.

        How do we evaluate? By the interactions they have through mail. By how they respond to criticism. By how they participate in decision-making process.

        -

        Ability to be a mentor.

        +

        Ability to be a mentor.

        How do we evaluate? By the interactions they have through mail. By how clear they are and how willing they are to point at appropriate background materials (or even create them).

        -

        Community

        +

        Community

        How do we evaluate? By the interactions they have through mail. Do they help to answer questions raised on the mailing list; do they show a helpful attitude and respect for other's ideas.

        -

        Committment

        +

        Committment

        How do we evaluate? By time, by sticking through tough issues, by helping on not-so-fun tasks as well.

        -

        Personal skill/ability

        +

        Personal skill/ability

        How do we evaluate? A solid general understanding of the project. Quality of discussion in mail. Patches (where applicable) easy to apply with only a cursory review.

        -

        New Committer Process

        +

        New Committer Process

        This section describes a typical Apache projects process for handling the voting of a new committer. Templates mentioned in the process appear at later in this document.

        -

        Summary

        +

        Summary

        1. Call a vote: templates/committerVote.txt
        2. Invite the new committer: templates/committerInvite.txt
        3. @@ -243,7 +254,7 @@ PMC member (templates/committerAccept.tx
        4. Announce the new committer (template/committerAnnounce.txt)

        -

        Discussion

        +

        Discussion

        We do the vote on the private mailing list to enable a frank discussion.

        Start a separate Vote thread for each new person. This makes it much easier to review the mail archives.

        @@ -277,8 +288,8 @@ will announce it on the dev list. We can our praise in public.

        Other notes about the process are available on the main Apache site

        -

        Email Templates

        -

        Committer Vote Template

        +

        Email Templates

        +

        Committer Vote Template

        This is the email to commence a vote for a new committer member. Some projects make committers PMC members automatically, if this is the case then merge this with the following template (PMC Vote Template)

        @@ -299,7 +310,7 @@ merge this with the following template ( -

        PMC Vote Template

        +

        PMC Vote Template

        This is the email to commence a vote for a new PMC candidate. New PMC members need to be voted for by the existing PMC members and subsequently approved by the Board (or Incubator PMC for Incubating projects).

        @@ -318,7 +329,7 @@ to be voted for by the existing PMC memb -

        Close Vote

        +

        Close Vote

        This is the email ends the vote and reports the result to the project.
         
         ------------------------------------------------------------
        @@ -337,9 +348,9 @@ to be voted for by the existing PMC memb
         
        -

        Board Approval of new PMC member

        +

        Board Approval of new PMC member

        See http://www.apache.org/dev/pmc.html#newpmc

        -

        Committer Invite Template

        +

        Committer Invite Template

        This is the suggested invitation email to send to the newly elected committer, sent after a positive result from the vote for a new committer.

        ------------------------------------------------------------
        @@ -397,7 +408,7 @@ sent after a positive result from the vo
         
        -

        Committer Accept Template

        +

        Committer Accept Template

        This is the followup email after the new committer has accepted the invitation

        ------------------------------------------------------------------------
         To: JoeBloggs@foo.net
        @@ -446,7 +457,7 @@ sent after a positive result from the vo
         
        -

        Committer Account Creation

        +

        Committer Account Creation

        Follow the instructions at: http://www.apache.org/dev/pmc.html#newcommitter

        In summary the account creation request is made by the @@ -457,7 +468,7 @@ Request page for ASF members to use.

        For elections held on public lists, please supply the mail-archives.apache.org url. For private lists, you can use the Mail Search tool to locate the apprpropriate url.

        -

        Committer Announce Template

        +

        Committer Announce Template

        This is the email to announce to [PROJECT]-dev once the account has been created.

        ------------------------------------------------------------
         To: dev@[PROJECT].apache.org
        @@ -477,7 +488,7 @@ use the Committer Done Template
        +

        Committer Done Template

        After the committer account is established.
         
         ------------------------------------------------------------
        
        Modified: websites/staging/community/trunk/content/projectIndependence.html
        ==============================================================================
        --- websites/staging/community/trunk/content/projectIndependence.html (original)
        +++ websites/staging/community/trunk/content/projectIndependence.html Mon Nov 16 08:24:18 2015
        @@ -153,7 +153,18 @@
         
      7. Project Independence

      8. -

        While not all aspects of the Apache Way are practiced the same way by + +

        While not all aspects of the Apache Way are practiced the same way by all projects at the ASF, there are a number of rules and policies that Apache projects are required to follow – things like complying with PMC release voting, legal policy, brand policy, @@ -181,7 +192,7 @@ Apache products for virtually any purpos our permissive Apache License and by our formal trademark policy.
        While many third parties create Apache licensed software, only software released from the ASF itself is properly called "Apache software".

        -

        Apache projects are independent

        +

        Apache projects are independent

        Apache projects are controlled by their Project Management Committee (PMC). A PMC represents the consensus view of the individual PMC members by discussion and [VOTE]ing on project releases and new committers. @@ -194,12 +205,12 @@ with low diversity (i.e. PMCs that are d Similarly, the ASF does not allow corporations to participate directly in Apache project management or other governance activities at the ASF; only individuals.

        There are several important aspects to this independence: project management, project use by end users, and project code availability.

        -

        Apache projects are managed independently

        +

        Apache projects are managed independently

        Apache projects must be managed independently, and PMCs must ensure that they are acting in the best interests of the project as a whole. Note that it is similarly important that the PMC clearly show this independence within their project community. The perception of existing and new participants within the community that the PMC is run independently and without favoring any specific third parties over others is important, to allow new contributors to feel comfortable both joining the community and contributing their work. A community that obviously favors one specific vendor in some exclusive way will often discourage new contributors from competing vendors, which is an issue for the long term health of the project.

        -

        Apache products may be used independently

        +

        Apache products may be used independently

        All Apache projects must release their code under the Apache License, which clearly specifies the minimum restrictions that users of Apache software must agree to. Apache software is all about being able to use it for virtually whatever our users want: open source, proprietary, secret: we’re happy to have users take our software (although not our name) for virtually any purpose. While our legal guidelines allow certain other software licenses to be used for specific dependencies, the software we release always uses our license.

        Extending this idea, users of Apache software should be able to find our software, learn how to use it, and actually apply it to all its common use cases solely by going to the Apache project’s own website. Apache projects should provide sufficient documentation, install features, basic user help (through mailing lists) and services for the common use cases to the user, without them having to rely on third parties. It is important that our users can both make use of our software freely – both in terms of not having to pay for the software, as well as not having to worry about IP claims or other more restrictive licenses on either the software or the configurations or other common materials required to actually use the software.

        -

        Apache projects are branded as Apache projects

        +

        Apache projects are branded as Apache projects

        Similar to the requirement that users can use Apache projects independently; so should users understand that when they download and use an Apache product that it is from Apache and not from nor related to any third party. That is, the user experience when @@ -216,7 +227,7 @@ plugs into, or works with our many Apach product must be clearly branded as such, and must follow our formal trademark policy. In this way, users clearly understand the different sources for software products such as Apache Foo (from the ASF) versus BigCo SuperThing, Powered By Apache Foo (from BigCo).

        -

        Apache projects are non-commercial

        +

        Apache projects are non-commercial

        The ASF’s mission is to produce software for the public good. All Apache software is always available for free, and solely under the Apache License. While our projects manage the technical implementation of their individual software products independently, Apache software is released from the ASF, and is always meant to serve the public good.

        We’re happy to have third parties, including for-profit corporations, take our software and use it for their own purposes – even when in some cases it may technically compete with Apache software. However it is important in these cases to ensure that the brand and reputation of the Apache project is not misused by third parties for their own purposes. It is important for the longevity and community health of our projects that they get the appropriate credit for producing our freely available software.

        Modified: websites/staging/community/trunk/content/proposals/ZestProposal.html ============================================================================== --- websites/staging/community/trunk/content/proposals/ZestProposal.html (original) +++ websites/staging/community/trunk/content/proposals/ZestProposal.html Mon Nov 16 08:24:18 2015 @@ -154,14 +154,25 @@
      9. ZestProposal.html

      10. -

        Abstract

        + +

        Abstract

             qi4j = new Energy4Java();
         

        That is how to create the Qi4j runtime, and it captures the essence of its spirit. Qi4j is a platform to develop Composite Oriented Programming applications in Java in a new, exciting and productive manner.

        -

        Governance of Provisional Top Level Project

        +

        Governance of Provisional Top Level Project

        Provisional Top Level Project is a new idea at the ASF, and the Qi4j community is willing to try the idea, instead of simply debating it. If it doesn't work, Qi4j will re-enter via the Incubator.

        In addition of regular Top Level Projects, we are making the following self-imposed suggestions to the Governance of this Provisional TLP;

          @@ -181,45 +192,45 @@ Qi4j is a platform to develop Composite

          Maturity of project into a regular Top Level Project is decided separately by the Board, with input from PMC and ComDev.

        -

        Project Naming

        +

        Project Naming

        Apache Zest is the proposed project name, as we have learned that "4j" in names might ultimately limit the future direction of the project. Additionally, Qi4j will remain as the Java implementation of the composite oriented programming platform. There is also a literal port to .NET, which may be migrated to ASF as well.

        -

        Project Description

        +

        Project Description

        Qi4j is a platform that combines Aspects, Composition, Dependency Injection, Validation, Storage/UnitOfWork handling, Indexing/Search abstraction, Architectural enforcement and much more, in a holistic top-down approach, primarily for Domain-rich applications, even explicitly supportive of Domain Driven Design.

        Composite oriented programming is a term coined in the early days of Qi4j, to capture the notion of using another paradigm for creating applications, than the prevalent object oriented programming one. It comprises of the ability to write smaller parts of code than regular classes, and compose these so called fragments into a larger "Composite". It is similar to aspect-oriented programming, but we take it one step further, there is no base class. The Composite consists of fragments, but no fragment has higher significance than any other fragment. However, there are explicit types of fragments, namely Composite Types, Constraints, Mixins, Concerns and Side-effects, to clearly communicate "Intent". The macro level composition takes the form of Applications has Layers which contains Modules in which the Composite Types are declared.

        Qi4j also evangelizes strong typing, so the equivalent of Around-Advice in AOP, which is called Concerns, can be made type-safe or like AOP be generic (using java.lang.reflect.InvocationHandler interface). Composites can either be hard coded using annotations, or assembled dynamically during the bootstrap phase.

        Qi4j is a whole new way to write Java applications, where focus lies on structures and interfaces, where classes are 'mere' implementation details.

        Qi4j boldly challenges bad practices head-on, such as "What is a Property?", "Why are null arguments allowed by default?" and "Is the structural assembly of the application actually the same as configuration values?"

        -

        Background

        +

        Background

        Java is NOT an object-oriented language. Neither is C# or C++. IF they were, how come an Object is DERIVED FROM a Class? A true object-oriented language should for sure have Class(es) assigned to Objects (or a similar construct), which are created 'clean', like stem cells can take on practically any cell's role of the body.

        Additionally, in real life, most objects have different properties and behaviors depending on the context. In front of the computer, I am primarily a 'programmer', but in the jungle I am primarily 'scared prey'. Modeling this in Java (and many other languages) requires the introduction of additional Object abstractions, often resulting in many similar classes representing the same underlying entity, again reinforcing our view that Java is a Class Oriented language.

        Many problems in software engineering can be attributed to (lack of) cohesion and (too tight) coupling. The original promise was that we write a Class once and we can re-use it in many different applications, subsystems and modules. In reality, the Class often contains "too much" for the next use-case. The granularity is too coarse, causing too much coupling to other parts. This have resulted in libraries being the smallest granularity that is practical, and solutions like OSGi, Spring and others have emerged to tackle the many issues that may arise from this, from dependency injection to configuration to assembly to runtime resolution of versioning.

        But we often wish that we could have smaller fragments and COMPOSE objects from these fragments. This also makes it easier to replace parts of implementations, instead of fragile overloading, library extension (assuming the library author provides that) and the famous monkey patching approach.

        Aspect Oriented Programming is a concept to capture cross-cutting concerns in one place. Classic cases are Logging and Authentication. This is an excellent concept, but we claim that AspectJ/AspectWerkz and others fail in the implementations, as most rely on naming conventions and declarations separated from the code itself. It is therefor often difficult to know what aspects are in effect at a given point in the code. The code weaving involved sometimes interferes with debugging and/or classloading in environments like OSGi. AOP is often only used by frameworks to "enhance" code supplied by a third-party developer, and less often being part of the downstream developer's daily life.

        Many people have architecture/design drawings, often with layers in the application, with modules within those layers. We call this Worditecture, as those layers and modules only exist in Word documents and if the code is inspected, more often than not, it is impossible to relate the code to such drawings. In Qi4j, we set out to enforce the Application Structure. Entities, Values and Services must be declared inside one or more Modules, and Modules belong inside Layers, and Layers are stacked on top of each other. The Entities, Values and Services have Visibility of either 'within Module', 'within Layer' or 'to Layer directly above'. This leads to less configuration and inability to mess up the codebase completely.

        -

        History

        +

        History

        The principles of composite oriented programming are the brain child of Rickard Öberg going back to ~2003. In early 2007, Niclas Hedhman convinced Rickard to start a new open source project around this, and Qi4j was born. First announced at Oredev conference in November 2007.

        Over the years, 28 people have contributed source to the project and many others have chimed in on mailing lists around direction, concepts and design. When Qi4j had the attention of media and others, we were not able to build long-term community around the project, and we have seen activity declined, as fewer itches to scratch and fewer people willing to make larger changes.

        -

        Rationale for migrating to ASF

        +

        Rationale for migrating to ASF

        Qi4j community sees direct productivity gains from using the platform, although the initial learning curve is quite overwhelming, like learning a new language. The Qi4j community recognizes that it has not been able to communicate the benefits well enough, to achieve a large user and developer community. We are confident of Qi4j's technical merit, and would like to draw on ASF's community merit to build a larger, sustainable and successful community around this exciting technology.

        The technical merit stems from that Qi4j has a strong model for programming in a more strict, yet more productive environment. A platform where fragments can be leveraged, where aspects are declared on the interfaces, where null values are not allowed by default, and where persistence is integrated yet pluggable at boot time. Qi4j enforces the use of modules and layers, the infrastructure layer can not access layers above it, and presentation layers at the top can't bypass service layers to directly access data stores. All these restrictions are there to provide more guidance to the programmer, reducing the length of the rope and the number of trees to hang oneself in.

        "Common things should be quick and easy, while anything should be possible", has been the mantra since the inception. And thanks to this foresight, Qi4j can be deeply integrated with many (but not all) existing Java technologies, to provide for migration paths.

        Qi4j internally contains a lot of functional structures, and the community is currently migrating Qi4j to Java 8, reducing a chunk of the codebase in the process, and will likely discover new ways of simplicity. Many argue that Qi4j should become its own programming language, but our position has always been that the refactoring tools available in Java are so powerful and should not be under-estimated. It would take endless amount of effort to even get close to that, something that many other language platforms are still struggling with.

        -

        Initial Goals

        +

        Initial Goals

        Qi4j is already on version 2.0, and striving towards both a 2.1 release as well as a Java 8 specific 3.0 release. This will be one of the first "Java 8"-only projects at the ASF, and hopefully a lot of people find this in itself attractive and exciting.

        Qi4j's user base is relatively small, but we are convinced of its remarkable properties as a productivity enhancing platform, and there is still much to do to reach its full potential. There are a lot of low hanging fruit (more extensions and libraries) as well as serious design challenges, such as reloadable Modules via OSGi and Jigsaw integration in Java 9.

        As mentioned above, the small agreeable user base also means that Qi4j can be much more aggressive in adopting newer Java versions, and currently an effort is on the way to leverage Java 8. The Stream API and closures are implemented separately in Qi4j, and we are now converting all the internal code to those features supplied in Java 8, to reduce the total code size of Qi4j Core.

        -

        Meritocracy

        +

        Meritocracy

        Qi4j has been developed under heavy influence of ASF principles and guidelines. The barrier to entry has been at the lowest possible level. A rather aggressive Commit-then-Review process has been in place, but people have in general been encouraged to do larger changes in publicly visible feature branches. The low barrier hasn't created any major problems yet, as reverting mistakes are relatively cheap, and it has been much more important to capture the long-tail of contributions than to avoid occasional bad commits.

        Qi4j is not operated by any organization, and all licensing is directly from developer to the user. We will engage the legal committee to ensure the IP rights are in full order.

        Qi4j's release process has not been nearly as stringent as the one at ASF, and will be the biggest change to the community. We will work closely with willing "Overseers" (see below), change our Gradle-based build system and use available tools, such as Rat, to ensure the highest quality releases possible.

        -

        Community

        +

        Community

        The current Qi4j developer community is rather small, but passionate individuals who are all convinced of Qi4j's merit and potential. We also think that some of the past developers will re-join the effort, once we are at ASF and some traction is attained.

        Over the years there has been 28 code contributors in total, of which 8 have been considered Core Developers, i.e. allowed to make changes on the Core runtime on trunk without hand-holding. No access control was in place to enforce that, and a social contract worked very well.

        We are probably not the best of community builders, and would welcome members from ASF projects, who think Qi4j is promising, to assist in the community building effort needed.

        -

        Active Developers

        +

        Active Developers

        All the active developers are independent of each other. No two developers work for the same employer, and no employer pays anyone for working full-time on Qi4j. We consider the following developers 'active' at the moment, one way or the other. It is a very diverse group;

        • @@ -267,31 +278,31 @@ All these restrictions are there to pro
        • Michael Hunger - Neo Technology Inc
        • Tonny Kohar - independent Apache Batik and SVG consultant
        -

        Alignment

        +

        Alignment

        Apache is a natural option for any Java project, as ASF has an overwhelming percentage of Java projects. But for Qi4j, we think that our choice to challenge every notion, not based on popularity but on technical merit, should be inspiring to existing ASF projects at large. And by doing so, we hope symbiotic relationships can be established with a variety of other projects at ASF.

        Qi4j is not "finished" and a lot of work in the Big Data space is still needed. We would like to see HBase and Cassandra use-cases to be "Tackled Qi4j Style" and practical conventions to emerge. There are several other ASF projects which Qi4j could support 'better', if we get a little help from those communities, incl Struts, Camel, ActiveMQ, Cayenne, Karaf and others.

        -

        Known Risks

        -

        Orphaned products

        +

        Known Risks

        +

        Orphaned products

        Qi4j is not a company product and never was. It was started by two individuals who have a long and strong community involvement dating back to 1998, also the time when they first learned to know each other.

        If the community can't be built at ASF, then we think that there must be something about Qi4j that is inherently alien to developers, and Qi4j has no broader appeal, beyond those who have both seen the advantages as well as gotten the opportunity to work with it and see for themselves the benefits. We will work hard to ensure the long-term sustainability of the project, because we think that Qi4j represents an important step towards a paradigm shift in software development.

        -

        Inexperience with Open Source

        +

        Inexperience with Open Source

        Not only does Qi4j have a rather long running history of an independent open source project, 6 major releases, and a track record of operating well as such, but Niclas Hedhman was a long time member of the Incubator PMC, serving on the Legal Committee and have plenty of experience of what is required of Apache projects, as does Marcel Offermans. We wouldn't have proposed to move Qi4j to Apache, unless we thought that the larger Qi4j community will work well at the ASF, with a little bit of initial legal and community assistance from friends at ASF.

        All of Qi4j's history, except the initial 2-3 months, were done on open mailing lists and public repositories. The practice of full discourse and discussion on asynchronous mailing lists has been respected to the fullest extent possible, and at no time has other means of communication been regular.

        Full source code history may not exist, as we went from Subversion at OPS4J to GIT at OPS4J to finally GitHub, initially with sub-repositories (which didn't work well) to finally the qi4j-sdk repository at GitHub. History has probably broken at some point.

        Just like early Apache project's mailing list history, Qi4j's might be incomplete in public archives, but we should be able to restore that, from GMail archives and other mailboxes. We intend to restore the mail archive, as there are many worth-while nuggets in there.

        -

        Homogenous Developers

        +

        Homogenous Developers

        The only homogeneity of Qi4j is the individuals' desire to go beyond the current status quo, to challenge things we do from habit, to criticize 'good practices' and offer radically different solutions to so called mainstream developers and accepted practices.

        The contributors have a vast diversity in their backgrounds and interests, even a non-developer making large contributions.

        The group came together at Qi4j, drawn by its uniqueness and different way to address common concerns. We consider this to be a non-issue.

        -

        Reliance on Salaried Developers

        +

        Reliance on Salaried Developers

        As far as we know, no one is currently paid to work on Qi4j itself. This has been a factor in the slow down of activity in the last two years, but we think that the bottom has been reached and that we will see an uptick during 2015, as some of the core members are coming back to write applications using Qi4j.

        -

        Relationships with Other Apache Products

        +

        Relationships with Other Apache Products

        Qi4j is such a unique and radically different platform that there is no direct alignment in Qi4j Core with other Apache (or any other for that matter) projects. We have also kept the dependencies to a minimum by choice. But Qi4j also defines Extension mechanisms, such as storage, indexing, serialization and metrics, and we have implemented extensions for Apache Cassandra and Apache Solr. We also have libraries that integrate other technology into the Qi4j world, such as Apache Shiro, Apache Struts and Apache CXF. We expect that additional Apache projects will be used in future Extensions as well as Libraries, especially in the Big Data space, where we see great opportunities for a Qi4j approach.

        -

        Excessive Fascination with the Apache Brand

        +

        Excessive Fascination with the Apache Brand

        There is no doubt that the Apache brand is strong, no one can deny that. But our primary 'fascination' is around the possibility to build a stronger community at the ASF, than we otherwise seem to be able to do. Apache is a natural water cooler, where open development people can share ideas and work together. We hope to inspire other Apache projects to do greater things after being exposed to Qi4j's unique approach to many technical challenges.

        -

        Documentation

        +

        Documentation

            Website; http://qi4j.org
         
             Source Repository; http://github.com/Qi4j/qi4j-sdk
        @@ -300,31 +311,31 @@ But Qi4j also defines Extension mechanis
         
        -

        Initial Source

        +

        Initial Source

        As mentioned earlier, Qi4j started out at OPS4J community, and the codebase was initially on Subversion, then moved to OPS4J operated GIT repositories and finally we moved to GitHub. We tried to preserve history the best we could, with reasonable effort. So, https://github.com/Qi4j contains the repositories that are relevant for the Incubator. In practice, only the qi4j-sdk is current. We suggest that the qi4j-core, qi4j-libraries and qi4j-extensions are imported but made read-only. qi4j-sandbox is imported. qi4j.github.com contains the current website, but the sources for that resides primarily inside the qi4j-sdk repository.

        -

        Source and Intellectual Property Submission Plan

        +

        Source and Intellectual Property Submission Plan

        There are no issues that we know of. Source code is available openly and online. All code has originated directly from Qi4j contributors, marked as Apache Licensed contributions and to the best of our knowledge there is no encumbered IP issues. As Qi4j was never a legal entity, all contributions were directly licensed (Apache License 2.0) by the developer to the public. There is no problem reaching out to all of the authors of an overwhelming part (if not all) of the codebase and ask for paperwork, if this is necessary.

        -

        External Dependencies

        +

        External Dependencies

        Qi4j has few dependencies, and all dependencies in all non-optional code is ASLv2 compatible. The required dependencies are; * ASM * SLF4J (To be revised) * org.json (included in source form in the repository. To be revised)

        There are optional libraries and extensions that have dependencies on projects with other licenses. One very notable case, the Neo4j entity store extension, is worth mentioning here. At the time this extension was created, Neo4j was under the AGPL license. It is now under GPL, yet the Qi4j Neo4j extension is licensed under Apache License v2. Are we not violating the license requirements of Neo4j? No, we think not, as the contribution itself was made by Neo Technology under the Apache license. Neo Technology argued that they had the right to provide the extension under ALv2, yet whoever ran a Qi4j application with the Neo4j storage extension, would be subjected to the AGPL (now GPL) requirements. Further discussion with Legal committee is expected to follow.

        -

        Cryptography

        +

        Cryptography

        Qi4j optionally depends on projects that use cryptography. As Qi4j isn't an organization, and most developers live in Europe, we have not followed the US trade restrictions on Cryptography. Without an extensive check of all 100+ optional dependencies, Apache Shiro stands out. We need to get feedback from legal@ on what the exact requirements are, and conduct a full review.

        -

        Required Resources

        -

        Mailing lists

        +

        Required Resources

        +

        Mailing lists

            private@zest.apache.org
             dev@zest.apache.org
             commits@zest.apache.org
         
        -

        Git Repositories

        +

        Git Repositories

        We understand that Apache operates its own Git repositories, as well as having a large number of read-only mirrors at GitHub under Apache organization.

            https://git-wip-us.apache.org/repos/asf/qi4j.git
             https://git-wip-us.apache.org/repos/asf/qi4j-legacy-core.git
        @@ -334,13 +345,13 @@ Without an extensive check of all 100+ o
         
        -

        Issue Tracking

        +

        Issue Tracking

        We also have Jira issues we wish to import from Atlassian operated https://ops4j1.jira.com/browse/QI, if possible, to

            https://issues.apache.org/jira/browse/ZEST
         
        -

        Initial PMC

        +

        Initial PMC

        • Alex Karasulu - akarasulu@apache.org
        • James Carman - jcarman@apache.org
        • @@ -350,7 +361,7 @@ Without an extensive check of all 100+ o
        • Niclas Hedhman - niclas@apache.org
        • Roman Shaposhnik - rvs@apache.org
        -

        Committers

        +

        Committers

        • Edward Yakop - efy@apache.org
        • Jaydatt Desai - jaydattdesai@gmail.com
        • @@ -363,7 +374,7 @@ Without an extensive check of all 100+ o
        • Stanislav Muhametsin - stanislav.muhametsin@cometasolutions.fi
        • Tibor Mlynarik - tibor.mlynarik@gmail.com
        -

        Affiliations

        +

        Affiliations

        • Edward Yakop - ABB Malaysia
        • Jaydatt Desai - Logicom Solutions
        • Modified: websites/staging/community/trunk/content/speakers/index.html ============================================================================== --- websites/staging/community/trunk/content/speakers/index.html (original) +++ websites/staging/community/trunk/content/speakers/index.html Mon Nov 16 08:24:18 2015 @@ -153,23 +153,34 @@
        • Speakers

        -

        If you are organizing an event and looking for speakers or you are a speaker looking for + +

        If you are organizing an event and looking for speakers or you are a speaker looking for materials this is the place for you.

        If you are seeking to organise an Apache branded event then you must ensure your activities conform to the Third Party Event Branding Policy. Once you have verified you are in conformance please consider adding your event to the events calendar.

        -

        Finding Speakers

        +

        Finding Speakers

        You can use our "Find People" application to find people willing and able to talk about The Apache Software Foundation and its projects. A few people have shared Apache related presentations for you.

        NOTE This service is alpha quality right now, and is populated by only some of the many volunteer speakers from Apache projects. If you have a problem with it or it doesn't turn up a suitable candiate please feel free to contact us for help (see below).

        -

        Listing yourself as a Potential Speaker

        +

        Listing yourself as a Potential Speaker

        If you're an Apache committer, and you're interested in speaking about Apache Projects, our Communities, or the Apache Software Foundation as a whole, we'd encourage you to get involved and list yourself in our speaker application!

        For more details on how to list yourself as a potential speaker, see the Apache Speakers WebApp page.

        -

        Speaker Support Materials

        +

        Speaker Support Materials

        If you are creating your own slides you will find the ASF Press Kit useful. It contains logos in various formats.

        We aim to collect a set of slide decks about the Apache Software Foundation for reuse in presentations. So far Modified: websites/staging/community/trunk/content/speakers/slides.html ============================================================================== --- websites/staging/community/trunk/content/speakers/slides.html (original) +++ websites/staging/community/trunk/content/speakers/slides.html Mon Nov 16 08:24:18 2015 @@ -154,7 +154,18 @@

      11. Slides.html

      12. -

        This page contains links to presentations about the ASF and how + +

        This page contains links to presentations about the ASF and how Apache projects work that you may find useful. Many of these have been presented at ApacheCon conferences or other open source conferences in the past.

        @@ -163,11 +174,11 @@ each individual presentation for license speakers are available.

        Similarly, many Apache speakers post their slides to the SlideShare website.

        New! Our many volunteers have posted full videos of all ApacheCon 2013 presentations for you!

        -

        Isabel Drost

        +

        Isabel Drost

        -

        Justin Erenkrantz

        +

        Justin Erenkrantz

        -

        Ross Gardler

        +

        Ross Gardler

        -

        Jim Jagielski

        +

        Jim Jagielski

        -

        Bertrand Delacretaz

        +

        Bertrand Delacretaz

        From 2014:

        -

        Shane Curcuru

        +

        Shane Curcuru

        -

        Andrea Pescetti

        +

        Andrea Pescetti