This post originated from an RSS feed registered with Python Buzz
by Carlos de la Guardia.
Original Post: Thinking about The Switch: Nuxeo's move to J2EE
Feed Title: I blog therefore I am
Feed URL: http://blog.delaguardia.com.mx/feed.atom
Feed Description: A space to put my thoughts into writing.
This prompted Martijn Faasen, who could these days be rightly considered as the Zope Ambassador, to post an extensive reply, which got a number of interesting comments.
After reading the FAQ about the move, it seems to me that there are two main lines of reasoning for this decision. This is of course a business decision first and foremost: they have a concept of what an ECM should do and Java simply fits this concept better than Zope. This surely has a lot to do with what the clients want and among other things they apparently want to hire developers to take care of Nuxeo's deployments, which is a lot easier (and cheaper) in the Java world.
The technological side of the decision seems a lot more relative by comparison. They refer in the FAQ to industry standards support, but many of those are Java standards, so how surprising can it be that there is better support over there? They also find the need for an IDE extremely important, and Java certainly has the upper hand here too, but, as Martijn points out, it is debatable whether an IDE is that important for everybody.
In Jean Marc's post, many technical points are made comparing Zope the framework to Java the language, which seems to me an apples to oranges comparison. He says that in Java there are no adapters or utilities and even accuses Zope of treating them as a new religion (nonsense). Python also has no adapters or utilities, these are patterns that the Zope 3 developers have found useful to deal with a number of problems they have faced over the years and which integrate nicely with Zope's component architecture.
He also criticizes the concept of 'pythonic', implying that Zope people spend countless hours discussing the pythonicity of something instead of getting the real work done. This is not only false, but is also somewhat ironic, given that Zope 2 specially has been constantly referred to as unpythonic by many Python developers.
His point about self-criticism seems unfair to me, as it did to Martijn too. Rails gets its obligatory mention about being the framework to learn stuff from. Seam is great because it did and Zope is out of the race since apparently it hasn't or at least until it does.
Regardless of whether we are even running the same race, the most unfair thing is the accusation that constructive self-criticism does not oucurr in the Zope Community. I have read over the years several well thought out, honest self criticism of Zope by renowned Zope people, such as Chris McDonough, Paul Everitt and Martijn himself. The very existence and concepts of Zope 3 could be considered as a great excersice in self-criticism by the Zope community after Zope 2's successes and failures.
All in all, I tend to agree with Paul Everitt when he says that Zope is doing fine. Nuxeo seems a little bit to want the Zope community to feel a big impact because of the switch, but this seems to me like an everyday business decision which they really considered carefully, as well they should. Hardly an earth-shattering event for Zope.
Of course, Jean Marc's advice to always keep examining new, forward-looking and successful technologies is always good advice, so we should keep doing this too. There really are lessons to be learned everywhere, if only we had time to look.