Developers have a unique insight into data, data models and systems that manipulate them. Therefore developers often have the most insight into what's next in terms of computer development. For example an in-house developer creates a simple database querying system to pull reports for the higher ups. Some time after completing that, the developer usually thinks to him/herself how they could have made it better. It doesn't take long before they've got a plan on how they'd improve it. After the first go round, the developer has learned a few things to. So the process repeats. The dev improves the system, learns techniques and sees that things are not quite at that next level.
This process never goes on indefinitely. That's because at some point the company funding this developer says we've invested enough money/time into it. OR, time is cut short by a promised deadline. OR, and this happens the least often, the developer has no improvements that wouldn't fundamentally change the system. A new system is needed at that point.
Google seems to be the only company that has seen where this rabbit hole goes. When no premature deadline/budget is involved the results are pretty amazing. They pump out apps that are really strong and have high ease of use. In addition some of their apps are providing public service sort of services. Book Search, Maps...
Code is cheap. Code is reusable. Code doesn't wear off. It can be obsoleted. But, it doesn't break with use like physical world commodities. And, it's really, really cheap to reproduce.
So, to recap: Developers contribute greatly to society when given creative freedoms, loose budgets, absence of deadlines and a general, ambiguous focus.
Here's where the theory starts. At some point, it will become desireable for the local, federal or state government to hire developers who do nothing but pick projects and expand upon them. We as a society will come to depend on things like search engines, map engines, email etc. There will be a point where the citizenry can't trust corporations to be the gatekeepers of these services. There will also be a point where such a tremendous amount of code will either fall out of public patent limits, be removed of patentability, or be open sourced. When that tipping point is reached, to better serve the public, governments of some kind will need to step in to take over these services. And that'll probably be a near catastrophe.
At which point, there will be a sort of Post Office vs Fed-ex competition going with the gov't and private enterprise in terms of software.
Ok, so this is a really sketchy theory. But, it's not something I can dismiss easily.
Whether this theory has merit or not, it's kind of fun to theorize here.