Hello, I think that the ongoing storage documentation idea is *very* important. I wish I could do it myself but I have pressing matters now. I will, however, follow its development, and suggest improvements where appropriate.
Moreover, I think that at least in storage, design and documentation should come before coding. DbMail's storage layout is very important. It seems to be the first open source database mail storage solution which is more or less widespread. Email storage in a DB seems *right* to me; this is why I installed DbMail and joined (somewhat) the work on it, even though I really don't like the code itself. So, as this is, I think, an idea whose time has come, this storage layout has the potential of becoming a de facto mail storage standard which other programs can also support (probably not a universal standard like mbox, but a known standard like MH or Maildir++). So even while the code remains problematic, the storage should be clear and well documented. And further development (beyond the minor enhancements in 2.0.x and the code cleanups currently under way in CVS HEAD) should, I think, start with discussion and clear documentation of all storage changes, making a new, well thought out format. Input from people who know database theory will probably be needed; someody like that lurked here, but if not I'[ll try to call a friend who knows the stuff into this. I have some ideas for the new storage, but I'll leave that for the next time; for now, the principle of doing the storage design first is my point. Moreover, if IC&S were to listen, I would politely propose relaxing the license on the table creation scripts (and only on them, not on the DbMail code itself), so non-GPL programs could also create and access the same tables without extra worries. Namely I would propose dual-licensing these scripts with the GPL and the SISSL (Sun Industry Standard Source License), which only requires changes that don't confirm to a standard to be released as source; the storage layout document could be this standard. Therefore, GPL programs will be able to extend the storage, but close source programs will only be able to use it "as is". The same dual license should apply to example SQL queries that will probably be included in the storage layout document. But DbMail itself is quite rightly GPL (and besides, it has to be GPL if it is to be able to link to MySQL); I'm only speaking of helping this format to become a standard. Yours, Mikhail Ramendik