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 (

SANE homepage

$Date$ $Author$