You are here: Home Articles Maybe we need a press office. Or a dictator.
OpenID Log in


Maybe we need a press office. Or a dictator.

by Martin Aspeli last modified Oct 20, 2007 09:05 PM

Or ... how it's hard to tell a single story in open source (the TTW debate continues)

Paul Everitt left this comment on my previous blog post about how the Plone "core" developers don't hate through-the-web (TTW) development:

There has been an undercurrent in the stack for some time that says "TTW is Invalid", and people should be transitioned to the CA for doing customizations. I guess you're saying here that Plone's official policy is that TTW is valid and will be the right way for casual integrators to engage minor customizations?

In general, I don't think the "hating" is aimed at the Plone team. Instead, the people in the stack seem intent on saying "All changes should be done with component software and shell access to the server with restart privileges". That viewpoint *is* out there and that is the viewpoint which leaves a lot of people abandoned.

Well, undercurrents are tricky things. Their interpretation will always be subjective. In a dynamic, multi-contributor, discourse-driven open source project such as Plone, there will always be a lot of voices, a few extremes, and a truth somewhere in the middle. It is difficult to get "the message" out there, mostly because different developers will often have a slightly different opinion. I'm sure this would be easier if we had the single voice of a dictator or a single company calling all the shots, but then Plone wouldn't be Plone and certainly wouldn't be as good as what it is today.

Insofar as there can ever be a "message" we need to look at the facts. In Plone 3, we wanted to use views and viewlets and other component-based approaches to build UI. As developers, we saw clear benefits of this approach. However, in making that choice, having a TTW customisation story for these things was a prerequisite. That's right - if Philipp and Alec (and later Andreas) hadn't created five.customerize, the package that powers the portal_view_customizations tool, we would still have been doing everything in skin layers. Regression on features sucks. We know people will hate us for it. We don't like being hated. We're ego-driven open source coders, remember?

If those are the facts, then it is illogical to claim that TTW is discouraged or frowned upon. Why would we spent lots of time building new infrastructure to support TTW customisation in this way if we didn't want people to do it?

Now, if you ask in the channel or mailing list, "should I do everything through-the-web", the answer you're likely to get is "no". If there is such a thing as an "official" opinion, I think it's this:

We would like to support through-the-web template customisation. This is a great way for people to get started, and also a great escape valve for quick-and-dirty visual changes. At the same time, we caution against trying to do serious development through-the-web, since this approach has been shown not to scale very well.

I don't know if everyone would agree, but it's probably pretty close to a consensus. If you ask me, "should I use TTW", I'd feel irresponsible if I didn't warn you against the problems that arise from having only protected code, in a flat namespace, with no source control and more cumbersome editing tools. If you want to build a serious system that diverges significantly from Plone and you don't have filesystem access to your server, well... we can give you all the TTW hooks you want, but you're still going to wish you had a proper development environment to play in. But that's not to say there isn't room for both types of development (and a whole bunch of shades in between) in the Plone universe.

But back to those undercurrents. I think it's fundamentally unhelpful to
perpetrate a dichtomy between "core developers" and "civilans". Of course, that dichtomy will exist in practice, in that some people commit code to "Plone core" and some do not. However, the Plone universe is extremely incusive. If you have constructive criticism or concerns, then people will listen. The software only improves through the discourse of the community and the evolution of the community's cultural identity. Those who now are concerned: did you test a beta or an RC? Did you voice your concerns? Did you phrase your criticism constructively? Did you ask if you were missing something?

I don't say that to put the blame back on those who are finding a new gap. We always try to anticipate everyone's needs. Unfortunately, we're not perfect, and sometimes we may get it completely wrong (I don't think we have on this occasion, but that's beside the point). You are as much of a "Plone core contributor" if you test, explain, argue and debate as I am, even if I write a few lines of Python and you don't. There is no small group of developers in an ivory tower who throw bones down to the hungry integrators peering up and wondering what's coming next. If you want something changed, change it - or convince others to change it for you. This is how we've evolved since zero-point-one and that's never going to change.

I don't know if we'll ever have an "official" position on stuff like this. The only thing that's official is what lands in the codebase. You can't assume that Plone is moving in this direction or that just because you overhead a discussion in the chatroom. As users, integrators, developers and other contributors we need to be smarter than that, realise that the undercurrent you hear today is just one of many in a maelstrom of opinions, code and grand ideas. There is no "us" and "them". There are no "core developers". There is only us, the community.

Document Actions


Posted by Anonymous User at Oct 21, 2007 02:58 AM
Just wanted to state that I thought this post was right on the mark. But to add another note, ZClasses themselves have been officially deprecated (removed?). This was one particular sore spot for TTW dev. But as for template customization, yes, we all agreed template customization was still very important for Plone 3 and moving forward.

Re: agreed

Posted by Anonymous User at Oct 21, 2007 03:01 AM
Btw, "agreed" comment was by "Rocky Burt". Martin, you have no join site ability?

It's more than one chatroom discussion

Posted by Anonymous User at Oct 21, 2007 08:41 PM
As I mentioned in my post, quite specifically, this isn't aimed directly at Plone. The stack has accumulated a near-complete "TTW was wrong" bias over the years. I could, of course, complete a dossier of evidence on this, but it would put the speakers on the defensive. And especially in the stack, I think there has been a decision that there are no civilians, only future Python component developers.

I *do* think there are civilians, and I *do* think it is useful to think of them separately. And I realize others don't agree with this viewpoint. Both might be right: on one hand, those that think "civilians" underestimates and needlessly ghetto-izes a certain group, and others that feel that group doesn't want lifetime devotion to the Church of the Stack.

Still, your claim that my point is simply "just because you overhead a discussion in the chatroom" puts the complaints into the tinfoil hat category. I don't think that's fair. I do think it's accurate to conclude that the stack has decided TTW was wrong and that, for example, Grok is the solution.

I still think it was a misdiagnoses. TTW "development" might have been bad, and most specifically, the implementation as ZClasses.

Worse, though, is the idea that we should convert every single TTW/ZClass use case into a filesystem, framework developer. Even worse is to take something that lots of people *loved* and replace it with something they were trying to avoid.

I've learned a lot on this in the stack over the last 6 or so years. Fundamentally, it's unfair to ask core developers to scratch an itch they don't have. So folks that have some fun, oddball ideas on this should band together, try to come up with something, and as you say, make it real by getting it into the codebase. If we want it, we should scratch our itch instead of whining.


Minor clarifications

Posted by Martin Aspeli at Oct 22, 2007 08:39 AM
Just to clarify a few things:

- In no way did I mean any of this personally, towards anyone.

- The comment about "overheard something in the chatroom" was not intended to address any statement by Paul or anyone else in particular - it was a reference to a general phenomenon.

In any case, I think this debate is extremely useful. It's only by bringing this out into the open that we can take stock of the different opinions out there and move our story forward.

don't be frustrated

Posted by Anonymous User at Oct 22, 2007 06:56 PM
by wam

it's the voice of the few that's louder than the voice of the many.

There is no road to new development practices without rumbling the old ones - in plone's case. The direction of development is great and will once again show other platforms how development will work in 8 years.

Now it looks like some are asking: "How much of the community are you willing to lose for nice code?"
But this is not what you [core-developers] should care about. For me it feels like the majority of plone-developers is pretty happy with the way of the code. So just go on and let the conservatives stay with plone 2.5, which is also a very good release - mostly with TTW ;)

Until you are ready and have ported all of the old stuff to new stuff and have time to get ideas how TTW could work again. In a clean manner.

I bet, if only you could see and feel how plone 4.0 works, you would have hundreds of ideas how to make anything ttw customizable.
Plone Book
Professional Plone 4 Development

I am the author of a book called Professional Plone Development. You can read more about it here.

About this site

This Plone site is kindly hosted by: 

Six Feet Up