FYI: This is a rant.
This is something I've been thinking about for a few days. Every couple weeks or so on the Timcast show, Ian Crossland will sperg out and insist that sites like Facebook and Goggle and AWS should be compelled to give up the code.
This has always infuriated me. Not because I have a problem with open source (I happen to like open source), but rather because it strikes me as him, as a self proclaimed "cofounder of minds.com"... as being incredibly lazy as well as reflecting how little he actually knows about the web middleware space.
The "secret" of Facebook is 100% network effect. Any half competent app design team could hammer out Facebook's UI in a quarter, and some have. There is nothing about "the code" that is special. It's just pure network effect.
Google... once upon a time involved a bit of secret sauce in indexing, but nowadays they TOO are largely just network effect (this time from the advertisers).
But then there's AWS. That must be secret sauce in the code, right?
Well, no. And really AWS is the most interesting of the three because this is a fight that's been going on for fifty years, namely, mainframes vs boxes. It's a fight that's seen reversals of fortunes and the only certainty is that the current king will always be dethroned.
AWS doesn't do anything "new". Conceptually everything it does in hosting and running code can be traced back to products that IBM and Oracle and Unisys have been selling since the 80's (and in IBM's case, even longer). But AWS managed to strike a nerve because in the 00's the mainframes were getting pretty fucking obtuse about how difficult they were to set up and maintain.
People who think that AWS is somehow an undefeatable singularity are naive. In ten years, AWS will be what WebSphere was ten years ago, and the new hotness will be something that does everything it does but in an on-prem, physical package that can be amortized.
I blame the dumbing down of application UIs first on garbage programming skills, then on the demand that everything be browser-based now. Mainly on programming skills though. The modern programmers I've talked to are totally clueless on how things happen within the computer and just know how to stitch a bunch of frameworks someone else wrote together into something that works some of the time. I'm not saying don't use other framework, but they don't understand and couldn't write their own code for those things if they had do. It's kinda sad because for the most part I've never been more than an amateur programmer and understand it so much better than these supposed professionals. When my dad was doing software development 30 years ago, it was totally different--those people knew their shit.
The browser base was brilliant though. A web application is about as simple a software delivery mechanism as you can think of. Every platform has a browser, and web apps just need to be downloaded by navigating to a URL. You avoid all the problems involved in the installation and updating process for traditional software. And on top of that you have better standards for security.
It’s true that many developers are incompetent now though.
This is what Sun was thinking Java could become all the way back when they introduced applets in the 90's. They wanted to move to a world where software isn't installed, it's just delivered and executed.
Tragically, applets were comically bad. They had all the problems inherent to Flash, but on top of it they were slower too.
Yeah exactly, the browser platform is what Java was hoping to create, but they failed because their browser plugin always had horrifically bad security problems. Few could foresee JavaScript evolving in speed and power to the point that it could replace it.