Influencing the development of Python-based web application servers since 1998

The Original

Zope Icon Logo

Zope is the original open source web application server written in Python, featuring a component architecture and an object-oriented, hierarchical data model.

It was invented in 1996 by Jim Fulton, after he had taught a class on CGI programming - Common Gateway Interface, the go-to way to create dynamic websites at the time. On the plane ride home after teaching the class, Jim considered what he didn't like about CGI and wrote the core components of what would become Zope on that plane ride.

Jim's company went on to develop a commercial application server called Principia based on these components. In 1998 Principia was open sourced and the Zope community was born.

Zope is the foundation of Plone, and a major reason Plone has an excellent security record. Zope also served as one of the inspirations for Guillotina.

Traversal, Templating, and More

The foundational components Jim invented in 1996 are still in use today.

  • A web publishing facility based on the concept of traversing a hierarchy of objects
  • A templating engine that combines templates with data to produce HTML
  • An object database supporting atomic transactions, garbage collection, and binary large objects - the ZODB (Zope Object Database)

In the late 90's and early 2000's the Zope community produced a number of additional components which are key elements of Plone.

  • The Content Management Framework providing services and content objects for building dynamic, content-oriented websites - CMF
  • The Zope Component Architecture providing facilities for defining, registering and looking up components, perfect for building applications based on loosely coupled components - ZCA

Learn More!

Zope is still in use today and being actively developed. Read the Zope Book , the Zope Developer's Guide, or visit the main Zope documentation site.