There's some caveats to this. We cannot continue our growth based society for more than about 200 more years. This is because energy usage is directly tied to growth and in about 200 years we'll boil the oceans just with the amount of power we use.
If we can transition from a growth based society to a stable society then we could continue on Earth but that society doesn't look a whole lot like the one we have now.
Likewise climate change is already on track to radically alter our planet from what we've known for the entirety of human existence. Yes the human race will adapt and survive but what kind of society (and technological level) we will have after that period of adaptation is completely unknown. All we know is that it will look nothing like what we have now.
The way it's going right now traditional cable will die out and you'll just subscribe to each channel that you want to watch. Right now you can subscribe to HBO, Netflix, Hulu and a few others. I expect Disney will follow with ESPN and their other offerings at some point.
... I hope you're kidding. Don't reinvent the wheel - if someone else has already written the code then there's no reason to re-write it. That's a huge waste of man hours.
Instead you should package all dependencies in such a way that they can be retrieved without requiring the other guy to still be offering it. Yes, that means a snapshot of the version you rely of should be in your repository because you also can't guarantee that a given version will be available as long as your own project is.
I think I agree that we need a breakthrough. Grid scale storage would unleash renewables to the point where we could start to phase out the base-load plants. Barring that we're going to need Fusion or something completely outside current physics if we're going to stay out of a Dark Age sometime in the next few hundred years.
The performance hit is real - and without custom silicon it's quite expensive.
This bit me on the ass recently on a GPGPU project I was working because the amount of time taken to clear the buffer before use was about 10x the amount of time to actually do the computation.