incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Mattmann <mattm...@apache.org>
Subject Re: [VOTE] Accept PageSpeed into the Apache Incubator
Date Wed, 27 Sep 2017 21:43:01 GMT
+1 from me. (binding)

Thanks and good luck.

Chris




On 9/27/17, 12:04 PM, "Otto van der Schaaf" <oschaaf@apache.org> wrote:

    Hi All,
    
    I would like to start a VOTE to bring the PageSpeed project in as an Apache
    incubator
    podling.
    
    The ASF voting rules are described:
    
    https://www.apache.org/foundation/voting.html
    
    A vote for accepting a new Apache Incubator podling is a majority vote
    for which only Incubator PMC member votes are binding.
    
    This vote will run for at least 72 hours. Please VOTE as follows
    [] +1 Accept PageSpeed into the Apache Incubator
    [] +0 Abstain.
    [] -1 Do not accept PageSpeed into the Apache Incubator because ...
    
    The proposal is listed below, but you can also access it on the wiki:
    
    https://wiki.apache.org/incubator/PageSpeedProposal
    
    Kind regards,
    
    Otto
    
    = Apache PageSpeed =
    
    == Abstract ==
    PageSpeed represents a series of open source technologies to help make the
    web faster by rewriting web pages to reduce latency and bandwidth.
    
    == Proposal ==
    PageSpeed is an open source library that can be embedded in a web server or
    proxy server to perform just-in-time optimization of its output. PageSpeed
    has two stable open source implementations: mod_pagespeed (httpd),
    ngx_pagespeed (nginx). There is also ats_pagespeed (experimental), and
    there are proprietary implementations (Microsoft IIS, OpenLiteSpeed, and
    others).
    
    This proposal assumes a single project for the pagespeed library and its
    three derived open source implementations:
    
     * [[https://github.com/pagespeed/mod_pagespeed|mod_pagespeed]]
     * [[https://github.com/pagespeed/ngx_pagespeed|ngx_pagespeed]]
     * [[
    https://github.com/apache/trafficserver/tree/master/plugins/experimental/ats_pagespeed|ats_pagespeed
    ]]
    
    == Background ==
    Studies indicate that there is a negative correlation between slow site
    speeds and important business metrics, like conversion, retention, and
    others. Web performance optimization is a fast moving target, and it is
    both hard and expensive for companies to keep up with the current state of
    technology. PageSpeed optimization represents an opportunity for website
    owners to deliver content up to date with the latest web performance best
    practices at reduced costs, without changing development workflows.
    
    == Rationale ==
    We think that the ASF offers the ideal environment to foster and grow the
    project’s community. Many organizations can benefit from automatic web
    optimization.
    
    == Initial Goals ==
    The initial goals of the pagespeed project are several-fold:
    
     * Foster and grow the community
     * Move the existing codebases to Apache and integrate with the Apache
    development process.
     * [[https://github.com/pagespeed/mod_pagespeed/issues/1601|Move the docs
    into a separate repository]], so we can (more easily) decouple product
    releases from documentation updates. (Ideally the process for making small
    doc changes is a low friction one).
     * Finish and land [[
    https://github.com/pagespeed/mod_pagespeed/issues/876|content-security-policy
    support]]
     * Finish and land changes in PageSpeed’s resource fetching infrastructure
    (including a change [[
    https://github.com/pagespeed/mod_pagespeed/issues/262|that teaches it about
    following redirects]]).
     * [[https://github.com/pagespeed/ngx_pagespeed/issues/1181|Add Alpine
    Linux]] to the list of supported distributions due to popular demand.
     * Turn the [[
    https://github.com/pagespeed/mod_pagespeed/wiki/Design-Doc:-Central-Controller|experimental
    central controller process]] on by default. Having a central controller
    process is useful when someone wants to implement:
       * Centrally fetching input resources
       * Running phantomjs centrally for implementing more advanced
    optimization opportunities
       * Optimizing the file cache cleaning system
       * More efficient handling of compute intensive optimizations (like image
    transcoding and (re-)compression)
       * If we do all of the above, a lot of the project’s dependencies would
    end up running in a separate process. That offers further advantages from a
    security perspective.
    
    With the changes above, we propose releasing a 2.0 version of mod_pagespeed!
    
    Next up would be allowing for intelligent decisions based on protocol
    (http/2, quic). (ngx_pagespeed already is capable of doing this (and more)
    to some extent with its [[
    https://www.modpagespeed.com/doc/system#nginx_script_variables|script
    variable support.]])
    
    == Current Status ==
    Google launched mod_pagespeed in 2010 to provide free open-source
    technology to automate deployment of best practices for web front end
    delivery. Since that time, the module has gained broad adoption, with
    hundreds of thousands of installs including 1.2% of the top 10k sites. The
    PageSpeed Optimization Libraries have been used in products such as the
    Chrome Data Reduction proxy, PageSpeed Insights, Accelerated Mobile Pages
    (AMP), and Google Web Light, as well as a plethora of CDN/Hosting/Plugin
    channels to help any website deploy PageSpeed, including Verizon/Edgecast’s
    CDN, we-amp’s IIS WebSpeed and ats_pagespeed, SiteGround, Section.IO,
    OpenLitespeed, and cpanel.
    
    == Meritocracy ==
    We plan to invest in supporting a meritocracy. We will discuss the
    requirements in an open forum. The project is used by a huge amount of
    companies, and we intend to invite additional developers to participate. We
    will encourage and monitor community participation so that privileges can
    be extended to those that contribute.
    
    == Community ==
    The need for a platform capable of automatically optimizing web content in
    the open source community has turned out tremendous. We are hoping that
    embracing “the Apache way” will accelerate the growth of our community. We
    have already been active at seeking and inviting contributions.
    
    == Core Developers ==
    The initial committers for pagespeed include experienced engineers:
    
     * Otto van der Schaaf - (We-Amp / IISWebSpeed)
     * Kees Spoelstra - (We-Amp / IISWebSpeed)
     * Ashish Kulkarni - (We-Amp / IISWebSpeed)
     * Joshua Marantz - (Google)
     * Maksim Orlovich - (Google)
    
    We realize that additional employer diversity is needed, and we will work
    to recruit developers from additional companies.
    
    == Alignment ==
    The initial committers strongly believe that a system for optimizing web
    content will gain broader adoption as an open source, community driven
    project.
    
    == Known Risks ==
    
    === Orphaned Products ===
    [[
    https://groups.google.com/forum/#!topic/mod-pagespeed-discuss/SYx1nOS6HsE|Google
    has recently stepped down as the controlling entity of the project]].
    Individual committers from Google are still involved in the project along
    with continued involvement from We-Amp. We plan to mitigate the risks of
    this transition by recruiting additional committers. We expect the ASF to
    be a good environment for growing our community.
    
    === Inexperience with Open Source ===
    The initial committers include Apache members (committers and PPMC members)
    and developers who have varying degrees of experience with open source
    projects. All have been involved with source code that has been released
    under an open source license, and several also have experience developing
    code with an open source development process.
    
    === Homogenous Developers ===
    The initial committers are employed by We-Amp B.V. and Google Inc. We are
    committed to recruiting additional committers from other companies.
    
    === Reliance on Salaried Developers ===
    It is expected that PageSpeed development will occur on both salaried time
    and on volunteer time, after hours (or 20% time). We-Amp’s committers are
    paid by their company (IIS WebSpeed) to contribute to this project.
    However, all involved are very passionate about the project, and we are
    confident that the project will continue even if no salaried developers
    contribute to the project. We are committed to recruiting additional
    committers including non-salaried developers.
    
    === Relationships with Other Apache Products ===
    To the knowledge of the Initial Committers, there are no direct competitors
    to pagespeed optimization within the Apache Software Foundation. The
    project implements modules for both Apache httpd and Apache Traffic Server.
    We look forward to collaborating with those communities, as well as other
    Apache communities.
    
    === An Excessive Fascination with the Apache Brand ===
    Our rationale for developing pagespeed optimization as an Apache project is
    detailed in the Rationale Section. We believe that the Apache brand and
    community process will help us attract more contributors to this project,
    and help grow the footprint of the project through usage at other
    organizations and within other applications. Establishing consensus among
    users and developers will result in a more valuable product for everyone.
    
    == Documentation ==
    References to further reading material:
    
     * [[https://www.modpagespeed.com/doc|Documentation]]
     * [[https://www.modpagespeed.com|Examples (mod_pagespeed)]]
     * [[https://www.ngxpagespeed.com/|Examples (ngx_pagespeed)]]
     * [[
    https://github.com/apache/trafficserver/tree/master/plugins/experimental/ats_pagespeed/|ats_pagespeed
    ]]
    
    == Initial Source ==
    The origin of the proposed code base can be found at
    https://github.com/pagespeed/. The code base is primarily in C/C++ (Google
    C++ Style).
    
    == Source and Intellectual Property Submission Plan ==
    Google will submit a Software Grant Agreement (SGA) as mod_pagespeed and
    ngx_pagespeed join the incubator. We do not expect any complications for
    the submission of these code bases, which are already on Github and Apache
    licensed. [[
    http://incubator.apache.org/ip-clearance/ats-ats_speed.html|ats_pagespeed
    already has been submitted]].
    
    == External Dependencies ==
    List of external dependancies: [[
    https://github.com/pagespeed/mod_pagespeed/tree/master/third_party|third
    party deps]].
    We believe most of these dependencies meet all Apache policies, and will
    conduct a more thorough review during incubation.
    
    == Cryptography ==
    The proposal does not include cryptographic code. The project depends on
    BoringSSL, but does not include it.
    
    == Required Resources ==
    Currently continuous integration is performed at travis. There is also
    ci.onpagespeed.com sponsored by IIS WebSpeed which performs more extensive
    tests on commits to mod_pagespeed and ngx_pagespeed.
    
    == Mailing List ==
    Currently there are mailing lists hosted on Google Groups, that we can
    deprecate as the Apache.org become ready to serve our community.
    
     * [[
    https://groups.google.com/forum/#!forum/ngx-pagespeed-discuss|ngx-pagespeed-discuss
    ]]
     * [[
    https://groups.google.com/forum/#!forum/mod-pagespeed-discuss|mod-pagespeed-discuss
    ]]
     * [[
    https://groups.google.com/forum/#!forum/ngx-pagespeed-announce|ngx-pagespeed-announce
    ]]
     * [[
    https://groups.google.com/forum/#!forum/mod-pagespeed-announce|mod-pagespeed-announce
    ]]
     * [[https://groups.google.com/forum/#!forum/pagespeed-dev|pagespeed-dev]]
    
    == Subversion Directory ==
    Git is the preferred source control system.
    
    == Git Repository ==
    Git is the preferred source control system (We are proposing
    https://github.com/apache/incubator-pagespeed based on the naming scheme)
    
    == Issue Tracking ==
    JIRA pagespeed (pagespeed). If possible, we’d like to use Github issues &
    PRs to manage our project as much as possible. It’s been said that there
    are ways to keep Github’s issues in sync with Jira, allowing us to get best
    of both worlds. If that is not possible, we will comply to using Jira.
    
    == Other Resources ==
    We currently use a set of Github integrated services that are free to the
    open source community, like Travis-ci. We would like to keep using these
    services as they allow us to scale contributions and optimize our
    development flows. These services require some elevated rights on the
    Github repository in order to set up or tune and we would like for the
    committers to have the required rights.
    
    == Initial Committers ==
     * Joshua Marantz <jmarantz@google.com> (Google) - committer
     * Maksim Orlovich <morlovich@google.com> (Google) - committer
     * Otto van der Schaaf <oschaaf@apache.org> (We-Amp) - committer
     * Kees Spoelstra <kspoelstra@we-amp.com> (We-Amp) - committer
     * Ashish Kulkarni <akulkarni@we-amp.com> (We-Amp) - committer
     * Leif Hedstrom <zwoop@apache.org> - Champion, mentor and committer
     * Jukka Zitting <jukka@apache.org> - Mentor
     * Nick Kew <niq@apache.org> - Mentor
     * Phil Sorber <sorber@apache.org> - Mentor
    
    == Affiliations ==
    The initial committers are employees of Google Inc., We-Amp B.V.
    
    == Sponsors ==
     * Google, We-Amp / IIS WebSpeed
    
    == Champion ==
     * Leif Hedstrom <zwoop@apache.org>
    
    == Nominated Mentors ==
     * Jukka Zitting <jukka@apache.org>
     * Leif Hedstrom <zwoop@apache.org>
     * Nick Kew <niq@apache.org>
     * Phil Sorber <sorber@apache.org>
    
    == Sponsoring Entity ==
    Incubator PMC
    



---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message