"scanf @dslextreme.com" <scanf at dslextreme.com> writes: > Hi sane-devel, > > I'm sure most of you are developers, not lawyers but I'm hoping > someone can point me in the right direction. I'm trying to figure out > the best way to release a SANE backend that complies with the GPL > while protecting the proprietary code it relies on. > > [snip] > > Instead, I have proposed we develop a SANE backend that uses our > driver library to control the scanner. It would not contain any > proprietary code so we could release the backend portion as source > code. Reliance on binary code excludes it from the SANE distribution > but that's not a problem. The main issue is the software license. I > have read the license, copyright notice and Information for > Manufacturers page but our situation is still unclear.
Have you gone through the GPL FAQ[1]? Especially the bit about the legal issues that come up if you use GPL-incompatible libraries with GPL software[2] and writing free software that uses non-free libraries[3]? [1] http://www.gnu.org/licenses/gpl-faq.html [2] http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs [3] http://www.gnu.org/licenses/gpl-faq.html#FSWithNFLibs > Here's the big question: If we release our backend as source, does > that expose our driver library to the GPL so its sources would also > have to be released? In case it matters, the proposed backend would > use runtime dynamic linking for the library. The way I understand it, you own the copyright of this SANE backend you proposed so you get to pick the license. If you really want to go with the GPL (which I think is great!), you can add an exception that allows linking with your proprietary code. You could also look at other, more lax licenses. The list of GPL-compatible licenses[4] is a good start. [4] http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses > I looked for existing external backends with binary code to see how > other companies handled the licensing issue. The links I checked on > the External Backends list were broken or outdated. Can you refer me > to an existing backend similar to what I've proposed? The epkowa backend did the same and still does something similar. In the past it linked dynamically against proprietary interpreters for a scanner model of two. The number of interpreters grew (we've got ~15 now :-(), so we switched to on-demand dynamic loading instead. This doesn't really make a difference for the licensing issues but it made the backend free-as-in-freedom for those users that have scanner models that do not need an interpreter. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FLOSS Engineer -- AVASYS CORPORATION FSF Associate Member #1962 Help support software freedom http://www.fsf.org/jf?referrer=1962