This blog entry on picking web frameworks is quite interesting. It doesn't give a lot of detail, and it acknowledges this, but it does show the struggles someone goes through trying to pick the right framework for the job (and one that fits his mind). Wyatt Baldwin considered, among other frameworks, Zope, and had the following to say: It's very polite to say that the problem is that he's not smart enough for Zope, but of course that's not true. It's Zope's problem. If you cannot learn Zope while you can learn so many other technologies, that's a failure of the Zope community. My community. Some in our community, including myself, are very much concerned with this problem. I believe in fact there is universal acknowledgment within the Zope community that this is a problem, but acknowledging a problem is one thing, fixing the problem is another. The process to fix this takes a while. There are multiple paths we've been taking: Zope has a community that's very much alive. We have much that is good. Our community is about 10 years old now. I've known quite a few of our community members for almost that long by now, and am happy to count them among my friends. We have a Zope Foundation, we have an industry partner network, we have a lot of sprints (Grokkerdam coming up soon!), we have regional user group meetings, including a big one every year in Germany, a significant presence at EuroPython, and we're active in the Google Summer of Code. I also feel comfortable in claiming the Plone community (including its own Plone Foundation) and the wildly successful Plone conferences as a very important part of the wider Zope community. I think our community would've been even more vibrant if we paid more attention to attracting newcomers to Zope technologies. Plone in particular has been doing pretty well in attracting newcomers. We can learn from them, and from the other communities around web frameworks. I believe passionately in this mission of attracting people to our platform, and thus I'm part of the Zope Foundation board (chairman, in fact), helping to shepherd our participation in the Summer of Code, and am part of the group of people who've started Grok. I'm excited about the potential of Zope technologies. We may have been negligent to attract newcomers, but we haven't been negligent otherwise: we've continued to build powerful and great tools. We're sitting on an a lot of amazing capabilities, and we need to make them more easy to use and let people know about them (the mission of Grok). I see a lot of hopeful signs. I believe we've seen Zope turn a corner in the last year or so in the nature of perception in the wider Python community. People are talking about Zope technologies again. But we can do much, much more. Perhaps if we had done so earlier, Wyatt Baldwin and many others would be part of our community now, contributing, instead of moving on to another one.
(11) Sat Apr 05 2008 15:57 No, you are smart enough for Zope:
I was having a hard time with the Pylons docs, and so I ended
screwing around with Grok (which actually looks fairly interesting)
and even took a look at the Zope 3 site. I’m sure Zope is really
awesome or whatever, but it might as well suck. Every time I look at
that site, I’m just like “WTF! This shit has been around for like
five years!” Anyway, I might just not be smart enough for Zope.
- Comments:
Posted by Steve Holden at Sat Apr 05 2008 16:51
Martin:I thought of you when I saw that blog entry, so I am glad you noticed it and found time to reply. From past experience one of the most intractable problems is the vast amount of outdated, and therefore mostly useless, information there is on the web about Zope (I speak here mostly of technical documentation).So I think your web efforts, laudable already, might gain even better traction of you started a strategy of making sure that irrelevant old documents have a lower page rank than the new stuff.
Posted by Carlos Borra at Sat Apr 05 2008 23:30
Your title contradicts year of zope snobism, I've read posts that said that zope makes you smarter because it´s harder and changes all the time (your community is really weird doing marketing, and I welcome the latest renewed effort in writing strange marketing things). Anyway, nobody cares.
Posted by Martijn Faassen at Sun Apr 06 2008 00:32
Carlos, I haven't sensed that snobbishness. Could you give me some posts that actually say something like "Zope makes you smarter?" Or "Zope makes you anything, because it's harder and changes all the time?". I'm curious to see these. Obviously Zope does change over time. Indeed sometimes Zope is harder (and sometimes it isn't), and on occasion it may be that the reason for it being harder also adds to its power and flexibility (and sometimes there is no good reason).Are you saying I am writing strange marketing things? Could you specify what is strange in particular?There *is* an attitude in the Zope 3 community of flexibility over ease of use or ease of learning. Zope developers gained quite a bit of experience over time where lack of flexibility in software hurt the continued ease of evolving that software. That's why they don't like software that gives them the feeling it locks them into a possibly sub-optimal solution. The result of this is indeed flexible software, but also software that is harder to explain and harder to learn than it should be. With Grok we try to add ease of use without losing the flexibility.To your "Anyway, nobody cares", it's clearly untrue that nobody cares. At the very least, I care. Even you appear care, at least enough to reply in a somewhat unpleasant manner to my blog post. :) Hopefully we still have an opportunity to learn something from you. Something about Zope must have annoyed you particularly - perhaps the snobbishness you referred to. If so, I seriously would like to learn more about this so we can do something to change that perception.
Posted by Chris McDonough at Sun Apr 06 2008 03:39
I (unsurprisingly) think the key to continued Zope relevance is to take bits out of Zope and make them available to the wider Python community in ways that make it easier to chew them independently. The component architecture is great, but it's too much to swallow wholesale for most folks (even without ZCML). We're trying to push bits of Zope out of Zope with Repoze, with at least a modicum of success so far. Folks who use Pylons, TurboGears, Django, and so on are able to use these technologies now without understanding anything whatsoever about "Zope" (even though all ideas come from it and some of the bits). I'm hopeful that Grok and the website effort will embrace some of this bite-siziness too.
Posted by Robert Hicks at Sun Apr 06 2008 14:34
Does Zope3 work with Python 2.5.1 yet? That is the default in Leopard now; so I was wondering.
Posted by Martijn Faassen at Sun Apr 06 2008 14:37
Robert: all the individual packages have been ported last summer, and I've heard reports of Grok working with Python 2.5.x (which uses Zope 3 packages). What remains to be done is a proper release on Python 2.5.x. This has been delayed in part because Zope 2.x still doesn't work on Python 2.5; hopefully we'll see a project the coming months to change this.
Posted by Martijn Faassen at Sun Apr 06 2008 20:10
Chris, I fully agree with a program of taking pieces out of Zope to make them more widely available - it's been one of the primarily goals of Zope 3 for years and still is. For Grok, we've already spun off Martian and several other smaller packages. grokcore.component is next on the list. The website effort is already in multiple smaller pieces, but I'm not sure how you see us spinning out reusable technology from that - we're focused on the content primarily.That said, I don't think spinning off technology that other web application platforms can use is the only way Zope can remain relevant. Zope shouldn't be getting out of the web framework business! I believe there's plenty of place for something like Grok, for instance.
Posted by carlos borra at Mon Apr 07 2008 00:58
Martijn, http://vanrees.org/weblog/archive/2007/06/20/intelligence-and-plone-releases
Posted by Martijn Faassen at Mon Apr 07 2008 12:43
Carlos, thanks for that link. Reinout here argues that people should approach the large amount of changes in the new Plone 3.0 release in a positive way, as an educational experience. He realizes that the amount of changes can be intimidating, but highlights the positive aspects (learning new things can be mind-expanding).I don't think he is showing a particular snobbishness, as he explicitly mentions you can expand your mind by, say, looking at Django or Rails too. His argument is that coming to terms with changes and new things (such as in Plone) is educational, not that Plone itself is a particular way to expand your mind. I'll agree with that.
Finally, that note is about Plone, which is indeed part of our community, but a CMS, not a web development framework by itself. Zope and Plone are two related but separate projects.Posted by Bernard Devlin at Tue Apr 08 2008 16:52
Hi Martijn,I've been interested in Zope for years, and quite a few times I've installed it and tried things out (going back as version 2.5 I believe). Anyway, I recently tried to configure a recent version in order to look at the nuxeo CPS stuff. But I found it so hard to get the various dependencies to work that I gave up on ever seeing CPS working. I can understand that a Python-based version of CPS might be seen as a dead-end now, although I did note that the developer list had some recent activity. About a year ago I downloaded the latest version of Zope and was trying to get back into it, and the tutorial was broken (I believe there was no tutorial installed with Zope at all). I reported as a bug and was informed that 'it would not be fixed'. I found that quite shocking -- a real sign that current Zope users were no longer trying to reach out. The issue about the tutorials was resolved and they were fixed -- I believe -- following the intervention of the amazing Phillip von Weitershausen. That made me think that Zope might still be trying to encourage new users. And now I'm glad to see that the zope.org website is being re-vamped.I believe that it's very tricky to do what you guys are trying - to move forward with Zope 3 and integrating that with Zope 2. Good luck to you all. I think Zope is still an amazing technology, and I look forward to using it more in the future.
Posted by Chris McDonough at Tue Apr 08 2008 18:45
Martin: I don't think Zope or Grok should get out of the web framework business (I still make almost 100% of my living doing Zope work), but I do think that there's a positively huge audience of folks who are already excited about some other platform and just won't switch to something else because they're already satisfied with what they have. It would be good to get them interested in various Zope bits, so we can push Python as a platform forward using those bits.The largest obstacle to this is currently the CA in my estimation, so my diagnosis is that instead of requiring that someone understand adapters and interfaces, or make them switch platforms, just let people use bits of it in their normal daily lives without needing to understand much other than "import" or "include this thingy in your WSGI stack". It would actually be ideal if *Grok* started to use some of these bits, so it could start to share some of the maintenance and feature burden of frameworky components with the larger Python community.This effort also tends to improve the bits, as they tend to fall into parts that need to be consumable independently from each other, and thus you identify improper dependencies and lack of documentation.
