Many people miss the fact that Facebook as a product is not about the website and related services. It's your social connections that are the product for you (and for Facebook itself). The technology is just a wrapper and is secondary in this case. In order to create a viable alternative to Facebook one should find a way to create a new kind of social good attractive to many (which is much harder when Facebook already exists). So it's more about social good engineering rather than coding.