dotLRN community or club is general enough to cater needs of non-educational groups, similar to Randy's req. above issues a) and b).
There is already a project created for this dotWRK , not much active right now, but that should be active soon given high interest level. You can also check out dotLRN demo, linked from https://openacs.org/projects/dotlrn
-Samir