Hello,
I definately like outline, and the performance is hard to beat.
Unfortunately, the use of the GPL makes it very difficult to use in
many projects.
As an example, I have a project (phpCerts) - a PHP Certificate
Authority - currently in development. It does a number of things that
available CAs don't, providing for easy use of smart cards, chained
CAs, etc.
Because this is targeted at a corporate environment, it is expected
that many of the users will not run it themselves, but rather will
have it provided by a consultant/service provider. As such, it's under
the "University of Illinois/NSCA" license (
http://www.opensource.org/
licenses/UoI-NCSA.php), which basically states:
- Don't remove copyright notices
- Don't use my name to endorse or promote derivitive works
- No warranties
All in all, a very friendly license. As this license isn't viral in
nature, the software may be combined with other components as needed,
including (for example) propreitary technologies for things like RSA
SecureID (hardware tokens with a changing number). As there are no
open-source ways to do many of these things (I've looked!), this
provides the maximum flexibility for the users.
Unfortunately, a GPL template engine requires the entire derived work
to be GPL - making it impossible to use with non-gpl code. If the
code cannot be distributed under the GPL, derived works containing non-
GPL and GPL code may not be distributed. This means that my code is
incompatible with the GPL, as the anti-promotion clause is an
additional restriction, and thus incompatible with the GPL.
For a piece of software intended primarily as a component, it makes
more sense to use a license like the LGPL - this way, changes to the
component have to be open source, but things using it do not. In
fact, this is why the LGPL was first called the Library Gnu Public
License. Savant, Template Lite, and Smarty are all distributed under
the LGPL.
A lot of this depends on your goals - personally, I like to maximize
freedom for my users. They are free to do closed-source additions to
my code, should they wish. They are also free to add closed-source
additions to my software, which is sometimes necessary to maximize
functionality. Because the copyright notices must remain intact,
users are always free to get the code I distributed. This is why I
use the NSCA license.
Some projects prefer to remove the ability to close the source on
additions (in order to preserve the freedoms of those who get the
software second-hand), and use a license like the LGPL instead.