[Zope-dev] Product standardization

Brian Lloyd Brian@digicool.com
Thu, 6 Jan 2000 10:06:11 -0500


> Chris McDonough wrote:
> > 
> > Though I can't speak at all for DC regarding this matter (this is
> > probably Chris Petrilli's or Brian Lloyd's territory),
> 
> Can you get them to speak up on this issue? :)

I'll speak up :^) I agree that there should be more/better
documentation on the writing of Zope products - there is 
some good info out there though:

The Boring product:

http://www.zope.org/Members/gtk/Boring

The (excellent) Product API tutorial:

http://www.zope.org/Members/Zen/howto/ProductAPITutorial


Of course I will also admit that it's non-obvious how to 
find these gems and that it would be quite a bit better if 
there was "offical documentation". The current plan as I 
understand it is to work on getting an enhanced and updated
version of the information in the ProductAPI tutuorial into
the Zope Developer's Guide.


> > I like the idea
> > of having a slightly more formal definition of what 
> constitutes a "good"
> > product, even if that definition only consisted of a couple 
> of pages of
> > "shoulds" and "shouldn't"s.

I think that this should be a part of the introductory material 
for the "how to write a product" documentation...


> > I also like the idea of a loose sort of
> > peer review (other than someone just downloading the 
> product, finding
> > out it doesn't work, and posting to the mail lists).
> 
> Yes, that's another way to get the ball running quickly. How do we set
> this up,
> though? Some procedures would be in order. I've whipped up a 
> suggestion:
> 
> * appoint a number of 'Product reviewers'. Basically the Digital
> Creations product gurus should appoint the first product reviewers (at
> least 2), which hopefully include themselves.
> 
> * A particular version of a product is considered to be 'Zope 
> compliant'
> if at least 2 product reviewers did a thorough review and approve, and
> no product reviewer at all vetos anything.
> 
> * Set up a mailing list, Zope-review, to handle product review
> discussions only. The product reviewers are subscribed, along with
> product developers who want reviews, and anyone else that's 
> interested.
> The list discussions may by necessity diverge into debates about
> standards and guidelines. It may also go into technical discussions on
> product development, but ideally the latter discussions 
> should be moved
> to Zope-dev so more people can profit from the information; 
> development
> questions should go to Zope-dev too. 
> 
> * If a product developer finishes a product that the current product
> reviewers think is good (and substantial enough), such a product
> developer can be appointed by them as product reviewer him or herself.
> Such a developer should be nominated by a product reviewer, 
> and no other
> product reviewer should veto the appointment.
> 
> * Being a product reviewer is of course voluntary; you don't 
> have to do
> anything or to accept any appointment. The idea is to bring structure
> and some dependability to the review process, not to enforce anything.
> Nobody _has_ to go through review. And there's of course the 
> open-source
> ego-boost effect of being able to say you're a 'Zope product 
> reviewer';
> if you are that, you *must* be a Zope guru, eh? :) This status effect
> will hopefully help motivate people to participate in the review
> process.
> 
> * Participating developers that are not official product reviewers may
> of course review each other's code too; this is only good for 
> everybody
> involved. Such informal product reviews will informally count when
> official product reviewer status is considered.
> 
> * Care should be taken that all this procedure does not actually slow
> down the development process. The entire review process is voluntary;
> you may still distribute unreviewed products. The goal of the 
> process is
> to improve the design and code of both Zope and products, and 
> to get to
> an idea of what it means to be 'Zope compliant', not to make 
> things more
> difficult (in fact, this should make everything easier!).

I think that peer review is a Good Thing - I share the opinion that
it should be strictly voluntary and very light weight (in fact, I 
think that zope-dev would be a fine place for these types of 
discussions, rather than a separate list). My only caveat is: it will
be much easier to "review" a product once there is an official 
description of what a good product is - so I would say that the 
immediate burden is on _us_ to get that out. Can you comment on this 
Amos?


Brian Lloyd        brian@digicool.com
Software Engineer  540.371.6909              
Digital Creations  http://www.digicool.com