<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8"/>
    <title>Apache Whimsy</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Apache Whimsy Project And Server Code</title>
    <link rel="stylesheet" type="text/css" href="/assets/bootstrap-min.css"/>
    <style type="text/css">
      h2 {text-decoration: underline}
      header h2 span {display: none}
      header:hover h2 span {display: inline}
      aside {display: none}
      header:hover aside {margin-left: 4em; display: block; 
        border: 3px solid #B7B; padding: 1em; border-radius: 1em;
        position: absolute; background-color: white}
      aside ol {margin-bottom: 0}
      .footer { 
        margin-top: 20px;
        margin-left: 20px;
      }
    </style>
  </head>
  <body>
    <div class="header container-fluid">
      <div class="row">
        <div class="col-sm-4 hidden-xs">
          <a href="https://www.apache.org/">
            <img title="The Apache Software Foundation" alt="ASF Logo" width="250" height="101" style="margin-left: 10px; margin-top: 10px;" src="https://www.apache.org/foundation/press/kit/asf_logo_small.png"/>
          </a>
        </div>
        <div class="col-sm-3 col-xs-3">
          <a href="/">
            <img title="Whimsy project home" alt="Whimsy hat logo" src="/whimsy.svg" width="145" height="101"/>
          </a>
        </div>
        <div class="col-sm-5 col-xs-9 align-bottom">
          <ul class="nav nav-tabs">
            <li role="presentation">
              <a href="https://github.com/apache/whimsy/">
                Code
              </a>
            </li>
            <li role="presentation">
              <a href="https://lists.apache.org/list.html?dev@whimsical.apache.org">
                Questions
              </a>
            </li>
            <li role="presentation">
              <a href="status/">
                Server status
              </a>
            </li>
            <li role="presentation">
              <a href="/technology">
                About
              </a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  
    <div class="content container-fluid">
      <div class="row">
        <div class="col-md-10 col-md-offset-1">
        <header>
          <h2><a href="http://dictionary.reference.com/browse/whimsy">Whim<span>·</span>sy</a></h2>
          <aside>
            [hwim-zee, wim-] noun, plural whim·sies.
            <ol>
              <li>capricious humor or disposition; extravagant, fanciful, or
              excessively playful expression: a play with lots of whimsy.</li>
              <li>an odd or fanciful notion.</li>
              <li>anything odd or fanciful; a product of playful or capricious
              fancy: a whimsy from an otherwise thoughtful writer.</li>
            </ol>
          </aside>
          <blockquote>
            Whimsy is a site where a set of unnecessary yet highly useful applications are deployed at Apache. 
          </blockquote>
        </header>
          <p>The <a href="http://whimsical.apache.org/">Apache Whimsy PMC</a> manages this server, and maintains the tools here.
             Our focus is on providing organizational information about the ASF and our projects
             in easy to consume ways, and to help automate corporate processes at the ASF to 
             make the paperwork behind the scenes easier for our many volunteers.
          </p>
        </div>
      </div>
      <div class="row">
        <div class="col-md-6">
          <div class="panel panel-primary">
            <div class="panel-heading">
              <h3 class="panel-title">Publicly Acessible Tools</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="board/minutes/">Board Minutes Collated by PMC/officer/topic</a></li>
                <li><a href="incubator/podlings/by-age">Incubator podlings by age</a></li>
                <li><a href="public/">Generated JSON data files</a></li>
                <li><a href="site/">TLP Website Link Checks</a></li>
              </ul>
            </div>
          </div>
        </div>
        <div class="col-md-6">
          <div class="panel panel-primary">
            <div class="panel-heading">
              <h3 class="panel-title">Other Apache Resources</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="https://projects.apache.org/">Apache Project Listing</a></li>
                <li><a href="https://www.apache.org/dev">Apache Developer How-Tos</a></li>
                <li><a href="https://community.apache.org/">Apache Community How-Tos</a></li>
                <li><a href="https://reference.apache.org/">Apache Infra Reference Library</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-md-6">
          <div class="panel panel-info">
            <div class="panel-heading">
              <h3 class="panel-title">Available To Committers</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="roster/">Rosters (PMCs, committers, members, groups, podlings)</a></li>
                <li><a href="committers/subscribe">Subscribe and unsubscribe from mailing lists</a></li>
                <li><a href="committers/svn-info">svn info command helper</a></li>
                <li><a href="committers/moderationhelper">Helper for mailing list moderators (Beta)</a></li>
              </ul>
            </div>
          </div>
        </div>
        <div class="col-md-6">       
          <div class="panel panel-info">
            <div class="panel-heading">
              <h3 class="panel-title">Available to Members and Officers</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="board/agenda/">Board Agenda</a></li>
                <li><a href="officers/acreq">New Account Request</a></li>
                <li><a href="officers/mlreq">Mailing List Request</a></li>
                <li><a href="treasurer/bill-upload">Bill Upload</a></li>
                <li><a href="board/subscriptions">PMC-chair vs board subscriptions</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-md-6">
          <div class="panel panel-info">
            <div class="panel-heading">
              <h3 class="panel-title">Available to Members</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="members/subscriptions/">Member subscription cross-checks</a></li>
                <li><a href="members/watch/">Member watch</a></li>
                <li><a href="members/whatif">STV Explorer</a></li>
                <li><a href="members/proxy">Proxy form (ASF members meeting)</a></li>
                <li><a href="members/security-subs">Security Mailing List Subscriptions</a></li>
              </ul>
            </div>
          </div>
        </div>
        <div class="col-md-6">
          <div class="panel panel-info">
            <div class="panel-heading">
              <h3 class="panel-title">Available to Members and IPMC</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="incubator/moderators">Incubator moderators</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-md-6">
          <div class="panel panel-warning">
            <div class="panel-heading">
              <h3 class="panel-title">Available to Secretarial Team</h3>
            </div>
            <div class="panel-body">
              <ul>
                <li><a href="secretary/workbench/">Secretary Workbench</a></li>
                <li><a href="secretary/icla-lint">Lint test for iclas.txt</a></li>
                <li><a href="secretary/public-names">Public names: LDAP vs icla.txt</a></li>
                <li><a href="secretary/response-time">Response time test</a></li>
              </ul>
            </div>
          </div>        
        </div>
      </div>
    </div>

    <div class="footer container-fluid">
      <div class="panel panel-default">
        <div class="panel-heading">
          <h3 class="panel-title">License And Credits</h3>
        </div>
        <div class="panel-body">
          <p>
            Copyright &copy; 2015-2017 The Apache Software Foundation, Licensed under
            the <a href="http://www.apache.org/licenses/LICENSE-2.0" rel="license">Apache License, Version 2.0</a>.
            | 
            <a href="https://www.apache.org/foundation/policies/privacy">Privacy Policy</a>
            <br />
          Apache&reg;, the names of Apache projects, and the feather logo are either <a href="http://www.apache.org/foundation/marks/list/">registered trademarks or trademarks</a> of the Apache Software Foundation in the United States and/or other countries.
          </p>
        </div>
      </div>
    </div>
    <script src="/assets/jquery-min.js" lang="text/javascript"></script>
    <script src="/assets/bootstrap-min.js" lang="text/javascript"></script>
  </body>
</html>
