well, maybe we just make code available to everyone.
I like the idea of motivating participation, but many people will have to do a lot of catchup just to get to the point of seeing any gaps and filling them. Its hard enough to get open source projects rolling, and only really major ones limit source code, so I'd be ok with posting code right off the bat. I've been the one learning from others mostly in the past, so don't have much ground to stand on for anything being private.
As I was thinking this through, it occurred to me that we need to establish a few patterns of use.
I have functions that add an entity to current "space". You feed in the entity, it does the transaction to add it.
So we could make that an extension to the database object, like db.AddEntity(ent, layer, color...) or we could make it an extension to a transaction, so we could avoid one transaction per entity.
I am still settling on those patterns myself, and have tended to make an overload of each function that accepts a db and transaction so I could do it either way.
So it would be good to decide what objects a given operation should go with.
Seeing how that turns out would really be useful.