&gt;Second, the granularity of the modules is essential.<p>I think this is a huge point that most open-source projects neglect. It&#x27;s vastly easier on contributors to open-source projects if there are highly granular tasks to complete.<p>I think the open-source ecosystem is very short on people who are good at what is effectively project management: that is, breaking up tasks into smaller ones. Imagine if major projects had a big list of thousands of short several-hour tasks they needed completing (e.g. &quot;create a menu option for this tool&quot;). This isn&#x27;t always feasible due to e.g. background knowledge requirements, but it would be super nice.<p>One area where this approach could actually work super well is in collective theorem proving. It doesn&#x27;t matter how people do whatever they&#x27;re doing so long as it has the right top-level type signature. The list of outstanding tasks would just be a big list of type signatures (as-of-yet unproven theorems) waiting to be completed.