I think the problem is one of economics.
The SV culture made it valuable for startups to amass a large amount of users.
Where as before this bubble started, it was more profitable for development shops to build (and sell) software that anyone can use to host their own site/forum/whatever.
This might not be the entire solution, but I think it would be a step in the right direction:
We need more products that are developed for people to deploy on their own private servers. They have to have some very compelling points that I think are still lacking in many existing solution:
- They have to be really really fast. Nothing in "python" or "nodejs" or whatever.
- They have to be really really easy to deploy. No requiring a separate database server such as mysql. Just use SQLite. Also, no copying over of tons of files. Just a single executable. All other data should live in the database (sqlite file). Maybe have two database files: one for user generated content, and one for bundling application resources (images, etc). I'm not exactly sure what's the best setup, but something along those lines.
- They have to be profitable for people who develop them.
This is more of a cultural issue.
I love open source, but requiring all software to be "free" means that it's much more profitable to create a product for yourself only and try to lure as many users as possible, just like facebook.
To this end, I think something like the physical source initiative makes a lot of sense: if you buy the software, you have the right to make changes to it. But you don't have the right to also copy it and distribute it.