I"D,<div class="button-bar">
    <a class="button" href="#security"><i class="fa fa-lock"></i><br />Security</a>
    <a class="button" href="#reportbug"><i class="fa fa-bug"></i><br />Report a bug</a>
</div>
<div class="button-bar">
    <a class="button" href="#questions"><i class="fa fa-question-circle"></i><br />Get help</a>
    <a class="button" href="#commercial"><i class="fa fa-ambulance"></i><br />Commercial support</a>
</div>

<h2 id="questions">We are here to Help</h2>

<p>There are a lot of venues to ask questions about Wicket. The most
obvious one is of course asking a search engine. But when you can’t
find an answer or are unable to ask the right question, discussing it
with a human being is really the way to go.</p>

<p>The following list gives you the options for asking your questions (and
maybe even answer a couple) about Wicket:</p>

<ul>
  <li>
    <p><a href="email.html">Our mailing lists</a> provide a quick and easy way to ask
questions to our grander community. Many Wicket developers have
subscribed to our User list and want to help you!</p>
  </li>
  <li>
    <p><a href="irc.html">Our IRC channel</a> <strong>##wicket</strong> at <em>irc.freenode.net</em>
provides a more direct discussion platform. Note that time zones can
make it difficult to find activity in the channel.</p>
  </li>
  <li>
    <p><a href="http://stackoverflow.com/questions/tagged/wicket" rel="nofollow" title="Goes to Stackoverflow website">Stackoverflow</a> provides a
modern Q&amp;A experience with a helpful community.</p>
  </li>
</ul>

<p>Whichever you choose, remember to <a href="http://www.catb.org/esr/faqs/smart-questions.html">ask your questions the right
way</a>.</p>

<hr />

<h2 id="security">Report A Security Problem</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>

<hr />

<h2 id="reportbug">Report a Bug for Apache Wicket</h2>

<p>If you are experiencing problems using Wicket please report your
problem via the <a href="https://issues.apache.org/jira/browse/WICKET">Issue
Tracker</a>. You may also
find it useful to discuss your issues with the community on one of the
Mailing Lists.</p>

<p>Before asking for help with your issue, it’s a very good idea to search
for your issue in the mailing list archives and the FAQ. The majority
of issues can be solved in this manner without having to send an email
to the mailing list. If you don’t find an answer, use the guidelines
below when writing the e-mail.</p>

<h3 id="checklist-for-reporting-a-bug">Checklist for Reporting a Bug</h3>

<p>Please use the following checklist before reporting a bug:</p>

<ul>
  <li>Search for a reported, existing bug</li>
  <li>Use the latest release of your Wicket version</li>
  <li>Use compatible versions of supporting libraries</li>
  <li>Try reproducing it in a quick start</li>
  <li>Create a report in our issue tracker</li>
</ul>

<p>While not mandatory, we will ask you these questions in your bug report
anyway, so you might as well get them out of the way.</p>

<h3 id="searchbug">Search for a Reported, Existing Bug</h3>

<p>A lot of developers use Wicket, and chances are someone already
encountered your issue. So please search for some keywords of your
problem using a search engine,
<a href="http://stackoverflow.com/questions/tagged/wicket">stackoverflow</a> and our
<a href="https://issues.apache.org/jira/browse/WICKET">issue tracker</a>.</p>

<p>If someone already found your bug, look at how the bug was resolved. If
it wasn’t resolved, note what they already tried and add your own
experience to it, possibly including a <a href="#bugquickstart">quick start</a>.</p>

<h3 id="latestrelease">Using the Latest Release of Wicket</h3>

<p>Wicket releases new versions on a regular basis. Chances are that your
bug has been solved in a recent version. So if for instance you
discover a bug in Wicket 6.2.0, it might be fixed in a newer version
(the current version of Wicket 6.x is 6.30.0).</p>

<p>So we ask you to try the latest version of the branch of Wicket you are
working on. If the bug still remains,</p>

<p>Check if your version is no longer maintained on our download page. If
your version is no longer maintained we kindly ask you to upgrade your
project to a newer, maintained version of Wicket. For example if you
have a project that depends on Wicket 1.3.7, please consider upgrading
to Wicket 8.8.0.</p>

<h3 id="compatible">Using Compatible Versions of Supporting Libraries</h3>

<p>If you are using a supporting library from either the Wicket project,
Wicket Stuff or another project, please ensure that the version you use
is compatible with your Wicket version.</p>

<p>You can’t use Wicket 1.5.x libraries with Wicket 6.x, Wicket 7.x or Wicket 8.x. It
should be safe to use a library compatible with Wicket 6.0 with
6.30.0</p>

<p>For example:</p>

<ul>
  <li>wicket-extensions-1.5.12.jar is not compatible with wicket-core-6.30.0</li>
</ul>

<p>Possible, but not advisable:</p>

<ul>
  <li>wicket-extensions-6.10.0 should be compatible with wicket-core-6.30.0</li>
</ul>

<p>Advised:</p>

<ul>
  <li>Use wicket-extensions-6.30.0 with wicket-core-6.30.0</li>
</ul>

<p>This also holds true for release of our sister project <em>Wicket Stuff</em>.</p>

<h3 id="bugquickstart">Provide a Quick Start</h3>

<p>When you encounter an unexpected behavior this can be a bug in Wicket.
But to be certain it is not caused by something else we kindly ask you
to try to reproduce your bug in a Quick Start project.</p>

<p>A Quick Start project is generated using our <a href="../start/quickstart.html">online commandline
generator</a> that creates a Maven project with a simple Wicket
application. This is a very minimal setup ideal to try to reproduce
your problem in an isolated way.</p>

<p>The benefits for having your problem reproduced in a minimal Quick
Start application are many:</p>

<ul>
  <li>
    <p>while trying to reproduce the issue you might discover it is caused
by something completely different, not related to Wicket</p>
  </li>
  <li>
    <p>you can easily provide instructions to reproduce the problem instead
of having to give the Wicket developers a manual to your application</p>
  </li>
  <li>
    <p>an isolated application that shows your problem makes it easier for
Wicket developers to debug the issue without having to reproduce your
particular development/test/production environment</p>
  </li>
  <li>
    <p>a small, focused application lets Wicket developers read the code at
hand much easier without having to wade through thousands lines of
code</p>
  </li>
</ul>

<p>Providing a Quick Start with your problem helps us resolve the bug much
quicker.</p>

<h3 id="createreport">Create a Report in our Issue Tracker</h3>

<p>Whenever you are reporting a problem, please be sure to include as much
information as possible; the more we know, the better the chance of a
quick resolution.</p>

<ul>
  <li>The version of Wicket and the libraries you use</li>
  <li>Which operating system and JDK</li>
  <li>Any particular JEE container being used - if so what version</li>
  <li>Stack traces generally really help! If in doubt include the whole
thing; often exceptions get wrapped in other exceptions and the
exception right near the bottom explains the actual error, not the
first few lines at the top. Its very easy for us to skim-read past
unnecessary parts of a stack trace.</li>
  <li>Log output can be useful too; sometimes enabling DEBUG logging can
help your code &amp; configuration files are often useful</li>
</ul>

<h3 id="faster">How to Get Help Faster</h3>

<p>We can help you much quicker if you try the following</p>

<ul>
  <li>Provide us with a JUnit test case that demonstrates your issue. e.g.
if you think you’ve found a bug, can you create a test case to
demonstrate the bug?</li>
  <li>Submit a patch fixing the bug! (We also buy you beer when we meet you
if you submit bug fixes for memory leaks or performance related
issues, if you can run a profiler on your test case and attach the
output as a file (or zipped file if its huge) to the JIRA we can
normally fix things much faster. e.g. run JProfiler or YourKit on
your code and send us the output. To find memory leaks its quicker to
resolve if you can tell us what classes are taking up all of the RAM;
we can normally figure out whats wrong from that.</li>
</ul>

<p>Help us help you!</p>

<p>When you want more direct support, you can consider hiring commercial
support.</p>

<hr />

<h2 id="commercial">Commercial Wicket Support</h2>

<p>The Wicket community is not only supported by volunteers but several
individuals and companies provide professional support for Wicket
application development in many countries around the world.</p>

<h3 id="finding-a-wicket-service-provider">Finding a Wicket Service Provider</h3>

<p>The linked page below lists all companies that provide commercial
services for Wicket which ranges from training courses, consultancy and
even project development.</p>

<div class="button-bar">
    <a class="button" href="https://cwiki.apache.org/confluence/display/WICKET/Companies+that+provide+services">
        <i class="fa fa-group"></i><br />
        Go to the wiki
    </a>
</div>

<p>Being mentioned here is not an indication of official “endorsement” by
the Apache Software Foundation, but is instead provided as a public
service. This list is in no way a complete listing of the many
organizations providing either free or for cost support for ASF
projects. If you would like to be added to this list, or removed, sign
up for the wiki and add yourself to the list.</p>

<h3 id="registering-as-a-wicket-service-provider">Registering as a Wicket Service Provider</h3>

<p>If you are a service provider specializing in Wicket
application development you are welcome to add yourself to this wiki
page (a registered account is required).</p>

<p>We reserve the right to remove your listing if it is deemed
inappropriate.</p>

:ET