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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.