<HTML>
<HEAD>
<TITLE>Bugs and the TIFF Mailing List</TITLE>
</HEAD>
<BODY BGCOLOR=white> 
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/cover.jpg WIDTH=110 HEIGHT=110 ALIGN=left BORDER=1 HSPACE=6>
Bugs, Bugzilla, and the TIFF Mailing List
</H1>

<P>
This software is free.  Please let us know when you find a problem or
fix a bug.

<P>
Thanks to <A HREF=http://www.maptools.org/>MapTools.org</a>, libtiff now uses
bugzilla to track bugs.  All bugs filed in the older bugzilla at
bugzilla.remotesensing.org (pre April 2008) have unfortunately been lost. 
<P>
If you think you've discovered a bug, please first check to see if it is 
already known by looking at the list of already reported bugs.  You can do so 
by visiting the buglist at 
<A HREF=http://bugzilla.maptools.org/buglist.cgi?product=libtiff>http://bugzilla.maptools.org/buglist.cgi?product=libtiff</A>.  Also verify that 
the problem is still reproducable with the current development software 
from CVS. 
<P>
If you'd like to enter a new bug, you can do so at
<A HREF=http://bugzilla.maptools.org/enter_bug.cgi?product=libtiff>http://bugzilla.maptools.org/enter_bug.cgi?product=libtiff</A>.  
<P>
If you'd like to inform us about some kind of security issue that should not
be disclosed for a period of time, then you can contact maintainers directly.
Send a copies of your report to the following people: Frank Warmerdam
<a href="mailto:warmerdam@pobox.com">&lt;warmerdam@pobox.com&gt;</a>,
Andrey Kiselev
<a href="mailto:dron@ak4719.spb.edu">&lt;dron@ak4719.spb.edu&gt;</a>.
<P>

Of course, reporting bugs is no substitute for discussion.  The 
<a href="mailto:tiff@lists.maptools.org">tiff@lists.maptools.org</a> mailing
list is for users of this software, and discussion TIFF issues in general. 
It is managed with the Mailman software, and the web interface for subscribing
and managing your access to the list is at:<p>

  <a href="http://lists.maptools.org/mailman/listinfo/tiff">http://lists.maptools.org/mailman/listinfo/tiff</a><P>

Posts to the list are only accepted from members of the list in order
to limit the amount of spam propagated.  Also, to be approved as a member
you will need to email the list administrator with a brief description of
why you are interested in TIFF so we can weed out spammers.<p>

A <A HREF="http://www.awaresystems.be/imaging/tiff/tml.html">Long Term
Archive</a> including recent messages, and most messages back to 1993,
with search capabilities is available, and 
has been prepared and hosted by <a href="http://www.awaresystems.be">AWare
Systems</a>. <p>


<HR>

Last updated: $Date: 2008/09/03 08:04:26 $
</BODY>
</HTML>
