I think, in practice, I’d add to that being on GitHub and using pull requests to that. That’s a lower bar, but I think we want the platform to allow contributions.
I agree having clear processes is important. I also think that rules like “be on GitHub, review PRs” and so on are important and would get sufficient buy-in.
It’d be cool in a sense to have uniform processes if possible; but beyond some point, this requires “herding cats”.
That’s one reason why the standard library (and other official Scala repository) would have to set the example. I’m honestly convinced that C4 would solve some serious problems we do have. Introducing that process will still take some serious cat herding, but
- If that fails, there’s no chance of having this in the Scala Platform
- If that succeeds, we’ll gain experience on how C4 works for us, and other projects might follow the example.
You might be right—but since we have seen other processes been misapplied disastrously*, I’d expect it might be the case for C4. For instance, the concept of “correct patch” has lots of leeway (as seen in this thread) that allows for dysfunctional instances.
I’ve also skimmed a bit https://hintjens.gitbooks.io/social-architecture/content/chapter4.html, but I’m not convinced by the evidence that it “just works”. But I’m convinced by the arguments that it’s worth trying on the Scala Library.
@sjrd Code review still happens through further patches, which might even revert the existing ones.