<?php 
$title = "Keeping in Touch";
include("header.inc"); 
?>
<h2>Keeping in Touch</h2>

<h3>Mailing Lists</h3>
<p>There are a number of mailing lists for WebKit related topics.  Archives for all the lists as well as information on joining them are available on the individual list page.</p>
<p><a href="http://lists.webkit.org/mailman/listinfo/webkit-dev">webkit-dev</a> is for general discussion of WebKit development.</p>

<p>If you would like help with development of an application using WebKit (as opposed to development the WebKit engine itself), the right list is the <a href="http://www.lists.apple.com/mailman/listinfo/webkitsdk-dev">webkitsdk-dev list</a>.</p>

<p><a href="http://lists.webkit.org/mailman/listinfo/webkit-reviews">webkit-reviews</a> is a list for notification of review requests.  Bugzilla automatically notifies this list of all patches awaiting review</p>

<p>New repository commit information is automatically sent to the <a href="http://lists.webkit.org/mailman/listinfo/webkit-changes">webkit-changes</a> mailing list.</p>

<p>New bugs are assigned to the <a href="http://lists.webkit.org/mailman/listinfo/webkit-unassigned">webkit-unassigned mailing list</a> by default, which is notified of the new bugs, as well as their updates and changes.</p>

<h3>IRC</h3>

<p>You can find WebKit developers, testers, and other interested
parties in channel <a href="irc://irc.freenode.net/#webkit">#webkit</a> on the FreeNode IRC network
(<a href="irc://irc.freenode.net/#webkit">irc.freenode.net</a>).

<h3>Bug Tracker</h3>

<p>You can report new bugs and monitor the state of existing bugs in
our <a href="http://bugs.webkit.org/">Bugzilla</a>,
in the WebKit product.
</p>

<h3>Other useful info</h3>

<p>
<b>Trac</b><br>
Want to know more about what we're up to? Check out our <a href="http://trac.webkit.org">trac</a> where you can browse the source and see our changes.
</p>
<p>
<b>CIA</b><br>
Project activity of WebKit and other projects is measured at <a href="http://cia.navi.cx/">CIA</a>, where you can see if we've done anything on our <a href="http://cia.navi.cx/stats/project/WebKit">project page</a>.
</p>
<p>
<b>Build Bot</b><br>
Another way to see the current state of things is our <a href="http://build.webkit.org/">build bot</a>. This build system helps us identify build and testcase failures fast, and as such is invaluable to us.
</p>

<?php
include("footer.inc");
?>
