[sane-devel] Best Java programming API library available

Frank Zago fzago@austin.rr.com
Tue, 29 Oct 2002 22:15:32 -0600


Hi Sony,

> Today as the Architect of the project I just succeeded in getting the 
> management to accept using SANE for our project.
> I have been reading some literature and compiling the RPMs available. I 
> have some questions. Pl accept my apologies if this is not the right 
> place to ask these questions ( I will be very grateful if you could 
> point me to teh right place in that case )
> 
> 1. What is the licensing terms for SANE. Is it OK to use it for our 
> project ( Its not a product sold outside. But a software used in our 
> company )

SANE is released under GPL plus an exception. But basically if your product 
doesn't go outside your company, you can do whatever you want and you don't have 
to give your changes back. However giving some changes or new backend/frontend 
would be appreciated.

> 2. I was reading that SANE is actually a standard that neatly helps to 
> abstract teh driver-specifics, away from teh user programs like GUI etc. 
> Is it this standard that is GPLd ( I didn t know specifications can be 
> GPLd. I thought only software can be GPLd )

Anyone can implement and use the SANE API. It is not protected (it's an API).

> 3.Though I read SANE is a standard, I was also reading about ( like teh 
> RPM I downloaded from rpmfind.net ) SANE as a product. Are there more 
> than one implementation of that standard. Was I reading about one 
> particular ( maybe most popular - or even the only one ) implementation.

SANE is not really a product. It's more like a set of functionnalities (core 
libraries, backends, frontends) that understand the SANE API. AFAIK there's only 
one public implementation and you've got it.

> 4. Our project is in Java with remote scanning requirement ( This was my 
> main argument against TWAIN ). Though I was reading about some 
> discussions on Java APIs in this group ( also on Issue 47 of old 
> linuxjournal ), I couldn t come across a downloadable java library for 
> sane. Is there one that is the most popular Java implementation.

There is an old java interface in the sane-backend package (directory japi). 
However it's not been maintained sine august 1999.

> 7. In a remote scanning setup using Java on the client side, can the 
> server ( saned ) be in C. Or is there an equivalent jsaned.

saned is written in C. But anything can connect to it, including some frontend 
written in java.


> 8. Finally has teh on-the-wire protocol for sane been implemented/mapped 
> to Java. IOW if I have a Java client, can my client process completely 
> in Java ( bottommost layer in java talks this protocol, that is then 
> sent over the wire with Java sockets APIs - So its Java all the way )

Yes, but you may have to write the layer that talks to saned.

Hope that helps,
   Frank.