[jsword-devel] Re: JSword license

Chris Little jsword-devel@crosswire.org
Mon, 29 Sep 2003 17:08:44 -0700


Mike Kienenberger wrote:
> However, it wasn't too hard to create a new implementation from scratch that 
> is able to fetch specific verses from sword bible data sources.
> 
> Using a hex editor, it turned out to be trivial to understand the format of 
> the raw text sword data modules.

This is legal and breaks no licenses.  Reverse engineering is legally okay.

 > It was a little more challenging to handle
> the zip compressed modules.  I ended up skimming through rawtxt2z.cpp in the 
> sword project to see how a raw file was converted to a zip file to 
> understand the file format (I didn't originally understand the purpose of a 
> bzs file).

This describes the creation of a derivative work.  You've used a 
copyrighted work to understand the format and derived a work-a-like from 
that.  As a result, it must be GPL licensed.  You could remove the 
compressed module code and just deal with the raw files, releasing the 
result under Apache license or something else (you could even keep it 
proprietary).

I sympathize with your situation, but the SWORD Project is GPL licensed 
and will probably always be so.  (And JSword, as a derivative work can't 
be licensed under any other license without permission from every 
contributor to Sword whose code is used in the re-implementation.) 
We've discussed alternatives a few times in the past but are unlikely to 
ever change to another license.  Recently we've discovered individuals 
who violated the license and who have used or plan to use our work 
without credit for self-serving purposes, including monetary profit. 
This encourages us to view the possibility of non-GPL code capable of 
reading our modules unfavorably since it encourages the problem.

It's important to realize that the SWORD Project does not have a format. 
  There is absolutely no guarantee that our various formats will remain 
the same, only that they will work through OUR library.  As it stands, 
we actually support a great number more binary formats than we actually 
use, and were code released that violated our license, we would probably 
begin encrypting all data and compressing using different algorithms or 
granularities.

--Chris