I think there are two models we can look at:
1. Page Sharing
In this model, a user creates a new page, and from the tab context menu selects "Share this page...". A dialog opens, and the user can add people (e.g. using a search/filter view), or select an existing group (e.g. friends, family, co-workers...). The user chooses OK, and each user is notified when they log into Rave of the invitation to add the shared Page. The user who created the Page is the Owner; each user they share with is by default a Viewer (read-only). However, it should be possible for the Owner to grant other users a "Can Edit" role allowing them to add, remove and move widgets.
2. Workspace Sharing
In this model, there is a higher-level entity comprising a collection of multiple pages managed by a group. New shared pages can be added as sub-pages of the top-level workspace. I'm a bit less clear on the workflow for this one, whether its the same as (1) but with sub-pages, or something conceptually quite different
Paul and I are really interested in seeing if we can develop something along the lines of model (1) in a sprint next week as it would be a good fit for a project we're working on. This wouldn't include the OpenSocial Spaces extension (I'm sure someone else could implement it later) but would include the basic functionality of sharing pages, selecting users, and extending the relevant PermissionEvaluator classes for non-Owner roles.