[libvoikko] HFST licensing

Krister Lindén krister.linden at helsinki.fi
Wed Jun 2 23:30:06 EEST 2010

With some additional guidance from our legal advisor:

"The Free Software Foundation considers the Apache License, Version 2.0
to be a free software license, compatible with version 3 of the GPL. The
Software Freedom Law Center provides practical advice for developers
about including permissively licensed source.

Apache 2 software can therefore be included in GPLv3 projects, because
the GPLv3 license accepts our software into GPLv3 works. However, GPLv3
software cannot be included in Apache projects. The licenses are
incompatible in one direction only, and it is a result of ASF's
licensing philosophy and the GPLv3 authors' interpretation of copyright

Indeed, GPL v2 and v3 are incompatible, but "GPL v2 or later" 
constitutes a multiple licensing scheme with which the Apache license is 
again compatible. So when the HFST library is licensed as "GPLv2 or 
later", the HFST library is compatible with each of its implementation 


Krister Lindén skrev den 2.6.2010 14:51:
> In the current HFST libvoikko implementation we have used the full HFST
> library, but this is only intended for development and testing purposes.
> In the final version we will have a tailored addition to the HFST
> optimized-lookup code for the speller and hyphenator. We hope to have
> this addition available by the end of the summer.
> The HFST library and command-line tools are mainly intended for creating
> and manipulating lexical transducers. The tools create transducers which
> only have licensing restrictions that are dependent on the original
> lexicon material given to the tools.
> Our HFST optimized-lookup software avoids possible licensing problems as
> the optimized-lookup format and runtime code is fully within our control
> and has explicitly been given multiple licensing options. However, the
> Apache license is the one that we most often refer to as being the most
> liberal if someone also needs the code for commercial purposes.
> The HFST library which communicates between the various implementation
> libraries is also in our control and can be explicitly released under
> multiple licenses. However, a user will normally only use the HFST
> library with one particular implementation library, so if someone wishes
> to include the HFST library as such in an application, he will also have
> to check the license of the chosen underlying implementation library.
> To be explicit, the HFST library contains or will contain the following
> implementations in the near future using all of them simultaneously
> while conveniently converting transducers between the implementations in
> order to take advantage of different implementations that are efficient
> for different tasks:
> - OpenFST (weighted transducers, Apache)
> - SFST (unweighted transducers, GPL)
> - HFSTOL (weighted or unweighted transducers, multiple [our own code])
> - foma (unweighted transducers, GPL)
> - fsm2 (weighted transducers, GPL)
> - ...
> In addition, the HFST optimized-lookup (HFSTOL) library can be used as a
> stand-alone library. This library only has a limited set of functions
> dedicated to fast lookup in precompiled transducers, e.g. morphological
> analysis, base-form reduction, spelling, hyphenation, ...
> Krister

More information about the Libvoikko mailing list