Magmarock: Thanks for taking the time to read that. However, Windows doesn’t suffer from this problem anywhere near as much because of it’s API’s. I’m talking about Dot Net, Visual Studio and Direct X. These API’s work by stacking themselves, and over the years Microsoft has improved this. For example, if you want to play something that was made with VC 2013 than you need to install the VC++ distributable 2013. However if it was made using VC 2015 you only need to install distributable 2020 because it includes 2015 and 2016.
I will defer to your Windows knowledge in this matter, you know more than I do (I stopped using Windows before 2010).
Magmarock: Another reason Windows has high compatibility is due to the way Microsoft changes things, or to be more precise the way they don’t. Let’s compare Windows 8 to Ubuntu 21. If you use Ubuntu 21 you may notice that it no longer uses the Unity interface (thank god) but you may have also noticed that a few gog games no longer work on it. Well, that’s one of the reasons why. There are too many changes since Ubuntu 18 and the games got left behind. They won’t even be able to work on 18 for much longer because eventually the repositories will be taken offline and you’ll no longer be able to download the dependencies needed to make the games work.
Well, all OSes transition somewhere. I can't talk about recent history, but I can tell you that transitioning games from Windows 95 to Windows 98 to Windows 2000 to Windows XP wasn't exactly smooth sailing. I can't say I was impressed.
Ubuntu took a misstep with Unity, but there was a purpose behind it: They wanted a unified GUI for desktop and mobile. Once that didn't pan out, they moved back to tools with more community behind them. Going back was distruptive, it was the right long term decision.
Magmarock: Linux doesn’t let old programs hold it back which means it works better, but also means less things work on it.
Depends what you are talking about.
A lot of the system level software and bedrock tooling is rock-solid and has a strong community behind it (that is not tied to the fate/decision of a single company).
You are also fully in control about what to update and when. And If you have some resources and are desperate, you can fork.
You can take any version of software that is in the open ecosystem and maintain it if you have to. Legally, you cannot do that with Windows. Providing support for a legacy version of Windows is a non-starter. You simply cannot touch the software.
But yes, the most recent version for a lot of projects move fast. If you are not comfortable being at the forefront, don't update right away?
Admitedly, that works better on servers than end-user desktop software who want things to work with the latest version off Ubuntu/Mint/Pop OS/whatnot. In that layer, the Linux world is still fragmened (and yet, has more hope of bridging a universal standard than closed commercial platforms that will simply not legally allow it... their idea of universal standard is world domination).
Magmarock: The mistake you’re making isn’t begrudging people for their lack of knowledge, but rather presuming that
you know more than than they do.
When you say things like:
Yes, we live in a culture where everyone can Google stuff up and that somehow makes them an expert.
How dare do people with years of experience in a field dare to claim that their hard work and dedication gives them more insight in their field of expertize. How arrogant.
Or maybe the real arrogance is assuming that knowledge is flat, that everybody can know anything without investing any time and that somehow, your knowledge of a particular topic is on equal footing with someone who dedicated a lot more of their time at it than you (the general you, not *you* you).
Magmarock: It comes off as condescending. Even if you do know more; no one is going to want deal with you after been spoken to like that. Perhaps you genuinely are unaware of how this comes off as but it’s not a good look and it’s very common among Linux users.
Or you know, we could just accept that we are not perfect, that we will all ruffle each others feathers a little and short of being downright insulting (ie, calling each other idiots and whatnot), maybe we should gracefully let a few minor details slide and other people will similarly return the favor.
Just a crazy idea to get along better.
Magmarock: Software developers are the focus of this conversation. It’s why I started it. You do need to cater to end uses but you also need to cater to developers well. Linux doesn’t really do this, and that’s what I wanted to address.
I disagree there. I think were Linux really err is in not catering enough to non-technical end-users.
It doesn't cater enough to developers in the areas where they themselves are non-technical end-users.
Magmarock: You’re forgetting that Sony pay them and also send them development kits.
I worked on software for the PSP years back and I can tell you, I did not enjoy working with their "development kit". I kind of wish they had made it closer to developing for windows, like Microsoft did for the Xbox (that was circa 2007 I believe).
They also didn't have full software emulation for their device which meant I had to get up from my station and test on a PSP regularly which was annoying. A few years before that, I developed for some mobile phones with full emulation and the development velocity was a lot faster.
Admittedly, at some point, you do need to test on the actual device, but developers work on a PC, not a console so the more you allow them to do things on their PC without context-switching, the better.
Magmarock: #1 They streamlined the development for both consoles and PC. Porting games from the xbox to the PC has never been easier. More than twice the consumer base with less than half the time or expense.
There is an important caviat here: Windows and Xbox are both from Microsoft. As I said, very cohesive experience, very nice, but as a dev, I'm not interesting in investing my valuable time in proprietary walled gardens.
I want to be able to cater to as many devices as possible with as little work as possible.
The closest we've come to this are web browsers, which rely on standards, across corporations.
Magmarock: You can’t expect developers to just make you stuff you free. Even if you buy games that are ported to Linux, it often doesn’t cover the cost price. So it ends up costing developers more money to produce a game for Lniux than they’ll make back.
Just because it doesn't have the community on the desktop. That's it.
Its VERY profitable and dominates in most other domains of software development.
From an economical perspective, it makes a lot of sense to pool your efforts globally together with open-source.
Just solve the darn problem already for everyone, free of charge and let the world move on to bigger and better things.
Everybody needs a kernel. You can rely on a kernel from a specific company that is proprietary (and have to ask for their blessing for everything you want to do with that kernel) or you can pull your resources together world-wide and have an open kernel that anybody can adapt to their needs (and surprise, that kernel dominates, because anybody can take it and adapt it without asking permission).
Similarly, everybody needs a programming language (which tend to follow the open-source model more often than not), most people needs a web server, and etc, etc.
The only place where the proprietary incentive really makes sense is at the very top layer: The application software which is the real business differentiatior, which is not generic and which anybody can't just reuse for their project.
All the building blocs underneat that should be open and widely available so that developers can focus the bulk of their resources targeting end users: Not giving away 30% of their profit to the apple Platform, not ripping their hair out because Microsoft stopped providing support for some old version of Windows and they can no longer legally support it without Microsoft's consent and certainly not focusing tons of energy becoming expert in a proprietary platform that will ultimately only target part of your userbase (I'm looking at all the consoles out there, though I'll have to partially exclude Nintendo, because they added some genuine value with their innovative controllers).
I'm not interested in being a Microsoft, Apple, Sony of whatever corp float your boat dev. I work to maximize the difference I'm making in people's lives and I'm dedicated to providing the best experience with the software I write to as many people as I can. This is what software development should be about.