<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Get help via email | Apache Wicket</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />

		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    </head>

    <body class="">
        <div class="header default">
    <div class="l-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /help/email -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /help/email -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /help/email -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /help/email -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /help/email -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /help/email -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /help/email -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Get help via email</h1>
            <h2>The most convenient way of getting lots of help</h2>
            <p>Getting help through email is the most convenient way to contact the larger community and will result in the quickest responses.
</p>
        </header>
        <section class="l-one-third right">
            <div id="toc" class="toc"><div id="toc-title"><h2>Table of Contents</h2></div><ul><li class="toc--level-1 toc--section-1"><a href="#mailing-lists"><span class="toc-number">1</span> <span class="toc-text">Mailing lists</span></a></li><li class="toc--level-1 toc--section-2"><a href="#user"><span class="toc-number">2</span> <span class="toc-text">The Users list</span></a></li><li class="toc--level-1 toc--section-3"><a href="#dev"><span class="toc-number">3</span> <span class="toc-text">The Developers list</span></a></li><li class="toc--level-1 toc--section-4"><a href="#announce"><span class="toc-number">4</span> <span class="toc-text">The Announcements list</span></a></li><li class="toc--level-1 toc--section-5"><a href="#commit"><span class="toc-number">5</span> <span class="toc-text">The Commit list</span></a></li><li class="toc--level-1 toc--section-6"><a href="#security"><span class="toc-number">6</span> <span class="toc-text">Report a security issue</span></a><ul><li class="toc--level-2 toc--section-7"><a href="#contact-the-wicket-pmc-privately"><span class="toc-number">6.1</span> <span class="toc-text">Contact the Wicket PMC privately</span></a></li><li class="toc--level-2 toc--section-8"><a href="#report-normal-bugs-in-jira"><span class="toc-number">6.2</span> <span class="toc-text">Report normal bugs in JIRA</span></a></li></ul></li></ul></div>
        </section>
        <section class="l-two-third left">
            <h2 id="mailing-lists">Mailing lists</h2>
<p>For users of the Wicket community we run the following email lists:</p>
<div class="button-bar">
    <a class="button" href="#user"><i class="fa fa-comments"></i><br />Users</a>
    <a class="button" href="#dev"><i class="fa fa-code-fork"></i><br />Developers</a>
    <a class="button" href="#announce"><i class="fa fa-bullhorn"></i><br />Announcements</a>
    <a class="button" href="#commit"><i class="fa fa-file-code-o"></i><br />Commits</a>
    <a class="button" href="#security"><i class="fa fa-lock"></i><br />Security</a>
</div>
<p>Learn more about these lists below.</p>
<hr />
<h2 id="user">The Users list</h2>
<p>Ask your questions and answer questions of other users on the users
list. It is a medium traffic list with a couple of messages per day.
Community members ask and answer questions on this list. Announcements
and security updates are also sent to this list.</p>
<p>You have to subscribe to this list if you want to ask a question and
see the replies.</p>
<ul>
  <li>Traffic: medium</li>
  <li><a href="http://mail-archives.apache.org/mod_mbox/wicket-users/">Browse</a> the archives</li>
  <li><a href="http://wicket-user.markmail.org">Search</a> the list</li>
  <li><a href="mailto:users-subscribe@wicket.apache.org?subject=Subscribe+to+Apache+Wicket+User+list">Subscribe</a> to the list</li>
  <li><a href="mailto:users-unsubscribe@wicket.apache.org?subject=Unsubscribe+from+Apache+Wicket+User+list">Unsubscribe</a> from the list</li>
  <li><a href="mailto:users-help@wicket.apache.org?subject=Get+help+for+Apache+Wicket+User+list">Help for subscriptions</a></li>
</ul>
<p>Only subscribers can post to this list.</p>
<p>If you are only interested in updates about the Wicket project,
consider just subscribing to the announcements list.</p>
<hr />
<h2 id="dev">The Developers list</h2>
<p>Discuss internals of the framework. The traffic is low with just a couple of messages per week.</p>
<p>You have to subscribe to this list if you want to participate in discussions.</p>
<ul>
  <li>Traffic: low</li>
  <li><a href="http://mail-archives.apache.org/mod_mbox/wicket-dev/">Browse</a> the archives</li>
  <li><a href="http://wicket-dev.markmail.org">Search</a> the list</li>
  <li><a href="mailto:dev-subscribe@wicket.apache.org?subject=Subscribe+to+Apache+Wicket+Dev+list">Subscribe</a> to the list</li>
  <li><a href="mailto:dev-unsubscribe@wicket.apache.org?subject=Unsubscribe+from+Apache+Wicket+Dev+list">Unsubscribe</a> from the list</li>
  <li><a href="mailto:dev-help@wicket.apache.org?subject=Get+help+for+Apache+Wicket+Dev+list">Help for subscriptions</a></li>
</ul>
<p>Only subscribers can post to this list.</p>
<hr />
<h2 id="announce">The Announcements list</h2>
<p>The announcements list is used for publishing news about releases and
security updates. It is a very low traffic list.</p>
<p>You should subscribe to this list if you only want to keep up to date
with Wicket concerning releases and security announcements.</p>
<ul>
  <li>Traffic: low</li>
  <li><a href="http://mail-archives.apache.org/mod_mbox/wicket-announce">Browse</a>  the archives</li>
  <li><a href="http://wicket-announce.markmail.org">Search</a> the list</li>
  <li><a href="mailto:announce-subscribe@wicket.apache.org?subject=Subscribe+to+Apache+Wicket+announcements+list">Subscribe</a> to the list</li>
  <li><a href="mailto:announce-unsubscribe@wicket.apache.org?subject=Unsubscribe+from+Apache+Wicket+announcements+list">Unsubscribe</a> from the list</li>
  <li><a href="mailto:announce-help@wicket.apache.org?subject=Get+help+for+Apache+Wicket+announcements+list">Help for subscriptions</a></li>
</ul>
<p>Only Apache Wicket project members can post to this list.</p>
<hr />
<h2 id="commit">The Commit list</h2>
<p>The commit list is used for publishing commit messages, bug tracker
updates and other automatically generated messages.</p>
<p>You should subscribe to this list if you want to keep up to date with
Wicket development, like which commits happen, which issues are updated
and other things.</p>
<ul>
  <li>Traffic: high</li>
  <li><a href="http://mail-archives.apache.org/mod_mbox/wicket-commits">Browse</a> the archives</li>
  <li><a href="http://wicket-commits.markmail.org">Search</a> the list</li>
  <li><a href="mailto:commits-subscribe@wicket.apache.org?subject=Subscribe+to+Apache+Wicket+commits+list">Subscribe</a> to the list</li>
  <li><a href="mailto:commits-unsubscribe@wicket.apache.org?subject=Unsubscribe+from+Apache+Wicket+commits+list">Unsubscribe</a> from the list</li>
  <li><a href="mailto:commits-help@wicket.apache.org?subject=Get+help+for+Apache+Wicket+commits+list">Help for subscriptions</a></li>
</ul>
<p>This list is read only, and only Apache build systems can publish to it.</p>
<hr />
<h2 id="security">Report a security issue</h2>
<p>The Apache Software Foundation takes a very active stance in
eliminating security problems against the Apache Wicket web framework.</p>
<p>For reporting and discussing a security issue you should contact the
Wicket PMC privately.</p>
<p><strong>** PLEASE DO NOT CREATE A SECURITY REPORT IN OUR ISSUE TRACKER **</strong></p>
<p>The issue tracker for Wicket is not the appropriate venue for reporting
security issues as the issue tracker is publicly accessible. Instead,
contact the Wicket PMC privately.</p>
<h3 id="contact-the-wicket-pmc-privately">Contact the Wicket PMC privately</h3>
<p>Send your security issue to <strong>private at wicket.apache.org</strong>. This list
is not publicly available so we can discuss and fix the issue in
private without leaking the info to any bad guys.</p>
<p><a class="button" href="mailto:private@wicket.apache.org?subject=Security%20issue" onclick="window.location.href='mailto:private@wicket.apache.org?subject=Security%20issue';return false;">
    <i class="fa fa-shield"></i>
    REPORT A SECURITY ISSUE
</a></p>
<p>We treat all security issues seriously and will try to fix them as soon
as possible in all affected versions that we still support.</p>
<h3 id="report-normal-bugs-in-jira">Report normal bugs in JIRA</h3>
<p>The Security Team cannot accept regular bug reports or other queries,
we ask that you use our <a href="/help/#reportbug">bug reporting page</a>
for normal, non-security bugs.</p>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
   	<img src="/img/asf_logo_url.svg" style="height:90px; float:left; margin-right:10px;">
    <div style="margin-top:12px;">Copyright © 2020 — The Apache Software Foundation. Apache Wicket, Wicket, Apache, the Apache feather logo, and the Apache Wicket project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>
        </footer>
    </body>

</html>
