オープンソースプロジェクトを立ち上げて開発を行いたいのですが、どのようにして始まり、どのようにして参加者がつくのでしょうか?

誰か1人がプロジェクトの管理者として存在し、その人を中心に数人のチームがあってスタートするのでしょうか。

また、現在はGitHubでソースを公開するのが主流なのでしょうか。

オープンソースが生まれてからどのようにしてメジャーになっていくのかという過程を教えて下さい。

気をつけることや準備しておくべきことなども教えていただけると嬉しいです。