To clarify, he calls it simply "FreeMarker" (no "Apache" in it), and it's
from a branch that was made (and then was abandoned for, I guess, 12 years,
or so) long before donation to Apache. But, with the donation to ASF,
"FreeMarker" is the trademark of the ASF.

On Sun, Nov 12, 2023 at 6:45 AM <le...@flowlogix.com> wrote:

> Hi, Jonathan,
>
> First of all, I am disappointed to see all the personal attacks from you
> here. There is no cause of need for this.
> Let’s keep civilized.
>
> The major issue here I believe is that (at least in my perception) you are
> trying to take the project out of Apache,
> but not following the rules for doing so (are there rules?).
>
> You can’t have your cake and eat it too. IMHO you can’t call it Apache
> Freemarker and not follow Apache rules.
>
> Of course, you can make a fork and innovate from there, but I don’t think
> you can call that Apache FreeMarker.
>
> In other words:
> - You can contribute to the project Apache way
> - Don’t call your fork Apache Freemarker
>
> You can’t have both.
>
> > On Nov 9, 2023, at 7:50 PM, Jonathan Revusky <revu...@gmail.com> wrote:
> >
> > On Thu, Nov 9, 2023 at 9:00 PM Benjamin Marwell <bmarw...@apache.org>
> wrote:
> >
> >> I never knew there was an "original" freemarker project.
> >>
> >
> > So you actually thought that FreeMarker was developed at Apache?
> >
> > Well, no. FreeMarker is a very very old project at this point.
> FreeMarker 1
> > was originally written by a guy named Benjamin Geer, in the late 90's.
> > Though Ben Geer was, strictly speaking, the original author, I don't
> think
> > he was really involved in the project for very long. He wasn't involved
> > when I showed up in the community in late 2001 anyway. At that point, I
> > basically took over, and within a few months, the thing was a complete
> > rewrite. And that was when FreeMarker 2.0 came into being. From 2002 to
> > 2004/2005 we went through 4 release cycles, 2.0, 2.1, 2.2, and 2.3. Each
> > release cycle added quite a bit more functionality. It is kinda sad that
> > there is just about no meaningful difference between 2023 "Apache
> > FreeMarker" and FreeMarker 2.3 from 2005 (or even late 2004).
> >
> > But the thing to understand is that this Apache FreeMarker code, the
> > continuation of the FreeMarker 2.3 codebase, is really something very
> > ancient. Most of the work on this was done in the period from 2002 to
> 2005
> > or so, about a decade before there was any "Apache FreeMarker".
> Basically,
> > the project was very old and stagnant at that point and came to Apache to
> > die, I guess. So I've decided to resuscitate it. Or give it my best
> shot...
> >
> >
> >> Your web site is down, the documentation on the GitHub project is
> sparse.
> >>
> >
> > That is true at the moment but is all quite remediable -- especially if
> > some people want to get involved and do some heavy lifting. (I get the
> > feeling that's not you!) In any case, I said quite clearly that this is a
> > preview. You can't expect something that is a preview to be as polished
> as
> > something as old as FreeMarker 2.3, which has been pretty stable since
> 2004
> > or thereabouts!
> >
> >
> >> There is no way to tell whether it really is more advanced or not.
> >>
> >
> > Well,  frankly, this is just nonsense. There is no legitimate controversy
> > over whether this version of FreeMarker is more advanced or not. Of
> course
> > it is. As I explained in the previous note in response to Taher
> Alkhateeb,
> > it is built on top of the 2.4 codebase, while Apache FreeMarker is a
> > continuation of the 2.3 codebase. Aside from that, just scan over the
> > commit record: https://github.com/freemarker/freemarker3/commits/master
> > Truth told, over the last few months, I have effected something close to
> a
> > complete rewrite.
> >
> > But this is just ridiculous! Tell me, do you think there is some
> legitimate
> > controversy over whether JDK 8 is more advanced than JDK 7? That's just
> > silly. In any case, both FreeMarker 2.3 and this FreeMarker 3.0 preview
> > that I just announced are largely my work. Is it possible that an earlier
> > version of work by the same author is more advanced than the later
> version?
> > Does that make any sense? Of course this version is more advanced!
> >
> > It can never be on Maven central, because the namespace (groupid)
> >> "freemarker" is already claimed by Apache Freemarker.
> >>
> >
> > Well, Ben... it is kind of disrespectful to talk such blatant nonsense to
> > somebody. This is supposed to be some serious technical forum, isn't it?
> >
> > The "groupid" used on Maven Central is not something with any real
> > transcendence at all. It certainly has no technical meaning. I mean,
> look,
> > here is an example. The main OSS project I'm working on, as I said
> before,
> > is CongoCC. A few months ago, our project (finally!) put out an
> "artifact"
> > on Maven Central. That is here:
> >
> https://central.sonatype.com/artifact/org.congocc/org.congocc.parser.generator
> > I later realized that somebody else had previously put up a Maven
> artifact.
> > That is here:
> > https://central.sonatype.com/artifact/com.clickhouse/org.congocc Funny
> > enough, the guy who put that up was not even in touch with us about it
> > beforehand. But the one we put up is, I guess, under org.congocc and the
> > one put up earlier by a third party is under com.clickhouse, which I
> guess
> > is the URL he controls or his employer, or... I dunno... Actually, I just
> > looked, and there is a patched version of FreeMarker 2.3.29 put up by
> > Liferay, which is this one:
> > https://central.sonatype.com/artifact/com.liferay/org.freemarker
> >
> > But the point is that it just doesn't matter! The whole idea that I can't
> > put something on Maven Central because this nothingburger project
> controls
> > the freemarker.org domain... Well, okay, I guess it's true that we can't
> > use "org.freemarker" as a groupid since it's taken but... so what? So we
> > use something else. (Duh.) When I decided on CongoCC as a new name for
> the
> > parser generator project, I checked whether congocc.org was available
> and
> > registered it. But I had anticipated having github.com/congocc as our
> > "organization" location, but somehow that was taken, so we use
> > github.com/congo-cc with a hyphen. Whatever. It would be a bit nicer if
> we
> > had congocc without the hyphen, but it's hardly a sine qua non either.
> >
> > Well, anyway, look, we're not acquainted, but I find this quite
> > off-putting. You have the possibility of raising whatever technical
> issue,
> > making suggestions, giving feedback, and instead, you just come up with
> > this flagrant nonsense about not being able to put up things on Maven
> > Central (of course we can! LOL) .... or how it is so controversial that
> the
> > more advanced version of the codebase actually is more advanced (Of
> course
> > it is! LOL) .... or that some links being broken or the documentation
> being
> > patchy is somehow a permanent state of affairs... (Of course it's not!)
> >
> > Well, anyway, I felt I had to answer this, but if you spout more nonsense
> > like this, I think I will just refrain from answering. In the past, I
> have
> > got into these annoying arguments with people because they got under my
> > skin with this kind of stuff, but I suppose it's time to live and learn,
> eh?
> >
> > Jon
> >
> >
> >
> >
> >
> >>
> >> - Ben
> >>
> >> Am Do., 9. Nov. 2023 um 18:40 Uhr schrieb Taher Alkhateeb
> >> <ta...@pythys.com.invalid>:
> >>>
> >>>
> >>> I'm a little confused. Why aren't we joining efforts on the apache
> >> version? Why make it "a pity if a wider group of
> >>> people never get the benefit of this work"? Am I missing something too
> >> obvious or too old or something? Is this code base completely
> incompatible?
> >> Is this a technical issue?
> >>>
> >>> Taher Alkhateeb
> >>>
> >>> On Wednesday, November 08, 2023 04:03 +03, Jonathan Revusky <
> >> revu...@gmail.com> wrote:
> >>> Greetings,
> >>>
> >>> I thought to let people know that there is a vastly more advanced
> version
> >>> of FreeMarker available here:
> https://github.com/freemarker/freemarker3
> >>>
> >>> You can build it via:
> >>>
> >>> git clone https://github.com/freemarker/freemarker3.git
> >>> cd freemarker3
> >>> ant
> >>>
> >>> Or, if you want, there is a prebuilt jarfile you can grab here:
> >>> https://parsers.org/download/freemarker.jar
> >>>
> >>> Though it is actually a rather superficial new feature, I think that
> one
> >>> thing that people will enjoy is the new terser syntax. Basically, if a
> >>> directive starts a line (aside from whitespace) there is no need for
> any
> >>> pointy (or square) brackets. So you can just write:
> >>>
> >>> #if foo == bar
> >>> blah blah
> >>> /#if
> >>>
> >>> You can look here for a more complete description:
> >>> https://github.com/freemarker/freemarker3/wiki/Terse-Syntax and here
> is
> >> an
> >>> example of a template from the old test suite rewritten using the
> terser
> >>> syntax:
> >>>
> >>
> https://github.com/freemarker/freemarker3/blob/master/src/freemarker/testcase/template/test-switch.html
> >>>
> >>> In this version of FreeMarker, the #assign and #local directives
> (though
> >>> they still work in a backward-compatible mode) were replaced with the
> >> newer
> >>> #var and #set. This is (IMHO) a significant improvement and is
> described
> >>> here: https://github.com/freemarker/freemarker3/wiki/Strict-Vars
> >>>
> >>> Just generally speaking though, the biggest changes are really under
> the
> >>> hood and would not be so visible to the casual user. This FreeMarker
> >>> codebase has been refactored so that it largely does away with all of
> >> those
> >>> TemplateXXXModel wrappers and mostly just directly uses POJOs. (Plain
> Old
> >>> Java Objects.) This is described here:
> >>> https://github.com/freemarker/freemarker3/wiki/Under-the-Hood
> >>>
> >>> Various longstanding annoyances, like not being able to directly use a
> >> map
> >>> with non-string keys, have been addressed.
> >>>
> >>> Oh, it suddenly occurs to me that many (perhaps most) people on this
> >>> mailing list do not know who I am. I am effectively the original author
> >> of
> >>> FreeMarker. I say "effectively" because there was a FreeMarker 1.x,
> which
> >>> was really little more than a weekend hack. The version that 99% of
> >>> FreeMarker users have used, which is 2.x, was a complete rewrite and is
> >>> largely my work.
> >>>
> >>> As for other questions about what is going on with this, for example,
> >> why I
> >>> have put some renewed effort into FreeMarker after all years... well,
> my
> >>> main open source efforts have been going into my rewrite of that old
> >> JavaCC
> >>> parser generator that FreeMarker 2.x was originally built with. The new
> >>> version of JavaCC was originally called FreeCC, then when I
> resuscitated
> >> it
> >>> a few years ago, I called it JavaCC 21, but it is now rebranded as
> >> CongoCC.
> >>> So, since FreeMarker is a key part of CongoCC, I found myself adding
> the
> >>> occasional new feature to FreeMarker (my own version, not Apache
> >>> FreeMarker). For example, the feature described here
> >>> https://github.com/freemarker/freemarker3/wiki/Macros-as-Functions was
> >>> added to support CongoCC development back in 2020, but probably a lot
> of
> >>> FreeMarker users would appreciate this.
> >>>
> >>> So, at some point, I did rework FreeMarker to use CongoCC instead of
> the
> >>> legacy JavaCC. CongoCC is a much, much more powerful parser generator
> >> than
> >>> the original JavaCC, so it makes FreeMarker development comparatively a
> >>> breeze. For example, I quite recently implemented assertions in
> >> FreeMarker
> >>> and this is where it is implemented:
> >>>
> >>
> https://github.com/freemarker/freemarker3/blob/master/src/parser/Directives.inc.ccc#L417-L445
> >>>
> >>> Or here is where ternary expressions are implemented:
> >>>
> >>
> https://github.com/freemarker/freemarker3/blob/master/src/parser/Expressions.inc.ccc#L98-L118
> >>> You really should compare the FreeMarker grammar expressed with CongoCC
> >> to
> >>> the one that was written with legacy JavaCC, that is here:
> >>>
> https://github.com/apache/freemarker/blob/2.3-gae/src/main/javacc/FTL.jj
> >>>
> >>> So I rewrote FreeMarker (it is largely a rewrite at this point) to: (a)
> >>> have a better tool for CongoCC development and (b) to provide a
> showcase
> >>> for CongoCC's capabilities.
> >>>
> >>> As for my plans, well, I do think it would be a pity if a wider group
> of
> >>> people never get the benefit of this work. Whether I intend to call
> this
> >>> version of FreeMarker "FreeMarker 3" or rename it to "Congo
> Templates", I
> >>> still haven't decided about that. I really only put some serious effort
> >>> into the FreeMarker codebase starting this summer and the work kind of
> >> took
> >>> on a life of its own.
> >>>
> >>> In any case, anybody who is interested in getting involved, by all
> means.
> >>> Maybe start a discussion here:
> >>> https://github.com/freemarker/freemarker3/discussions
> >>>
> >>> Best Regards and Greetings from Spain,
> >>>
> >>> Jonathan Revusky
> >>
>
>

-- 
Best regards,
Daniel Dekany

Reply via email to