1 (edited by symtab 2008-05-16 05:43:44)

Topic: License question


First of all thanks for this wonderful library. I have a project (commercial project), my question is, if i use your library, will i need to license
my entire code under GPLv3? (i want to rewrite your code to be only PHP5 compatible, OOP...and probably add/remove some stuff).

PS: I apologise for my bad english.



Re: License question

Because the currently available htmLawed is licensed under GPL, code that is created by modifying it must be GPL-licensed as well. Applications/software that use htmLawed (or a modified htmLawed) need not be GPL-licensed.

So in your case, only the htmLawed part needs to be kept under GPL. This does not mean that you have to post/release any modified htmLawed code, and no one can force you to. But if you do release it to the public ('public' excludes you or your organization) in some way (including commercially), the htmLawed part has to be under GPL, and you cannot decline anyone's request for the htmLawed code on licensing grounds.

GPL (and ethics) requires that you give proper attribution/credits and retain the original copyright notice in your htmLawed code. You certainly can have extra copyright notices for any code changes you make.

GPL-licensing has no effect on the commercial aspects of your program (selling it, etc.). The GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html) site can probably answer all your questions.

Finally, the original author of htmLawed can dual-license htmLawed; i.e., it is possible to obtain a non-GPL-licensed htmLawed. Contact me should the need arise.


Re: License question

On a different aspect of the original post:

htmLawed is a very basic focused utility.

The PHP functionality (arrays, string manipulation, etc.) htmLawed depends on is very basic. It is very likely that the htmLawed library will always be compatible with current, older, and future versions of PHP. Modifying htmLawed to restrict its compatibility to just PHP 5 is a bit odd.

OOP is not always good. The non-OOP code of htmLawed actually makes it smaller and faster (and compatible with old PHP as well). Yet, it is 'modular', with different functions handling different aspects (entity checks, tag balance, etc.).


Re: License question

Hey patnaik,

I think GPL causes a lot of problems regarding code such as PHP as "including" the file can effectively be considered making the code part of the software. So I think your interpretaton of the license is not correct, that as long as we don't modify htmLawed we can incorporate it in a proprietary system.


"You cannot incorporate GPL-covered software in a proprietary system. The goal of the GPL is to grant everyone the freedom to copy, redistribute, understand, and modify a program. If you could incorporate GPL-covered software into a non-free system, it would have the effect of making the GPL-covered software non-free too. "

If you want to achieve the goal you just mentioned above, I would suggest releasing the code either under the Apache (preferred) or LGPL (still has some issues) license.

In general GPL type licences really don't work well with commercial software.


I'd love to hear your thoughts on this.


Re: License question

One more thing, if you are unwilling to change the GPL licensing terms, are you open to commercially licensing the software to people who want it (like the folks over at ExtJS are doing)?


Re: License question

You are right about makers of commercially-distributed software being possibly unable to incorporate htmLawed because of its GPL license.

I can certainly change the licensing or think of commercial licensing if there is some 'demand'.


Re: License question

Hi patnaik,

From your comments above... to allow free use in commercial software but require any changes to the library itself to retain the same licensing, I would suggest the LGPL licence:


Here is a comparison of all libraries.

Apache and BSD basically allows the user to do whatever they want with the library which I feel is not what you want since you want to ensure any changes to htmLawed retain the same license, but they are the most "commercial" friendly.

I would love to use the library once you adopt either a LGPL, BSD or Apache license.

Thanks so much for your effort and support of the library.


Re: License question

It is unlikely that htmLawed would get either the BSD or the Apache license, but LGPL is possible, though I am seriously thinking about a dual (http://en.wikipedia.org/wiki/Dual-licensing) GPL/LGPL license. I would appreciate if you can comment.


Re: License question

Hi patnaik,

If you license under LGPL there is no need to dual license under GPL because LGPL is considered GPL "compatible", meaning a) developers can choose to release changes under GPL and it would be OK and b) htmLawed can be used in GPL projects (effectively making the combined work GPL).

Normally dual licensing is used for GPL compatible and GPL incompatible licences such as GPL  and commercial/proprietary.  I am not an expert though, so you may want to get a second opinion.

Here's some information that you might find helpful:

So if your goal is:
1) Let commercial developers use htmLawed without forcing them to GPL all their code.
2) Requiring any change to htmLawed to retain an "open/free" license.
3) Allow htmLawed to be incorporated into GPL projects

I would suggest LGPL.


Re: License question

Also, htmLawed being a library and not an application, I can see why LGPL may be better than GPL. Thanks for your input.


Re: License question


Any ETA on when you'll make your decision regarding LGPL? I have a project that I need to make a decision on ASAP.



Re: License question

htmLawed will switch to LGPL at the earliest. I have to check if there has to be a new release prepared for this switch, and if the new release can be solely for license change or if it has to have some 'real' code change.


Re: License question

With the new release, htmLawed has shifted to the LGPL v3 license.


Re: License question

That is awesome. Thanks!


Re: License question

From 5th April 2012, htmLawed is made available under dual LGPL version 3 and 'GPL version 2 or later' licenses.