[Zope-dev] shrinking the ZTK: a proposed solution
Martin Aspeli
optilude+lists at gmail.com
Tue Jan 5 09:29:46 EST 2010
Jens Vagelpohl wrote:
> How is that any different from people who won't use the ZTK because they
> don't want to deal with any zope.app* baggage?
We have a proposal for dealing with that now: To maintain two KGS', one
for ZTK and one for ZopeApp.
We can and should run tests for both, and ensure that ZopeApp depends on
the appropriate ZTK release. This way, if a ZTK package is changed in a
way that breaks ZopeApp, at least we'll know.
We have a number of people who have a stake in ZopeApp and are willing
to help maintain it. We also have a history of people maintaining
libraries caring about their consumers. You are the poster child for
that, I think, being immensely helpful with CMF releases for the
purposes of Plone. I don't see this being any different.
I think everyone agrees that:
- zope.app.* is not very interesting to anyone other than possibly a
subset being useful in Zope3/BlueBream/wahteveritgetscalled.
- We clearly had people using "some subset of Zope 3" for ages, long
before the ZTK concept existed.
- Ergo, we have a *lot* of zope.app.* imports in the wild.
- We tried to arrive at a common subset we could collectively maintain
to make all our lives easier and called that ZTK.
- We agree that ZTK should not have zope.app.* packages in it, or
indeed other "less useful" zope.* packages.
- We have a number of frameworks trying to move towards using the ZTK.
- Those frameworks are in various states of completion towards that goal.
- The shape of the ZTK itself is influenced by that process of
dependency untangling that allows frameworks to move towards adopting
it. Thus we have a two-way process of changes flowing between the ZTK
itself and the various consumers or would-be consumers. This was
evidenced when Hanno removed zope.app.* packages from the ZTK. That
helped the ZTK towards it end goal, but it also caused pain for people
whose frameworks are less advanced in that goal and may need zope.app.*
for a while longer.
- Waking up one morning to find your buildout going crazy and having
to backtrack in svn to find out what the KGS used to be and piecing it
together is not nice.
- There's benefit in having a tested set of zope.app.* packages and
testing that against the ZTK, so that when ZTK developers break a
zope.app.* package *that is currently used by someone*, they can at
least be aware of that.
- This situation may go away in the near-to-mid-term future when (a)
the major frameworks have managed to get a release out that uses the ZTK
proper without zope.app.* and/or (b) someone decides to actually love
some subset of zope.app.*. That "someone" is likely BlueBream or whatever.
So, in short:
- No-one wants zope.app.* in the ZTK.
- zope.app.* exists in the wild today, in real projects, for real
users, who we are going to ask to upgrade to some ZTK supported release
of their framework soon.
- Some people were disadvantaged when it disappeared over night and
need a bit more time/help to get there.
- Most/all people would like us to try to work together for mutual
benefit.
The proposal to have a ZopeApp KGS with a buildbot and a dependency on
ZTK is perfectly reasonable. In the worst case scenario, those
self-styled ZTK maintainers who don't want to ever see zope.app.* again
will have a little bit of guilt because they broke other people's code.
In the best case, we'll work together to fix those breakages, or
identify that no-one cares about a particular zope.app.* and kill it
from ZopeApp forever.
Somehow, we all lost our cool at around the same time. Let's stop the
non-factual discussions and think about what people actually *need* to
get their jobs done, and find out who has interest and capacity to
support that.
And please, let's stop making this an "everyone vs. Martijn" debate,
because apart from a few lapses in style, he's actually making a lot of
sense and speaking for real people with real needs. I'll count myself as
one of them to shut up any debate about whether such people really exist.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Zope-Dev
mailing list