sane-project-website/contrib.html

176 wiersze
8.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>SANE - Contributing</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Henning Meier-Geinitz">
<meta name="keywords" content="sane, scanner, help, helping, contributing, contribution">
<meta name="description" content="Contributing to SANE">
<link href="mailto:hmg-guest@users.alioth.debian.org" rev="made">
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<a href="http://www.sane-project.org"><img src="images/sane.png"
alt="SANE" height="117" width="346" border="0"></a>
</center>
<center>
<h1>SANE - Contributing or: How Can You Help SANE?</h1>
</center>
<hr>
<p>
We appreciate any help we can get. Here are some topics on which you can work:
</p>
<h2><a href="manufacturers.html">Information for Manufacturers</a></h2>
<p>
Are you a manufacturer or vendor of scanners and one of your scanners is not supported by SANE
yet? In this case please have a look at our <a
href="manufacturers.html">information for manufacturers</a>.
</p>
<h2>Reporting Unsupported Scanners and Adding more information</h2>
<p>
If you can provide more information for one of the scanners that's listed as "unsupported" in
our <a href="lists/sane-backends-cvs.html#S-UNSUPPORTED">current list of unsupported
scanners</a> or even want to add a new scanner, please send all information you have to us.
If you own an unsupported scanner, please send as much information as possible. Especially the
output of <em>sane-find-scanner -v -v</em> and/or <em>cat /proc/scsi/scsi</em> (for SCSI
scanners) or <em>cat /proc/bus/usb/devices</em> (for USB scanners) can help. If you dare to
open the scanner, have a look at the text that's printed on the chips. That may help to
identify the chipset. If you know that the scanner is similar to another one (e.g. supported
by the same Windows driver), please also mention this fact. Contact us by sending mail to the
<a href="mailing-lists.html">sane-devel mailing list</a> or
<a href="bugs.html">file a bug report</a>.
</p>
<h2>Writing a Backend (Driver)</h2>
<p>
If your scanner is unsupported by SANE, please consider writing a
backend for it. As scanners are very different to each other, you can't
expect the SANE developers to write the backend for you. If your scanner
is similar to one that already works, it may be easy to add support. But
if it's necessary to write a completely new backend, it's up to you.
</p>
<p>
The time and skills needed for writing a backend depends on the
"intelligence" of the scanner. If it's rather high-level,
i.e. understand commands like "scan-at-600-dpi", it may be possible to
write a basic driver in 10-20 hours. If the protocol is more low-level
(e.g. move-motor-one-step), it can take much longer.
</p>
<p>
You don't need to be an experienced programmer. Backends are usually
written in C, so some basic knowledge of this language helps. You need a
lot of patience, however, especially if you can't get programmer's
documentation from your scanner's manufacturer.
</p>
<p>
If you intend to write a backend: contact the <a
href="mailing-lists.html">sane-devel mailing list</a> and let us know. Get
all the information about your scanner that's available: chipset
application manual (sometimes it's on the web), Windows drivers used
(sometimes they tell which chipset is used), programmer's information (if
the manufacturer provides those). If you don't have enough information
about the protocol used by the scanner, <a
href="http://www.meier-geinitz.de/sane/misc/develop.html">try to find out
what the MS Windows driver does</a>. For basic information about how SANE
works, get the latest <a href="cvs.html">development version of SANE</a>,
read man sane and <a
href="backend-writing.txt">doc/backend-writing.txt</a>. Also have a look
at existing backends, e.g. one of the USB backends, if you want to support
a USB scanner.
</p>
<h2>Writing a Frontend</h2>
<p>
There are already <a href="sane-frontends.html">some very capable frontends</a>. So helping
with improving the existing frontends may make more sense than to write yet another one. On
the other hand there may be reasons to start writing a completely new frontend, like support
for a specific widget set, a programming language or a special type of devices (e.g. cameras,
slide scanners). In any case, keep the <a href="mailing-lists.html">sane-devel mailing
list</a> informed of your plans.
</p>
<h2>Hiring a developer</h2>
<p>
Some SANE developers have been known to produce backends in exchange for
hardware or money. Cost would depend on the developer and the scanner, but
could be quite high if the protocol is obtuse or lacking documentation. As
a general rule, the cost of the backend is inversely proportional to the
cost of the scanner. Cheap USB or parallel-port scanners can take hundreds
of hours of frustrating work, only to extract poor quality images. Costly
SCSI (or SCSI-over-USB) scanners are generally much easier to support, and
their vendors are generally more open with documentation.
</p>
<p>
If the scanner is rare or expensive, you may need to provide hardware
access. Physical access is significantly easier, but remote shell may
suffice. If these cannot be arranged, expect to provide packet dumps of
the device in action using a protocol sniffer.
</p>
<p>
If the resultant code is derived from SANE, note that it will still be
covered by the GPL/SANE license. Please contact the
<a href="mailing-lists.html">sane-devel mailing list</a>
for more info and to find interested developers.
</p>
<h2>Reporting Bugs and Missing Features</h2>
<p>
If you think something in SANE isn't working as it should, please don't hesitate to <a
href="bugs.html">file a bug report</a> Please provide as many details as possible. Describe
which software you are using (operating system + version, distribution, version of
sane-backends and of the frontend you use). Explain exactly what doesn't work, is wrong or
missing.
</p>
<h2>Adding and fixing documentation</h2>
<p>
If you found a bug in any documentation (man pages, web site, READMEs), please contact us
using the <a href="mailing-lists.html">sane-devel mailing list</a> or <a href="bugs.html">file
a bug report</a>. Also write us if you think some documentation is missing. Please include a
patch in this case, if possible. Don't hesitate to send spelling and grammar mistakes. Most of
us are not native English speakers.
</p>
<h2>Translations</h2>
<p>
The options of the backends can be translated. For some languages, the translations are almost
complete, but some are lacking a lot of words and for most languages there is no translation
at all. If you want to help to translate the options to your native language (or a language
you speak fluently), contact the <a href="mailing-lists.html">sane-devel mailing list</a> and
have a look at the po/ directory in the <a href="cvs.html">source code</a>.
</p>
<h2>Success reports</h2>
<p>
If you had success using SANE we want to know about that, too. Especially if your scanner is
not in the lists yet or is marked "untested". Please send an email to the <a
href="mailing-lists.html">sane-devel mailing list</a> or <a href="bugs.html">file a bug
report</a>.
</p>
<hr>
<p>
<a href="/">SANE homepage</a><br>
<a href="imprint.html">Contact</a>
</p>
<p>
<font size="-1">$Date$ $Author$</font>
</p>
</body>
</html>