Information for Manufacturers

Are you a manufacturer or vendor of scanners and one of your scanners is not supported by SANE yet? As Linux and other Unix systems become more and more popular, many
people check for SANE support when buying scanners. A logo "Supported by SANE" or "Runs on
Linux" or similar would be nice, wouldn't it? Also an existing SANE backend would mean that
your scanner is no longer listed as unsupported in our lists and you could add
"Linux support" to the list of features on your website.

As you are the manufacturer of the device, you have all the information necessary to write a
SANE backend (driver). That makes it much easier for you to do it than for any other
person. Most probably you only need to port your MS Windows code to SANE. You can ignore all
the graphical interface code as SANE already provides a variety of frontends (scanning applications). You only need the code for
accessing the scanner. For details on how to write a driver see our contributing page.

I recommend to use the GPL + SANE exception license for your
code. So it can be included in the SANE distribution and your driver will come with most Linux
distributions. Furthermore you can use the existing code for USB and SCSI access and many
helper functions so you don't need to think about the low level details. And your scanner will
be supported not just on one operating system and platform but on everything SANE runs on (see
our platforms page). Providing source code makes it easier for
other developers to give feedback and send patches for bugs.

If you can only release binary SANE backends that's better than nothing but still not
recommended. The SANE standard itself is public domain, so you are free to use it. But keep
in mind that you must adhere to our license if you use parts of the
SANE code. Binary-only drivers mean you can't get help from us or any SANE users because
nobody can debug your code. Binary-only drivers can not be included in the official SANE
releases.

Yet another option is to publish complete programming information or the source code of the
scanner drivers for MS Windows. With this information it's much easier for a free software
developer to create a backend. Some manufacturers don't like to publish this information but
give it to selected developers only. That's possible, but the backend code will be GPL most
likely so at least part of the information will be public anyway. If you intend to publish
programming information, you may want to ask on the sane-devel mailing list if anyone is
interested in programming a driver. But keep in mind that providing programming information is
not a guarantee that a driver will ever be written.

The most important part is communication: Please tell us what you intend to do. We are also
interested in partial information, e.g. if some scanners use the same chipset as others. That
may help to write backends for a variety of devices. Also tell us if any of the information in
our lists is missing or wrong. So please contact the sane-devel
mailing list with your information and ideas. If you don't want to subscribe to this list,
please write to Henning Meier-Geinitz (henning@meier-geinitz.de).