"Quinton McCombs" <[EMAIL PROTECTED]> writes:
Hmmm... Interesting history. I can see how that might have happened.
Just like you like to actively promote your project, it would make
perfect sense that Jon, perhaps, saw no reason to provide robust support
for anything besides Velocity. In his eyes, and probabley many other at
the time, Velocity was _the_ answer.
You are correct about the WebMacro stuff. There is still comments in the code used for Velocity support indicating the the code was originally copied from a WebMacro version and adpated for Velocity. It is rather clear which came first.
http://jakarta.apache.org/velocity/differences.html
Henning, I hope I won't offend you (you do seem to be a rather sensitive guy) by saying that the above is not exactly an unbiased, objective source of information.
Frankly, I still tend to believe that the primary reasons for the WM/Vel thing were the ones I stated -- ego and personality conflict. Obviously, those reasons would not appear on the document you point to.
--- cut --- Velocity was built new from the ground up. There isn't a snippet of shared code. This was originally done because WebMacro was released under a license (GPL) that is not compatible with the BSD/ASF license and we (the original authors) needed a solution that was not under a GPL license. Since then, WebMacro has been released under a dual GPL/ASF license, however, that was too late, this project was already well underway and we also felt that we have a better technical solution by going with a generated parser instead of a hand coded one. --- cut ---
Weeeell, this license story as the driving thing could have some truth to it. OTOH, that they so desperately needed all of a sudden a version of WM that was under the Apache License -- while possible, is surprising nonetheless. I dunno. I don't see how there was much of an issue in terms of just using WM with no alterations as a 3rd party lib. I also somehow doubt that the WM people were ever that totally inflexible on the license. They surely wanted to get the thing out there and used by a lot of people. And, as noted above, the WM people did ultimately just give in on the license issue. It's available under a BSD-style license.
Meanwhile, the "clean-room" rewrite thing seems like a pretty extreme step -- the duplication of effort involved. It seems that pragmatic people would have tried very very hard to avoid that.
Come to think of it, what other cases are there of a "clean-room rewrite" of an OSS project? I mean, to do a clean-room implementation of a closed, proprietary system is more the norm, isn't it? There are forks of OSS projects, like Emacs/XEmacs and so on, but that's another matter...
One striking thing about Velocity IMO is how technically unambitious it was. I mean, they basically just uncritically copied WebMacro, it seems, copying all its worst design flaws. The two libraries share most of the same warts. Rather strange. If I were going to write a template engine from scratch (a Template engine is, at the root of it, based on a rather trivial idea, you know) I would try to further the state of the art, or at least not copy design mistakes in the existing ones.
I took over FreeMarker and there are things in there that I wouldn't have copied if I were to do something from scratch. Meanwhile, we have been gradually remedying a lot of legacy warts. Some probably can't really be fixed though.
If you're not afraid to dig in the past, you might as well start here:
Thanks for the links. Speaking for myself, I can't say that I'm so very interested.
Jonathan Revusky -- lead developer, FreeMarker project, http://freemarker.org/
http://share.whichever.com/viewcvs.cgi/dash/
Dash got renamed to be Turbine. If you google around and use the Internet Wayback-Machine, then the oldest Turbine code base where it is called "Turbine" is
http://web.archive.org/web/20000815211455/http://java.apache.org/turbine/
There seem to have been snapshots available but they got lost in time and space on the internet. Ah, well.
Regards Henning
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
