This is a key question and gets asked often. Think @rob summarised it well. Just to add a few small points to it
- Not everyone in the team work in the same section of the code.
They wouldn’t be able to either. Easier way to think of it is designers/marketing/accountants aren’t going to be coding and similarly client side devs arent ideal to pickup debugging a routing invariant issue in rust. We have teams that work on different parts of the system. This will become a very valid issue if say we move people working in routing over to get this implemented/supported but thats precisely what we’re aiming to avoid and would certainly stay away from cos as you mentioned, the first and foremost priority as it stands right now is to get vaults back to users and continue those testnets to iterate the system there. Thats not a small amount of work and we’re certainly not going to make it any less important.
- “Creating” SAFE Network isnt just about vaults.
It involves multiple parts of the system like data storage, communication, app integrations, secure consensus … If we want vaults tested and improved in iterations, then we need multiple parts of the system to progress along neatly so the tests are accurate and do not mislead the status of the system being “great” when the first client side feature brings the entire thing down. To our benefit the teams help here as people are specialised with different skills and can work in their relative areas in parallel and hopefully help achieve this objective efficiently.
As an open source dev team it makes things that much more visible if people deviate from sections they work in as Github history would very easily identify that to anyone looking at the system.