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