[Zope-CMF] Re: Re: Plone participation in the CMF list
Martin Aspeli
optilude at gmx.net
Tue Aug 2 12:40:00 EDT 2005
> The general mindset of most Plone developers, as I perceive it from the
> CMF side, seems to be one of "I'm in Plone code, and I know what to do
> here, and I don't need to look beyond my world". Very few developers
> have a broader view and even think of pushing generic functionality or
> even specific improvements to core functionality that originates in the
> CMF down to the CMF level. It seems easier for them to monkeypatch and
> override directly inside Plone code.
I think you're right, at least as pertains to myself. It's not a concious
decision, I have nothing against CMF and the developers I've met that are
in CMF core I get on with well. However, I think this mentality resides in
a lot (if not the majority) of Plone developers. Some speculations as to
why this may be are:
- There is no clear strategy or leadership on how this integration should
work. What code is CMF worthy? What isn't? Plone gets stuff done
principally because people yell at other people to help out. If person X
in Plone could say "this looks like something that should be in CMF, send
an email to person Y in CMF and get him to take a look", and then person Y
could respond in a positive way immediately, then the poor programmer
would be more likely to feel like he knew what he was doing. Currently,
that happens rarely. Maybe because...
- CMF is "infrastructure" and low-level. Such code tends to have more
intertia, and the risk of making mistakes is higher, so one may presume
the best thing to do is to "leave it to the professionals"
- Plone still has a lot of "process" problems, but with the
PloneHelpCenter, the PLIP process, the collector (sucky though it is) and
the active leadership of people like limi and lurker, we have at least a
fairly good idea of how new features get in, how bugs get tracked, and
rough areas of responsibility that emerge. To an outside, at least, the
CMF world seems to be more difficult to slot into. I'm sure it isn't, just
that I don't know where to go to find out how to behave well in the
community.
- The CMF community feels less active (perhaps for obvious reasons - it's
more of a stable technology; just reading the list intermittently, it
feels like it's in maintenance-and-blue-skies-future mode, which may not
be true, of course). There's always life and excitement on the plone-dev
and plone-user lists, and in #plone on IRC, so our attention tends to be
focused there. We get to know some other developers, we start helping out,
and so our world becomes confined to that one. This is obviously a
self-reinforcing process.
- It's yet another contributor agreement and bureaucratic process to go
through; in fact, it sounds even worse than Plone's. So, the marginal cost
for a developer to do it "just for one little fix" is too high (of course
over time, it may not be, but that's moot there and then).
- The release cycles are not synced. We seem to work best to deadlines,
so there's been a great push towards Plone 2.1 in the past couple of
months. Hence, there may not be time to generalise, test, talk to CMF and
CPS and other people and get something reusable into CMF. A lot (well,
maybe not that much) of stuff in Plone is marked "XXX: Should probably
move to CMF".
- CMF is less sexy. Getting features into Plone typically mean higher
visibility. For those of us who base custom CMS solutions on top of Plone,
it also puts them closer to our own skillset and toolchain.
- Plone is (probably) better documented and more widely understood than
the CMF underpinnings. It's not that hard when you know Plone, so it's
probably more of a psychological barrier, but it seems easier to get a
grasp on Plone.
So, I guess my suggestions for what we can do to improve this situation
may be (some of these may already be happening, but it doesn't hurt to
spell it out)
- Encourage Plone people to read the CMF list
- Encourage CMF people to read the Plone dev list, and shoot in whenever
something seems to be CMF material
- Encourage CMF people to be in #plone, for the same reason
- Have the senior Plone and CMF people work out some guidelines for how
better to encourage cross-pollination of ideas and code, and follow
through on it day-to-day.
- Make the CMF contribution process as seamless as possible
- Produce "how to be a good CMF contributor" documentation that's easy
for a Plone developer to grasp without taking the whole weekend off
reading logs, code and lengthy manuals (incidentally, we're working on a
similar thing for Plone core. We should collaborate here too. I can give
you access to the in-process document if you're interested in seeing where
we are so far).
- Work *transparently* and *openly* on the Z3/Five/ECM efforts, with
Plone, CMF and non-Plone CMF users. Cross-post major discussions here to
all relevant lists, and produce easy-to-follow documentation about the
state of discussion and implementation, so that people can determine
whether it's feasible to throw their efforts into an existing project when
they need to get something done, either for Plone or for their own
customers.
- Set out some overarching guidelines in terms of management and coding
standards for such Z3/Five/ECM efforts. Most Plone developers seems
excited abot Five/ECM, and I think long term we do all want to end up on
Z3, but that process is lengthy and needs both champions and careful
communication and stakeholder management. Those who burn for this project
should expect to have to do some kicking and yelling to get people in
gear. Saying, "our code is great, join us" will give you a few interesting
glances. Saying, "you're duplicating what we're doing, and we can promise
you that if we work together this will work for you by the time you need
it" will get you actual code.
I'm sure others will have much to add as well. However, I think the
fundamental issue here is that there is some culutral separation between
CMF and Plone (and I presume CMF and CPS, CMF and Silva, CMF and XYZ
consumer of CMF). That separation is probably necessary (even useful) but
it doesn't mean that you have to be in one camp or the other. To get
people to be comfortable working at the CMF level, the CMF people need to
make an effort. So do the Plone pople. And the CPS people. And the Silva
people. And anyone else.
Martin
--
(muted)
More information about the Zope-CMF
mailing list