Forum OpenACS Q&A: Response to Article on ACS x Zope

Posted by Michael Feldstein on
Whew! I just stepped away from this thread for about half a day...

At any rate, I'd like to come back to the issue of non-programmers. There's a difference, I think, between the users of your web-based application and the developers of it (although the distinction can often be very fuzzy, I admit). If, for example, your application is a relatively powerful content management system, e.g., Vignette StoryServer or Karl Goldstein's new system for ACS, then you can have users who do quite a bit of customization without any programming.

Fine. Those are not the people I'm concerned about, since both systems seem to be able to address their needs relatively well. (I would argue that ACS currently has a fair amount of work to do in this regard, since the admin pages are a mess. I have no idea about Zope on this front, though I've heard good things.) I'm more concerned about the people halfway between those users and serious, heavy-duty programmers. I'm talking about the people inside organizations who usually end up maintaining the systems, which often means extending them as well. They probably won't need to write huge new modules on their own, but they might need to make a few changes to the functionality here and there (or fix something when it breaks).

These people need what Philip calls a "gentle slope". They need to be able to learn more about how the system works as needed. They need to not have to learn a whole new skill set (like OO programming) in order to make the relatively minor changes that need to be made. I don't know if Zope requires this kind of education, but so far it sounds like it does. ACS, on the other hand, does not. Tcl and SQL are both pretty easy, and ADPs are even easier. Even without the problem sets, boot camp, and all the rest, I feel pretty confident that I could learn how to make at least moderate customizations to ACS if I really wanted to without having any particular talent for hacking. ACS is designed to be open in that particular sense; in the sense that it practically invites you to play with it. This will be even more the case once some if the code mess is cleaned up.

I didn't mean to imply that Zope isn't truly Open Source. I just find it to be an odd (although perhaps not so unusual) kind of Open Source. Odd in the sense that the team seems to put its sense of architectural aesthetics ahead of accessibility of the code. It may be open, but it feels a bit elitist (if unintentionally so). Now, sometimes, when a problem is especially hard, that's the right tradeoff to make. I wouldn't expect, for example, to be able to learn to hack my own encryption software as an untalented hobbyist, and I wouldn't trust any encryption software that I *could* hack myself. But this web stuff just doesn't seem to be that sort of a problem.

At any rate, differences aside, I'd like to personally thank the Zope people for spending so much time and effort here trying to communicate their perspective. *That* represents the true spirit of Open Source, in my mind.