Nicholas Cull wrote:
> Hi Jonathan,
> ----- Original Message -----
> From: "Jonathan Revusky" <jrevusky@...>
> To: <freemarker-devel@...>
> Sent: Thursday, April 26, 2001 3:40 AM
> Subject: [Freemarker-devel] i18n and other stuff for Freemarker fans >
Hi, Nicholas. Thanks for the note.
> I've had a quick look at what's there, particularly relating to
> LocalisedFileTemplateCache. I agree that we could certainly add this to the
> cache in FreeMarker at some point.
> >From a "covering our collective butts" point of view, I want to make sure
> that its ok for us to incorporate that code at some future date. In
> particular, I notice that Niggle is under a BSD-style license. Is everyone
> who has contributed code to that part of the Niggle framework happy to hand
> that code over to FreeMarker, and hence to the LGPL license that FreeMarker
Well, it so happens that the "everybody" who contributed to that part of
the framework is just me. And looking back, I'd say I definitely wrote
the LocalizedTemplateCache stuff always with the idea in the back of my
mind that I'd get in touch with you guys and contribute it to
Now, the copyright on the niggle code is actually owned by Reminders
On-Line, which is the company I was working for when I wrote the code.
It was agreed fairly early on, however, that Niggle would be made
available under a very liberal open-source license.
Now, I'm not very knowledgeable about the subtleties of various
open-source licenses. When you set up a sourceforge project, you have to
say which kind of license, and I didn't know which one to choose. There
was some discussion and we ultimately went for the BSD-style license
since somebody expressed concerns about the "viral" nature of GPL. (i.e.
code that links to GPL code has to be GPL'ed.)
Actually, now that I'm a bit more knowledgeable, I think most of that
was based on a confusion between GPL and LGPL, and that the latter
basically addresses those issues.
In terms of the understanding that this code would be open-sourced, I
don't think there were actually such strong beliefs on which license it
should be. I don't work for ROL any more and I should probably ask them
if there is any concern about pieces of the code being published under
So I am cc'ing Paul Murphy, the CTO of ROL, and he can clarify. I do not
think there *should* be any issue with contributing pieces of the Niggle
code that really more appropriately should be rolled into Freemarker.
This is entirely consistent with the philosophical mind-set with which
we decided that Niggle should be open-sourced in the first place.
> Regarding when that cache modifications might make it into FreeMarker, its
> probably a more medium-term than short term proposition. The reason I say
> this is because I've been working on some refactoring of the cache code in
> the last month. The functionality and interface remain the same, but I want
> it to be checked-in and stable before adding new features to it.
Well, I'm in no hurry. If you're putting together 1.5.4 now, maybe 1.5.5
would be an appropriate release to include the i18n code. As you
probably saw, that bit of code is not a big deal. But I think it is a
key selling point to have. I think that eventually, something similar to
this would have been implemented on the freemarker side, and I'd rather
contribute Niggle's solution, so that there aren't 2 slightly
incompatible schemes sort of co-existing later.
> > Anyway, Niggle has some tutorials now, though they don't cover all the
> > functionality yet. Counting the obligatory Hello, World, there are 4
> > annotated examples. One example is a minimal example that shows off the
> > i18n functionality. You can get the latest version from the sourceforge
> > project page, or via the link in my sig.
> Let us know when you reach a release status. I'm sure there'd be plenty of
> interest in this mailing list for what you're doing.
Well, the Niggle code is actually quite robust and usable. I don't want
to discourage people from using it even now, but I do want to be honest.
And I've still classified it as prerelease mostly because of the lack of
documentation. I really feel that a proper 1.0 release should have
better docs. I'm gradually remedying that. It's now got 4 tutorial
examples that basically work out of the box and that is a big step
compared to a few months. Before having that, I was very hesitant about
plugging it much on newsgroups etcetera. Probably it will need a
half-dozen more tutorial examples to fully illustrate the framework's
> As I've mentioned once before on the mailing list, I'd like to start up a
> "cool things people are doing with FreeMarker" section to our documentation.
> Would it be ok to add a link and brief description of your project to our
Yes, I'd certainly want you to link Niggle there. It's funny. When I
read your other note mentioning this, my first reaction was to write you
a note asking that you link Niggle there. Then I saw your offer in the
Niggle is really kind of complementary to Freemarker IMO. Basically,
it's a higher-level MVC framework which uses the Freemarker engine as
its default "V".
If you want to...
- make your .class files double-clickable with SmartJ
- do Delphi/Java mixed programming with easy-to-use JNI wrapper classes
- build robust web applications with the Niggle Application Framework
check out the Revusky Hacks Page: http://www.revusky.com/hacks/