ZODB Vision
Christopher Lozinski <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
I think that it is great what ZeroDB is building. Everyone I talk to loves the idea. I am delighted that Jim Fulton is working for them, and ZODB is evolving. But I am concerned about the direction that things are going. They are building something very different. ZODB 5 reminds me of the transition from Zope 2 to Zope 3. We would have all been better off they had called Zope 3 something else. There would have been less market confusion. I think that we should call ZODB 5 something else. In any case, the Zope brand has a terrible reputation, this would be a great time to call ZODB something else. In this email I will call it NewBase. There is more to this than just a brand. What is really important is the mental model that users have in their heads. I love the simple is better web site. https://www.simple-is-better.org/ /It seems that perfection is achieved not when there is nothing more to add, but when there is nothing more to take away./ — Antoine de Saint-Exupéry: Terre des hommes /Technology always develops from the primitive, via the complicated, to the simple./ — Antoine de Saint-Exupéry What is important is the mental model that the developer has of the system. There should be a very simple NewBase core, maybe 1000 lines of code, with lots of add-ons, maybe implemented using the ZCA. The NewBase core should be a single filestorage persistent python process. Really easy for the millions of people learning Python to pick up and start using. Then one could add on Durus, ZEO, RelStorage, NEO or ZeroDB extensions. Newbase extensions would also support a simple mental model. Add the Durus extensions if you are on a cell phone and want to not have to pack the database. blogory.org/durus. Add Zeo extensions if you want to run multiple processes all talking to a single database. Add the NEO extensions if you are trying to run a cluster of zeo servers. Add RelStorage if you want to store your data in a relational database. Add the ZeroDB extensions if you want to do all your encryption on the client, and store things other than Python pickles. Or if you want to do something else innovative, just start from the core NewBase. For the new NewBase user this approach presents a very simple mental model, a very simple story. They can start off with a small code base, and grow from there. And that would hugely help grow this community. For the existing ZODB user, at least for me, it reduces the conceptual complexity I have to deal with in my huge software stack. Simple is better. Keep up the good work! Chris -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.