[Checkins] SVN: zope.repositorypolicy/trunk/RULES.txt Flesh out rules, notes about how to conform.
Tres Seaver
tseaver at palladion.com
Mon May 10 14:08:55 EDT 2010
Log message for revision 112236:
Flesh out rules, notes about how to conform.
Changed:
U zope.repositorypolicy/trunk/RULES.txt
-=-
Modified: zope.repositorypolicy/trunk/RULES.txt
===================================================================
--- zope.repositorypolicy/trunk/RULES.txt 2010-05-10 16:37:35 UTC (rev 112235)
+++ zope.repositorypolicy/trunk/RULES.txt 2010-05-10 18:08:54 UTC (rev 112236)
@@ -1,11 +1,99 @@
-- the rules are enforced on all top level subversion modules on the branches
- trunk, develop
+Rules enforced by ``zope.repositorypolicy``
+===========================================
-- the rules are *not* enforced in the modules
- Sandbox, ...
-- all copyright headers (c-style, python style) must be zope foundation
+This package provides a ``zope-org-check-project`` script using is run
+nightly against the zope.org Subversion repository The script checks the
+rules below agatinst all top level subversion projects, with the
+exception of ``Sandbox``. For each project, the script check the ``trunk``
+(if it exists), the ``develop`` branch (if it exists), and any "release"
+branches matching the pattern ``branches/{major}.{minor}``, where ``major``
+and ``minor`` are integers.
-- every package must have a license.txt which is ZPL 2.1
-- every package must have a copyright.txt according to ZPL 2.1 which points to
- the Zope Foundation
+The script ignores releases of a project (typically in
+``tags/{major}.{minor}.{patch}``). New releases for a project should be made
+from a branch, or the trunk, only after bringing that branch into conformance.
+
+
+Copyright and License Rules
+---------------------------
+
+- Any moudule which contains a copyright headers (c-style, python style, or
+ othersize) must indicate that the copyright belongs to "Zope Foundation
+ and Contributors." The phrase "All Rights Reserved" is not requried.
+ Existing copyright dates should be preserved when changing the copyright
+ holder.
+
+- Every checked project branch must contain a file named, "LICENSE.txt"
+ which contains the canonical copy of the ZPL 2.1 license. As of 2010-05-09,
+ the checker requires that this file match its canonical version exactly.
+
+- Every checked project branch must contain a file named "COPYRIGHT.txt"
+ which indicatees that the copyright belongs to the foundation. This file
+ must not contain any other language or information than the following::
+
+ Zope Foundation and Contributors
+
+- If a checked project branch contains a ``setup.py`` file for consumption
+ by ``distutils`` or other related tools, each call into the ``setup()``
+ API must include the ``license`` keyword argument, with the string
+ "ZPL 2.1" as the value. E.g::
+
+ from setuptools import setup
+ setup(name='somepackage',
+ version='1.2',
+ description='A description',
+ license='ZPL 2.1',
+ ...
+ )
+
+
+Conformance
+-----------
+
+Most project branches should be easy to bring into conformance. The
+``zope-org-check-project`` script provided by this package will find and
+report on violations. E.g.::
+
+ $ bin/zope-org-check-project /path/to/someproject
+ LICENSE.txt: Missing license file
+ COPYRIGHT.txt: Missing copyright file
+ src/someproject/adapters.py:3: incorrect copyright holder: Zope Corporation and Contributors
+ ...
+
+The ``zope-org-fix-project`` file can fix all the copyright headers, as well
+as adding the miising required files. E.g.::
+
+ $ bin/zope-org-check-project /path/to/someproject
+ $ bin/zope-org-fix-project /path/to/someproject
+ $ svn stat /path/to/someproject
+ ? LICENSE.txt
+ ? COPYRIGHT.txt
+ M src/someproject/adapters.py
+ ...
+
+Don't forget to add the newly-generated boilerplate files before checking
+in the changes.
+
+
+Non-Conforming Projects
+-----------------------
+
+If any portion of the project cannot be conformed to these guidelines (e.g.
+because some file or part of a file is under copyright to a non-committer),
+one of the following remedies must be applied.
+
+- Move the project from the zope.org repository to a different code hosting
+ site.
+
+- Remove the non-ZPL-licensed files from the project, perhaps documenting
+ how a user can restore them at installation time.
+
+- Apply to the Zope Foundation board for an exception to the policy. Once
+ granted, the exempted project branches must contain a file, "EXEMPTIONS.txt",
+ containing the date and scope of the exemption. The "LICENSE.txt" and
+ "COPYRIGHT.txt" files should be amended to indicate the portions of code
+ which are under a different license, or copyright. Project branches
+ containing the "EXEMPTIONS.txt" file will be skipped by the
+ ``zope-org-check-repository`` script when running the nightly conformance
+ report.
More information about the checkins
mailing list