Why would anyone do that to themselves? That's like seeking out a disease.
That's a deal killer.
Is there —really— a legitimate [a necessary] reason to
require (...to rely upon components of) Windows 10?
Is it really worth it (presumably) just to use some snippet of Win10 library code? Or is there more to it?
*Serious question; it's not intended as a snide comment. I've a genuine interest... I mean even Unity3D and Unreal 4 don't require Windows 10.
Okay, I'm giving you a serious answer then:
Most of us devs who use Windows are on Windows 10, including me (Win10 and latest macOS here), so we are testing on Win 10 only when it comes to the Windows side of things. But I was wrong about compatibility with earlier Windows versions before, and it seems it's actually running OK on Win7 too, and some earlier versions even on Vista, as reported by someone from the community. We have updated the requirements on our
downloads page accordingly, and I'll make edits to the original post.
Note that Staging also runs on Linux and macOS; you have a lot of "freedom" as a Linux user in choosing your Linux distro if that's what you're after.
This is a forward-looking project with the aim of preserving the "DOS experience" for future generations. That means the ability to run on modern OSes; support for legacy OSes is out of scope. Also note none of us is paid to do this, we work on DOSBox Staging in our free time. Naturally, our time and energy is finite, and we want to concentrate our efforts where it matters most, which is being able to run DOSBox Staging on the most commonly used operating systems of the day.
On the technical side of things, no software project exists in isolation, we're using a lot of libraries just like everybody else (SDL2, libmt32, libfluidsynth, speex, glib, iir, ogg, opus, zlib, zmbv, and many others). These form a dependency chain, and most of the time if a *single* dependency drops support for legacy OS version X, we are forced with the following choice: do we also drop support for OS version X, or take the burden of maintaining that dependency ourselves so it still works on legacy OS versions, taking time aways from our main focus, which is DOSBox development? Clearly, taking on this extra burden is not feasible with a small team of volunteers like ours.
Also, if 90% of the world is on Windows 10 (according to the Steam user stats, actually a lot more, nearing 100%), do we want to double our efforts just to support a less than 10% of our users? We simply don't have the resources and need to prioritise, which means narrowing down the project's scope to the most common OSes. There's nothing ideological or philosophical about it, it's just the everyday reality of the situation that basically decides it for us.
But the DOSBox core code per se doesn't require any particular OS, it can be compiled on pretty much anything, even on non-Intel architectures (naturally, as we're running fine on ARM), or big-endian Motorola PPC processors. The problem is the library dependencies, which are an important part of the whole package, of course.
Specifically, I think libfluidsynth has a dependency on glib, which has recently dropped Win7 support, but the exact details are a bit unclear to me as I haven't worked in that particular area. However, users have reported our latest version still works on Win7, so that's good and settles the issue (I *think* they technically only dropped Vista support but we may have misunderstood, but don't quote me on that...)
Personally, I have no problems with Win10, and I actually vastly prefer it over earlier versions because of the WSL Linux emulation layer. Now I can run all my Linux tools in Windows natively, without the need for a virtual machine -- big improvement in my day-to-day life. It's a polished OS that works really well for my needs, be it gaming, coding, audio work, etc.
Unity3D, Unreal 4 -- having never used them, I don't know what kind of dependencies they have. Also, please don't compare those projects with hundreds of people on the payroll to us. Surely we could achieve similar goals (e.g., Windows 7 support for the indefinite future, no matter what) if we had a dedicated team for that specific purpose, working on it full-time.