In the 90s and 2010s it was software: you buy this software because others are not compatible with it.
Today's lock-in is cloud services. Will people ever learn?
If I use DynamoDB, I'm stuck with AWS, absent an expensive, difficult migration.
Even with Kubernetes, moving from EKS to your own cluster means spinning up your own k8s masters, which might not be in $RANDOM_DEVELOPER's wheelhouse. And IIRC AWS has their own special things for doing ingress that you'd need to change as well.
Even just going from EC2 to Google's analog might mean rewriting private tooling that specifically uses AWS APIs.
As for Ingress, Amazon does have an ingress controller that configures an Application Load Balancer with kubernetes Ingress API objects. I feel like this locks you in less because again, Ingress is standardized. The problem with Ingress specifically is that the standard doesn't cover things people actually want their ingress controller to do, so every implementation has their own set of features. We use nginx... you better believe there are literal nginx.conf snippets inside the Kubernetes API objects to get things to do what we want. So this is just a case of Kubernetes being bad, not really cloud provider lockin. I'm more stuck on nginx than on Amazon.
(As for load balancers; again, Amazon has proprietary configuration parameters that won't be portable, but they don't really do anything important. You can make your Amazon load balancer terminate TLS (a bad idea), and pick which of the 3 Amazon load balancer types you want to use. Switch to Google, and that won't work... but you also probably won't care. The Load Balancer API spec seems to do what people want, so it's relatively commoditized and you won't be sad when you switch providers. We actually have to have a wildcard certificate specifically because Amazon's classic load balancers are so bad. Would be happy to not terminate TLS in the load balancer and have Envoy or Nginx terminate TLS and ask letsencrypt for a new certificate every couple months.)
Sure Kubernetes is an open GCP product, but what about datastore, Spanner, Cloud SQL, their memory cache, urlfetch, and a host of other closed source and private services. Kubernetes seems to be the exception to the rule.
A world where front ends are deployed on a CDN and the back ends are all containers is very commodity driven. Also infrastructure being set up with code on platforms that target multiple providers like Terraform provides more ability to move systems.
It'll be really interesting to see if AWS can keep their margins in such a world.
Given that MS make huge amounts of money from email and have virtual lock in on corporate email it's very possible, but on the other hand perhaps it won't happen if everyone is, as they tend to be, using open frameworks and generally open systems.
This is hardly the case if you stick to reputable hardware and Linux distros, e.g. Dell servers + CentOS.
The minute you stop paying a cloud vendor, your entire infrastructure vanishes in a cloud of smoke, and if you relied on their "value add" proprietary services, you are left with basically nothing, not even the ability to run your own code, or in some cases even your data.
During the 90s, the big lock-in strategy was thru proprietary file formats. With cloud, exfiltrating one's own data can get real spendy real quick.
But it seems the lock-in is the fit & finish of one's production env. K8s was the new religion at my last gig. But interop & migrating between on-prem, AWS, Google wasn't easy. All the fiddly bits, like managing VPCs, creds and certs, load balancing tweaks, autoscaling rules, backups, ad nauseam.
Maybe things have gotten easier. Maybe we were doing it wrong. (I'm certain that I had no idea what I was doing.) But I couldn't shake the feeling our effort to leave AWS (if we wanted) was gonna fail.
Everyone hated Microsoft for selling software. Everyone hated Microsoft for requiring the world value software monetarily. The world thought programmers were just a bunch of nerds to be taken advantage of. Microsoft said no.
The nerds hated microsoft for making them pay for an operating system.
The nerds got their way. They got free everything.
And now the OSS worls is a convoluted mess. It costs way more to make Ruby on Rails work than just installing IIS and writing some C#.
Now those who said Microsoft was bullying them are the bullies. OSS has become more expensive than the Microsoft equivalent.
No one wants to pay for code at all anymore.
Why couldn't you all see this coming? It was so obvious.
The nerds hated microsoft because microsoft was (and still is in many ways) mandatory.
And they remained that by vendor deals, government contracts etc.
So everybody learned in schools on windows computers and with microsoft office and so on and so on.
Thats the reason, not because of money - it was allways easy to crack windows (I believe intentionally, rather a cracked Windows, contributing to the monopoly, than something else)
> Everyone hated Microsoft for selling software.
Not really. They hated it for abusing their monopoly, and for selling a crappy (at the time at least) desktop OS.
> Everyone hated Microsoft for requiring the world value software monetarily.
Not really. Some believed software must be free as in beer and speech, most didn't care. They certainly didn't hate MS for it.
>The nerds hated microsoft for making them pay for an operating system.
Not really. They hated MS for monopoly abuse, a bad OS, too many viruses and security holes, few ways to look under the hood, and fucking forever with IE 6.
>The nerds got their way. They got free everything.
They just got the server. And a lot of the enterprise server is still MS. The desktop is still 90% MS and 10% macOS (with some insignificant Linux percentage). As for mobile it's 40% iOS and 60% Android, which technically it's still OSS, but not in any sense that matters besides the license (nobody cares much, and it's not developed by some community bazaar style, Google calls all the shots, and the good stuff -google apps- are not Open Source).
>And now the OSS worlds is a convoluted mess.
Not really.
>It costs way more to make Ruby on Rails work than just installing IIS and writing some C#.
Yeah, no. If anything RoR is famous for its ease of development. And it costs nothing (besides programmers, which you need in any case), which is why cash-strapped startups prefer RoR and other FOSS solutions over MS.
>Now those who said Microsoft was bullying them are the bullies.
Non sequitur.
>OSS has become more expensive than the Microsoft equivalent.
Non sequitur. OSS is as free as ever (and better than ever).
>No one wants to pay for code at all anymore.
Less want to pay for code, though billions still buy software and pay for services.
I watched an MS-supporter at a MS 'dev camp' day conference give a lecture on web hosting. His position - restated multiple times - was that hosting with IIS was cheaper than with Apache/Linux, but hosting companies were in cahoots to artificially inflate the cost of IIS hosting, because it let them justify paying linux admins more. Something about you could programmatically script IIS much faster/easier than Linux, and it was cheaper to integrate with Active Directory, but hosting companies wanted to make MS look bad so they charged more (and made a bigger profit) on MS hosting.
Honestly, even typing it out doesn't make much sense. I tried to get him to clarify the position some at the time (this was... probably 2010-2012 time frame) and... I got some nonsense answer. It was truly nonsensical. But he was passionate. I half-expected the word 'illuminati' to pop up in his presentation.
Linux/Apache is "more expensive" for hosting, but companies charge more for Windows because the Linux people at those companies want to drive people away from Microsoft. I think that was the gist of it...
The GUI of their OS at that time is still superior to what linux desktop provides us with today.
But the OS was also full of holes (pre-XP: 95, 98, ME), programs would take down the whole system, updates required tons of restarts, and several other issues (BSOD, etc). People use to make memes against Windows, without even being Linux users: regular Windows users were frustrated.
Linux desktop efforts never managed to get a coherent vision, as every 3-4 years somebody had the idea to remake everything and screw compatibility (Gnome 1 to 2, 2 to 3, KDE 1 to 2 to 3 to 4, etc, lots of critical desktop apps changing for no reason, others abandoned, etc. And don't get me started on the audio drivers situation back then, or how it took until 2019 and we still don't have a solid X replacement thats adopted by everybody).
That's not why Linux Desktop never got traction.
Linux on Server got traction because thousands of companies all around the world managed to profit from it. A whole ecosystem was created.
When Linux on Desktop was born, Microsoft's platform was already an ecosystem all around the world. Hundreds of thousands of companies had developed applications for MS-DOS and were invested in Microsoft's ecosystem and users had already learnt the paradigms.
Clients were already locked-in on Windows.
Also, the situation regarding compatibility on Linux is not that different on Windows.
KDE changed API 4 times in 25 years. Windows also changed a lot. Visual Basic, WinForms, SilverLight, etc. Actually windows abandoned more API's than KDE and Gnome did.
And you can still build a KDE 1 and statically build and ship it (just like apps in Windows) and it will still run fine. [0]
KDE and Gnome have always been largely volunteered projects. Of course ~500 volunteered developers who develop something on their free time cannot compete with a worldwide ecosystem.
That didn't prevent OS X, from a near bankrupt company in 1998-99 with ~2% of PCs in the US, to get to ~10-15% in the same timespan. And that while still introducing a whole new OS in 2000, and changing CPU architecture in 2005.
Plus, what I described has been described as the reason Linux didn't get traction by both Linus and Eric Raymond, for what's worth.
>Also, the situation regarding compatibility on Linux is not that different on Windows. KDE changed API 4 times in 25 years. Windows also changed a lot. Visual Basic, WinForms, SilverLight, etc. Actually windows abandoned more API's than KDE and Gnome did.
It's not even close. MS still supports running even Win95 apps to this day, whatever they used an "abandoned API", so that's a moot point though. Old VB apps still run fine, etc.
KDE and Gnome on the other hand had large incompatible changes that frustrated devs, community, and general public. Lots of devs in disfavor of the old design/techs just left the community, and those are harder to replace without a salary.
Oh my friend you're under-selling Apple.
Apple, the most profitable company in the world, didn't get more than 10-15% of the market share. They didn't break any API's either. And they created their own hardware.
> It's not even close. MS still supports running even Win95 apps to this day, whatever they used an "abandoned API", so that's a moot point though. Old VB apps still run fine, etc.
Linux supports that too. You can still have a KDE1 app running on your Desktop.
Nobody has the incentive to do that. But it's pretty doable technically. Just like it's possible to run a Visual Basic app on Windows.
It is not the same, under Windows 10 you can run a Win95 app as-is since the OS comes with the necessary APIs and these APIs still get updates.
Under Linux not only nobody has the KDE1 libraries installed, but also not any distribution provides them, they rely on other libraries that are incompatible, are a pain to build and unlike Win32 and similar APIs, KDE1 libraries have never seen any new improvements over the years. As an example for the latter, Win32 applications written for Windows 95 can use the extra text editor control functionality introduced after XP despite this functionality not even existing when they were made.
To provide something equivalent, the Linux desktop needs GUI API that will remain backwards compatible in the future (as nothing can be done about the past anyway) while at the same time getting improvements that apply to both new and existing programs.
It’s fast, stable, well laid out and very easy to configure.
It also plays well with both gtk and qt apps.
It took a long time but Linux did catch up it’s just by the time it did desktops are less relevant to average people.
Only if your chance on a "good" compatible laptop. Else all bets are off. The BT/wifi might not work, the video drivers might be problematic, the laptop might not sleep when you close the lid, the fans might blare all the time, and so on.
And even at that, it changes from release to release, whatever the fancy of e.g. Gnome devs strikes them for a non-compatible change, critical functionality is implemented in a ho-hum way, and so on.
And you also need to delve into the minutiae, to know that you should go for "Cinnamon on Fedora" over, e.g. Mint, or Ubuntu (and perhaps the proponents of the latter would say Fedora is shit, and so on).
Problems are always solved by "chose other hardware" and "get another distro".
So there's no need of "Windows Certified"? I had a fair deal of the problems you described on Windows laptops (private and company provided, all certified for Windows, no less).
Linux desktop has its fair share of problems, but Windows runs far from flawless either. I liked Windows when it didn't spy on users but after switching to Linux I was positively surprised. And some stuff I really care for such as incremental remote backups with a decent user interface runs way better on Linux.
While I'm sure people have the problems you describe I haven't had them on laptops in the last decade at least, everything has pretty much worked out the box (except Nvidia which works but requires a kicking sadly).
Gtk and Qt still don't offer a full UI stack with all the Win32 features, guaranteed to be available in all customer desktops.
Basic stuff comparable to DirectDraw, DirectText or a audio stack that doesn't get rebooted every now and then.
SDL is perfectly comparable, except vastly less of a clunky ancient pain in the ass. That is why almost every 2d indie game uses it and not DirectDraw, so to say linux has nothing comparable to DirectDraw is stupid.
Yeah, maybe I should state Direct2D as well to see what your answer would be.
So what is the Linux answer to DirectText? Surely not SDL.
Freetype and Cairo are the direct equivalent of Direct2d and DirectWrite (which is what i suspect you mean by DirectText) which virtually everything on linux uses.
You keep bringing up these arguments as though they are show stoppers and yet people using Linux as a desktop never mention them.
My mum's been on Linux since 12.04 and has never once said "You know what I need DirectText" users don't care how text gets on the screen only that text gets on the screen.
Edit: should mention she doesn't just use it as a glorified browser container she uses libre office, gimp and a few other programs, organises her music and all the stuff an average user her age would do on windows.
To her it is entirely a functional windows replacement, enough that when I upgrade her machine her request was "can I have that minty thing?"
I think arguably a current Linux distro/desktop designed for non-technical users is better for them than Win95 or Win2k was.
Tell me that windows isn't still better for the laymen?
I guess it depends on how you define laymen? I think Ubuntu worked out of the box with everything I've thrown at it in years.
Suddenly it's bad to charge a premium?
What I don't do is to pay premium for the previlege to use keyboards that break down with a single dust particle and screens that get scratched with the laptop's own keyboard, that might not be replaced without the additional Apple Care package.
I'm not sure what you call it when Amazon can pretty much just take your project over when you piss them off.
Mongo is getting EEE'ed.
I'm sure there are a percentage of people operating in the cloud who stick judiciously to an open-source stack, and remain masters of their own future as a result. But it seems more common to spread some open source icing on top of a cake made out of ingredients like Beanstalk, Redshift, S3, Lambda, etc. (Or name your favorite non-Amazon cloud vendor's equivalent.) Those companies may be just as locked into their closed-source software vendor of choice as people were locked into Microsoft or IBM or whoever back in the 1990s.