What if I were to take a Plone install, delete all of the Zope 2 code (leaving mainly Zope 3 stuff), then mangle the code (including CMF) until Plone works again?
I know I’m foolish for saying this, but my intuition tells me I could actually do it, especially if I got a lot of help from others. I think it would take 1 to 3 months of full time effort. I would redesign all sorts of stuff in the process. The resulting code would not be compatible with any existing site; the necessary migration scripts would take many more months, I think. But the code would be enough to create new sites from scratch and put them on the web. The intent would be to make Plone more maintainable.
It would be really crazy… but fun, I think.
“delete all of the Zope 2 code ”
There would not be much left. So your question can be simplified to “what if I would write a Zope 3 CMS”. I think three months is way underestimated if you are going to get the completeness of Plone features there. The migration support is likely doable in a couple of weeks, maybe a month.
I’d like a project where I can start making a Grok CMS, as I think Zope3/Grok is the best platform at the moment.
Isn’t there z3ext already? I don’t know what it does and how good/stable it is, but if I remember right it aims to be a CMS on top of Zope3.
+1 for a Grok based CMS
No, I don’t want to build a new CMS. That would be hard indeed. Instead, the idea is to make Plone work without OFS.SimpleItem, acquisition, the “portal_*” names, the Zope management interface, and other Zope2-isms that no longer serve much purpose in Plone, while retaining 99% of the Plone UI.
Nah, building a new one is EASY. Just give me 3 months of full pay. 🙂 The hard part is getting people to use it.
The hard part for a developer is to build it from a “integrator” point of view.
To make it popular you’d need easy customization for semi-developers and skinners, which would spread it all around the web, and have a simple and easy user interface for content maintainers, which would make end users happy.
Imho this is the most important lesson to be drawn from Plone’s popularity.
+1 more for a Zope3/Grok based CMS, I’d join the effort…
The current plan is to move Plone 4 into a position where it does no longer depend on much Zope2 code at all. What is going to remain from the current perspective is mainly AccessControl, parts of OFS, ZCatalog and some bits of Five integration code. With the Acquisition changes in Zope 2.12 we can rewrite lots of code to be forward compatible in a way that allows the code to work unchanged without AQ being around.
On an optimistic schedule Plone 5 will be released somewhere in 2011 and will run on Python 3 without using Zope2 anymore. It might take longer, but one of the clear goals of Plone 5 is going to get rid of the Zope2 dependency. The goal here is the same, the approach is evolutionary so the add-on community has a chance of catching up with all the changes.
That sounds like a great plan, Hanno. I think it will work.