Licensing

Licensing is a good subject for a flamefest, but it's worth laying out some thoughts here...
 

The License

Liquorice is released under the GNU General Public License v2 (GPL), however it also has a special exception clause to allow its various parts to be linked with non GPL'd software without requiring that software to become subject to the GPL simply for having been linked with Liquorice.

It is probably also worth noting that a few files are released under the GNU General Public License (GPL) without the exception clause, however these are not linked into the run-time environment and therefore pose no conflict with those files that carry the exception.

The exception clause is as follows:
 

If you choose to link software from Liquorice with other files to produce an executable, this does not by itself cause the resulting executable to be covered by the GNU General Public License.  Your use of the executable is in no way restricted on account of linking the Liquorice code with it.

This exception does not however invalidate any other reason why the executable file might be covered by the GNU General Public License.

This exception applies only to the code released by David J. Hudson and any other identified copyright holder under the name Liquorice.  If you copy other code that is released by its copyright holder under the GNU General Public License into a copy of Liquorice, as the GNU General Public License permits, then this exception does not apply to the code that you add in this way.  To avoid misleading anyone as to the status of such modified files, you must delete references to this exception notice from them.

If you write modifications of your own for Liquorice, it is you choice whether to permit this exception to apply to your modifications.  If you do not wish this, delete references to this exception notice from the affected files.
 

Interpretation

As people tend to be somewhat wary about licensing issues it seems reasonable to try and provide some guidance as to what the license is intended to allow:
 
You can use the code within Liquorice in exactly the same way as any other GPL'd software.  The GPL itself describes what this means and many informed opinions have been published to describe this.

The exception clause allows you to link non-GPL'd code with the Liquorice code without the non-GPL'd part becoming subject to the GPL.

Whilst linking Liquorice with non-GPL'd code does not mean that the non-GPL'd code takes on Liquorice's license, similarly the act of linking does not mean that Liquorice becomes licensed under any other terms that the non-GPL'd code may carry (unless suitable written consent with respect to Liquorice is obtained first).
 

Generally the aim is that Liquorice may be used in any application, but that the part of that application that is Liquorice must remain subject to Liquorice's license.  Modifications and the Liquorice sources on which they are based must remain freely available to users of that software, etc.

If a new file is created and linked with existing Liquorice files then it will not need to be subject to Liquorice's license unless a significant part of the code within that file is copied from files that carry Liquorice's license. Whilst "significant" is very difficult to define, a reasonable judgement would be that anything that involves copying a block of more than 10 statements of C code from a Liquorice file would tend to be significant.  Clearly though this is just a guideline and the copyright-holder should be consulted if you aren't too sure.
 

Historical Note

Liquorice was originally released under the GNU Lesser General Public License v2.1, and all releases of Liquorice prior to 18th October 2000 carry this license.  This had seemed a reasonable solution to allow the use of Liquorice in non-free embedded applications, whilst ensuring that modifications and improvements to Liquorice itself would remain freely available.

During September 2000 it was pointed out that clause 6 of the LGPL presented a significant problem with respect to embedded applications where firmware was fuse protected.  Having thought about this, it was also evident that the problem was even more serious for any application that might be built into a one-time-programmable, mask-ROM or custom ASIC device since by their very nature they cannot be reprogrammed.

After querying the situation with the Free Software Foundation, their suggestion was to adopt the license that they use for GUILE.  GUILE is licensed with the intention of allowing it to be used as a part of non-GPL'd applications whilst still remaining free itself.

Having reviewed this suggestion, and deciding that it seemed a good solution, it was decided that from 18th October 2000 all of the files within Liquorice that were previously licensed under the LGPL should be re-licensed under these terms (GPL plus exception clause).
 

Contributions

I would be delighted if any user feels that he/she would like to contribute more code to the Liquorice core under the GPL (preferably with the exception clause), as this only serves to enhance free software generally, however any purely GPL'd code will have to remain separate (I may however set up a quarantine area for any such code).
 

Commercial Use

As already noted above, I want to allow Liquorice to be used within commercial, closed-source, applications. At the end of the day, whilst writing free software is great (and to be strongly encouraged), some end-users are not going to allow the firm/soft-ware for their new wonder-widget to be made completely available in source form. By ensuring that the "free" parts of these projects remain free I'm aiming to ensure that any improvements do get back to the developer community. If the developers of any such closed-source systems wish to contribute more than simple bug fixes or performance tweaks then that's to be applauded.

For the record, I will be using Liquorice for some commercial work, and I am sure that I will not be able to make all of it (the commercial stuff that is) freely available. Wherever I can however I will do so.
 

Back to the home page...


Last updated: 18th October 2000 - Dave Hudson