Open source projects work that way because we have to, not because we want to. Large projects have semi-regular meetups/sprints where they can all get together face to face. Small one muddle through and try to prevent the problems not meeting face to face causes.
Large open source projects may meet other members at conferences but rarely do you find a situation where everyone can be in the same location/country at the same time.