On Sun, Nov 12, 2023 at 12:01 PM Daniel Dekany <daniel.dek...@gmail.com>
wrote:

> 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.


Right. Thanks for making that point. Though I would correct your referring
to this as being a "branch". Actually, it was the trunk! But regardless,
that was the 2.4 codebase which was never hosted at Apache.


> But, with the donation to ASF,
> "FreeMarker" is the trademark of the ASF.
>

Well... I've seen this claimed, and one would assume it's true. But a few
years ago, I was trying to see whether there really was a trademark
registered. I don't really know much about these sorts of issues, but there
are these database lookups you can do online and I could never find any
proof that ASF really registered the trademark. Well, maybe they did. I
honestly don't know. But, hey, it costs money to register a trademark. So
maybe they just figured they could save that money by just claiming that
they registered it and never did. I mean, who's going to notice after all?
LOL.

But, you know, finally, I don't really care about this much. You see,
sometimes, it takes me a while to figure out certain things, so it took a
good while for it to dawn on me that the whole idea that I'm in some breach
of contract with ASF by using the name FreeMarker... it's a very dubious
idea.

Even at the risk of playing lawyer, let me explain my thinking about this.
A contract between two parties is when one party promises something in
exchange for the other party providing something. So you sell your house
and the buyer gives you X money and you give them the house and the
contract makes explicit certain things about whatever, like what date
you'll vacate the premises  and that you are providing them the house with
no "lien", A mortgage in this case. Things like this, right?

If I just tell you that I'm giving you my house in exchange for *absolutely
nothing*, that's not really a contract. Certainly, not in British Common
Law. Actually, you'll notice if you study your history that these very
unequal treaties imposed on Indian tribes or what was imposed on Mexico
after the Mexican-American war, there is actually some quid pro quo. Like,
even after defeating the Mexicans thoroughly in the war, they did not take
California and Texas etcetera for nothing. They paid (probably a symbolic
amount admittedly) for these territories. The same applies to the Brits
taking over Hong Kong after whatever "Opium War". In British common law,
there has to be "consideration" for something to be a contract.

I honestly don't remember what I signed back then (I think around 2014.)
Possibly I did promise that I wasn't going to use the name "FreeMarker" but
I'm not sure, because, to be honest, I probably didn't even read it. But
the fact remains that if I promise something in exchange for ABSOLUTELY
NOTHING, it's very hard to see how I am in any breach of contract, because
there never really was a binding contract. If ASF had given me some
derisory symbolic amount, like a hundred dollars or something, one might
think they had a bit more of a case, but when there is ZERO "consideration"
in the so-called "contract".... I honestly just don't see it.

So, my intuition is that any legal case that ASF tried to bring against me
would have a very very flimsy basis. I actually doubt they'll even try.
There's a lot of bluff in all this. ASF, frankly, is kind of a big edifice
of flim-flam, which makes me suspect that they never even registered the
trademark either!

But do understand, that I don't even care hardly. The bottom line is that
I'm just going to do whatever I do. You all might as well understand,
sooner rather than later, that I don't recognize the authority of anybody
here to tell me what I can or can't do. That way, you can save yourselves a
lot of time and emotional energy.

Thanks,

Jon

(See https://github.com/freemarker/freemarker3/wiki for information about
FreeMarker 3. CongoCC parser generator:
https://github.com/congo-cc/congo-parser-generator)




>
> 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