<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>PageSpeed Mailing Lists</title>
    <link rel="stylesheet" href="doc.css">
  </head>
  <body>
<!--#include virtual="_header.html" -->


  <div id=content>
<h1>PageSpeed Mailing Lists</h1>
    <h2 id="announcements">Announcements</h2>
    <p>
      Announcements of things we think everyone running PageSpeed would want to
      know: security vulnerabilities, bug workarounds, and new releases.  This
      is very low traffic, with a post every few months.
    </p>
    <ul>
      <li><a
        href="https://groups.google.com/forum/#!forum/mod-pagespeed-announce"
             >mod-pagespeed-announce</a></li>
      <li><a
        href="https://groups.google.com/forum/#!forum/ngx-pagespeed-announce"
             >ngx-pagespeed-announce</a></li>
    </ul>

    <h2 id="discussion">Discussion</h2>
    <p>
      General discussion about using PageSpeed.  Post here to ask a question or
      help answer someone else's.
    </p>
    <ul>
      <li><a
        href="https://groups.google.com/forum/#!forum/mod-pagespeed-discuss"
             >mod-pagespeed-discuss</a></li>
      <li><a
        href="https://groups.google.com/forum/#!forum/ngx-pagespeed-discuss"
             >ngx-pagespeed-discuss</a></li>
    </ul>

    <h2 id="development">Development</h2>
    <p>
      Detailed technical discussion about the implementation of PageSpeed.
      Intended for people working on PageSpeed and ports to other web servers.
    </p>
    <ul>
      <li><a
        href="http://mail-archives.apache.org/mod_mbox/incubator-pagespeed-dev/"
             >pagespeed-dev</a></li>
    </ul>
  </div>
  <!--#include virtual="_footer.html" -->
  </body>
</html>
