[Checkins] SVN: zopeframework/trunk/source/ Add some more introduction about what the Zope Framework is.

Martijn Faassen faassen at infrae.com
Thu Mar 5 13:03:22 EST 2009


Log message for revision 97542:
  Add some more introduction about what the Zope Framework is.
  

Changed:
  A   zopeframework/trunk/source/about/
  A   zopeframework/trunk/source/about/concepts.rst
  A   zopeframework/trunk/source/about/coreextra.rst
  A   zopeframework/trunk/source/about/history.rst
  A   zopeframework/trunk/source/about/index.rst
  U   zopeframework/trunk/source/index.rst

-=-
Added: zopeframework/trunk/source/about/concepts.rst
===================================================================
--- zopeframework/trunk/source/about/concepts.rst	                        (rev 0)
+++ zopeframework/trunk/source/about/concepts.rst	2009-03-05 18:03:22 UTC (rev 97542)
@@ -0,0 +1,42 @@
+Summary of concepts
+-------------------
+
+We summarize some terms and concepts so we can all agree on how we
+refer to things in discussions.
+
+* Zope 2: the Zope 2 application server.
+
+* Zope 3 (preferred: Zope 3 application server): Zope 3 as an
+  application server, includes a way to create projects. Currently
+  also contains the ZMI.
+
+* Grok web framework: Grok, very similar to the Zope 3 application
+  server, but with extra Grok libraries and policy, and Grok
+  community.
+
+* Repoze: a set of libraries that builds on Zope technology, reuse
+  Zope concepts and expand on Zope technology.
+
+* Plone: a CMS based on Zope 2 and the CMF that is a major consumer of
+  Zope Framework technology.
+
+* Zope Framework: the collection of Zope Framework core
+  libraries. Shouldn't include the ZMI and doesn't include a
+  particular way to create a project.
+
+* Zope Framework release: a set of Zope Framework library versions
+  that have been tested to work together. This set receives a
+  collective version number ("Zope Framework 3.5"). A release could
+  simply consist of a list of version numbers.
+
+* Zope Framework Steering Group: the group responsible for the leading
+  Zope Framework development, ensuring its continued evolution driven
+  by the concerns of the various consumers of the framework (or
+  particular libraries in the framework).
+
+* Zope core library: a library within the Zope Framework.
+
+* Zope extra library: a library not within the Zope Framework. Could
+  be "just not" within the Zope Framework, or "not yet", or "not
+  anymore". These libraries are intended to work with the Zope
+  Framework and are maintained by the wider Zope community.

Added: zopeframework/trunk/source/about/coreextra.rst
===================================================================
--- zopeframework/trunk/source/about/coreextra.rst	                        (rev 0)
+++ zopeframework/trunk/source/about/coreextra.rst	2009-03-05 18:03:22 UTC (rev 97542)
@@ -0,0 +1,91 @@
+Core and Extra concepts
+=======================
+
+Introduction
+------------
+
+The Zope Framework covers only some libraries in the wider Zope
+community and software repository. We introduce the concepts of *core*
+and *extra* to be able to distinguish between the two.
+
+Core libraries 
+--------------
+
+The Zope Framework is a set of libraries. These libraries are released
+independently, but typically build on each other.
+
+A library that at some point in time is considered to be part of the
+Zope Framework is called a "core library". The Zope Framework contains
+those libraries that are reused by a large number of projects, or that
+the Zope Framework developers want to promote to be being more widely
+adopted. The Zope Framework developers especially favor inclusions of
+libraries that are used by other Zope projects.
+
+The set of libraries that is "core" can change over time depending on
+how these libraries evolve and are used. New libraries considered to
+be "core" can be added to the set, and existing libraries once
+considered "core" can be removed from the set.  We should be careful
+though, as we cannot just drop libraries from the core without
+considerable thought. A library being in the core signals a level of
+commitment to this library.
+
+How do we determine which libraries are part of the Zope Framework,
+and which libraries are not? The set of Zope Framework libraries is
+not static; what is included continuously evolves. The project
+maintains a list of which libraries are considered core.
+
+The Zope Framework Steering Group is the final arbiter of which
+libraries are in Zope Framework or not. It will generally make decisions
+according to these loose guidelines:
+
+* if it's used widely in our community by the different consumer
+  platforms, it's likely core.
+
+* if it's used by only a single consumer platform, it's likely not
+  core.
+
+* if only a few people use it, it's likely not core.
+
+* if it has a lot of people who contribute to it from our community,
+  it's likely core.
+
+* if it's something we want to encourage more consumer platforms use,
+  it's likely core.
+
+* if it contains specific user interface code, it's likely not
+  core. If it contains code to help construct user interfaces however,
+  it can be core.
+
+Libraries may have a different status in the core to convey extra
+information about them, such as deprecation status.
+
+Extra libraries
+---------------
+
+Surrounding the Zope Framework core libraries a large number of other
+libraries exist that are developed in association with the Zope
+Framework. These libraries integrate with the Zope Framework and make
+use of the Zope Framework. They are often maintained by developers
+that are also Zope Framework developers, and similar development
+practices are used.
+
+We will call these libraries "extra". Libraries in the extra group are
+sometimes candidates for inclusion in the core, or might be libraries
+formerly part of the core but still being maintained. In general some
+development philosophies and practices will be shared between the core
+and extra group of libraries.
+
+The Zope Framework steering group *does* not control the development
+of the extra libraries in the repository, except where such a library
+is considered for adoption within the Zope Framework itself as a core
+library.
+
+Examples of "extra" libraries are the "hurry.query" library for
+constructing catalog queries, the "z3c.form" related libraries for
+form generation, and the "grokcore.component" library which contains a
+different way to configure components.
+
+Any library that is developed for integration with the Zope Framework
+in the Zope repository can be considered "extra"; "extra" is the set
+of libraries that is not in the Zope Framework but can work with it. By 
+having an "extra" designation we can more easily discuss such libraries.

Added: zopeframework/trunk/source/about/history.rst
===================================================================
--- zopeframework/trunk/source/about/history.rst	                        (rev 0)
+++ zopeframework/trunk/source/about/history.rst	2009-03-05 18:03:22 UTC (rev 97542)
@@ -0,0 +1,16 @@
+History of the Zope Framework
+=============================
+
+The Zope Framework started as "Zope 3". Zope 3 was the intended
+successor to the Zope 2 platform. It didn't work out that way. Zope 3
+can be used, but Zope 2 is still alive and well, and in fact started
+to use large parts of the Zope 3 codebase. We also have the Grok
+project came along that reused Zope 3 to build a related but separate
+web framework.
+
+We realized that the term "Zope 3" was overloaded, meaning both the
+set of libraries shared by Zope 2 and Grok, and the actual web
+application server with a user interface that you can install. We
+therefore introduced the term Zope Framework so we could think about
+this set of shared libraries independently and manage them that way.
+

Added: zopeframework/trunk/source/about/index.rst
===================================================================
--- zopeframework/trunk/source/about/index.rst	                        (rev 0)
+++ zopeframework/trunk/source/about/index.rst	2009-03-05 18:03:22 UTC (rev 97542)
@@ -0,0 +1,31 @@
+The Zope Framework
+==================
+
+The Zope Framework is a collection of libraries managed by the Zope
+developers. The Zope Framework is not installable directly, but
+libraries in it are.
+
+Zope Framework libraries are intended to be reusable by projects to
+develop web applications or web frameworks. Currently some of the Zope
+Framework libraries are more reusable in this way than others, but we
+are working on getting them all in shape.
+
+The whole collection of Zope Framework libraries in used in various
+other web frameworks and web application servers. Three of these are
+managed by the Zope project: Zope 2, Zope 3 and Grok. If you install
+one of these systems, you will get the Zope Framework along with it
+automatically.
+
+The `Zope Framework Steering Group`_ is there to help guide the development
+of the Zope Framework.
+
+.. _`Zope Framework Steering Group`: ../steeringgroup/index
+
+.. toctree::
+   :maxdepth: 1
+
+   history
+   coreextra
+   concepts
+
+

Modified: zopeframework/trunk/source/index.rst
===================================================================
--- zopeframework/trunk/source/index.rst	2009-03-05 17:47:04 UTC (rev 97541)
+++ zopeframework/trunk/source/index.rst	2009-03-05 18:03:22 UTC (rev 97542)
@@ -10,6 +10,7 @@
 .. toctree::
    :maxdepth: 2
 
+   about/index
    process/index
    codingstyle/index
    migration/index



More information about the Checkins mailing list