On Fri, Nov 10, 2023 at 8:29 PM Benjamin Marwell <bmarw...@apache.org>
wrote:

> >> 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?
>
> Interesting how you contradict yourself in the next paragraph. You can
> chose another groupid, of course.
>

Well, I can't figure out what you're talking about. If the groupid is a
unique identifier, and org.freemarker is taken, then we have to use a
different one. So what????

But really, I'm actually just totally bemused. I have been trying to figure
out what your point is. One would think that you sincerely believe that
people out there should saddle themselves with something that is obsolete
and inferior simply because the people in question control "freemarker.org"
or whatever such reason that is entirely non-technical!

On the one hand, it's hard to believe that you seriously believe this, but
then I started thinking about the history of this whole project. In the
early days, our main competitor was this thing called "Jakarta Velocity",
now called "Apache Velocity", I guess. I mean, it's not a secret that I had
something of a chip on my shoulder about that, because that Velocity thing
was so horrendously inferior that it was just kind of infuriating to be
competing with it. But anyway, now that I think about all that again, it
really does seem that these Velocity people seriously believed that people
should use their inferior dreck because it was on apache.org or something.
It was utterly inferior but it just got increasingly inferior because the
people there did not do any work at all to try to compete with us
technically. Absolutely nothing. Month after month. Year after year.

But that's all ancient history, I guess. But the whole idea that people
should use "Apache FreeMarker" because Apache FreeMarker is in possession
of the freemarker.org domain and thus the org.freemarker groupid.... I mean
that's just so crazy, of course...

Well, I guess the thing that is especially infuriating about it is that
there really are all these people out there who do seem to reason like
this! For whatever reason, they won't consider using something unless it
comes from what they perceive as an "approved channel". Something like
that... That's a real phenomenon, but there's nothing I can do about that
anyway, so... Well, in this case, I do have to make a best effort to get
people to understand that Apache FreeMarker is just an older, inferior
version of work by the same person. ME!

But when you start talking this stuff about the "Apache FreeMarker" project
having the "org.freemarker" groupid and that is somehow something so
important... well, it's one of these "WTF" moments, as in: WTF is wrong
with this guy?

I mean, it's about such a level of bizarre cynicism. "Oh, they should use
this because it's the real thing to use because we have the freemarker.org
domain and..."

Well, I beg to differ. But look, what do I know? I just wrote the damned
thing basically. LOL.

I mean, this guy Taher asked me why I am not doing this work on FreeMarker
3 inside of apache.org. Well, certainly somebody who didn't know the
history of this whole thing would naturally ask me that. That's
understandable. So I tried to fill him in. But anyway, it's such an
exercise in masochism, dealing with certain personality types. And you,
Ben, are not the worst by any means. This other guy who came out of the
woodwork, Lenny, really seems to have escaped from the pages of a comic
book!

But, okay, fine. I can't do the work I'm doing because I don't own the
freemarker.org domain or the org.freemarker groupid because that's really
important. And regardless, people should use some totally inferior version
of the thing (that it so happens I myself wrote as well!) because...


> But you presented your project as "freemarker", and the current root
> package is "freemarker" in your project. And I think I spotted the groupId
> "freemarker" in your ant build file. With that configuration, my claim is
> technically correct (from the perspective when I wrote it). Sonatype will
> restrict access to the freemarker namespace (groupId) to Apache committers
> now.
>

So, as I said, I'll use a different "groupid". So what? As for calling the
project "freemarker", well, that's what it is! This is a continuation of
the main stream of development. God knows why Daniel Dekany chose to take
the maintenance branch code over here and relabel it as "Apache FreeMarker"
and leave the SVN trunk abandoned. (Well, God knows and Daniel knows as
well, but I get the feeling that neither of them are going to tell us why.)


>
> > For reasons that I can only speculate about, when Daniel Dekany took the
> > FreeMarker code to Apache
>
> Instead, please focus on not blaming Daniel or me or anyone else here.
>

Well, why shouldn't I blame Daniel? The current mess was largely engineered
by him. I suppose nobody should hold Daniel responsible for the utter
stagnation of this project either. Well, he was the point man. Who is one
to hold responsible?

But, actually, in terms of blaming anybody, I do largely blame myself. I
didn't have to agree to this "Apache FreeMarker" travesty. It was really
just a moment of personal weakness. You see, I go around naively thinking
that I can be friends with people and I attribute a higher quality to
people than should be attributed to them. And I figured that if I blocked
the move to ASF, I was maybe setting myself up to be portrayed as a villain
or something. But also, I didn't foresee ever wanting to resume work on the
thing. I thought that it belonged to some earlier phase of my life. At that
point, I hadn't touched a line of code on it in 5 years at least. The
reason I ended up resuming work on FreeMarker was because I resumed work on
the parser generator that I was working on, that started as a fork of
JavaCC. (Now called CongoCC.) I put some significant work into improving
FreeMarker to support my work on that. And now it's certainly at a point
where the amount of improvement is so great that it really would be a pity
if it wasn't available to more people. So that's what all this is about
really.

But again, there is this whole problem with my naivete. You see, I actually
think that, at root, this open source software development, is about doing
something useful. And I realize that other people aren't exactly hung up on
that concept. Now, I don't say that people shouldn't use open source as a
self-promotion platform and all that. But this kind of cynical approach,
where you're sitting on something totally obsolete and inferior with no
real capacity to do much with it, and then when somebody, like in my case,
wants to do something meaningful, you're going to do every
passive-aggressive trick in the book to undermine that person. Well, so be
it. But I would really like to think that I can make it clear to anybody
observing this what is really going on here.

--
Jonathan Revusky




> - Ben
>
>
> On Fri, 10 Nov 2023, 02:51 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
> > >
> >
> >
>

Reply via email to