Today I had the chance to meet Terence Parr, the founder of the ANTLR project, in San Francisco. Terence contacted me recently as he identified me through my efforts for the Xtext contribution to the Language Workbench Competition (LWC11), which I will present at the LWC11 workshop day before this year’s Code Generation conference CG2011 in Cambridge, UK. Terence will be a keynote speaker there (“Why program by hand in five days what you can spend five years of your life automating?“), so we will soon meet him again. As most Xtext users will know Xtext uses ANTLR as its parser framework behind. Terence is working the whole weekend on bringing StringTemplate and ANTLR forward. He mentioned that he recently changed StringTemplate (version 4) from tree-based to bytecode based interpreter, which boosts heavily the output performance, and as a side effect made the code simpler. A similar approach is now used for Xtend 2, the upcoming successor for Xpand. Xtend 2 is compiled to Java code and will be way faster then Xpand. How much is not examined yet, but hopefully I’ll do that soon. Maybe also as part of my LWC11 contribution, where showing scalability of the soltuion is one of the tasks.
It was a lovely sunny spring day in San Francisco and Terence took me to an asian district somewhere between the Presidio and Golden Gate Park and invited me to a coffee in a decent coffee bar.
We talked of course about ANTLR and Xtext, but also about Open Source development in general and licenses and Eclipse in special. We agreed that GPL is a really bad license for Open Source frameworks. It seems that people who found Open Source projects and choose GPL do not really think about the consequences of that license. Often, depending on the kind of the project, it just makes your software unusable in practice. But that is a different story. Terence has chosen the BSD license for ANTLR, which is really good to use in other Open Source and commercial projects. However, in ANTLR 2 he has used some library that made ANTLR not compatible with Eclipse. Xtext users might know this, since Xtext cannot bundle ANTLR out-of-the-box. The user has to download the library or use a preconfigured distribution like the one from Eclipse which already contains ANTLR. This is also documented in the Xtext manual. Good news for the Eclipse community is that Terence is in active contact with lawyers from the Eclipse Foundation to make it possible to make ANTLR directly available to Eclipse. It is facilitated due to the fact that Terence has good control about contributions of other developers for ANTLR. For every contribution a developer has to acknowlegde an agreement to give the code free, and Terence has to acknowledge actively every contribution in his process. This way he can be sure that ANTLR is IP clean. Eclipse has a similar approach, also here all contributions must go through a defined process (with Bugzilla as main system). We can expect that the ANTLR IP process for Eclipse will be finished early autumn this year.
I really enjoyed talking with him. At noon we went to a chinese restaurant and took some lunch to-go. Then we drove back and he set me off at my car, while he got back to work. I took the chance and went geocaching in the Golden Gate Park and San Francisco Downtown. San Francisco is a great place to do this kind of hobby and this way you see places which you would never see as a tourist otherwise.