How to Establish a Community-Scope Means of Sharing Code/Knowledge Across Labs? In my field there has been a growing interest in establishing a means of sharing resources (i.e. software and technical knowledge) across labs. Currently, these resources are shared ad hoc, and as such it can be difficult for researchers, particularly students and junior faculty, to find out how to do particular things or avoid reinventing the wheel.  I'm working with a few other people in my field to attempt to establish a centralized, public (within the field) means for sharing these resources across the research community, but have no prior experience setting up anything like this.  We're considering setting up a Google Group for facilitating discussion and announcements, but I am concerned we may have difficulty engaging and growing the user base to the point where the group can sustain itself.  Therefore, my questions are:


Are there community wide resource sharing methods in other fields that might serve as an example for us? How were they established?
What are the critical factors that determine the success or failure of this sort of community level collaboration?  How do successful collaborations handle these factors?
Perhaps the closest one I ever came to know is the PROMISE Repository. It is dedicated to store Software Engineering research artifacts. You can check about their history and some management policies on their "about" page. 

I feel that this repository has been quite useful to the Software Engineering research community or, at least, it has been cited.