

The difficult part is not the software or even the hosting. It’s more about the network effects and the ability to let users monetize uploads, which in turn creates vast potential for abuse and fraud, which in turn has to be addressed by burning stupendous resources. At a certain point people stop wanting exposure or “making a difference” for their own sake, and instead want to get paid in genuine coin of the realm.
That’s called Git and it’s been around longer than GitHub. There is also Usenet which by now is mostly dead. People fell for centralized alternatives. Oops :)