4 ms·
There’s always been a weird double standard in open source software where it has been seen as ‘reasonable’ to expect the same code to compile and work on everyt
by jameshart 4y ago
There’s always been a weird double standard in open source software where it has been seen as ‘reasonable’ to expect the same code to compile and work on everything from an Arduino to an IBM mainframe, PDP11 to a RISC-V.
..But getting it to work on Windows? What? Do you expect the developers to fork out for Windows licenses? Don’t be ridiculous. Heck, some software is still downright snooty about the absurd idea that it should run cleanly on a Mac.
- cesarb 4y agoPlaying devil's advocate: since the operating system mostly abstracts the underlying hardware, when programming with a high-level language, an IBM mainframe running Linux and a MIPS router running Linux are both closer to an AMD64 desktop running Linux than the same AMD64 desktop running Windows. And Windows is a particularly annoying case, since its native API is so different from the Linux native API (and details leak even when using API wrappers, for instance removing a recently-created file can fail on Windows because some other process like an antivirus grabbed a handle to it). But yes, I agree that a nontrivial fraction of the objections to making software run on Windows (or Mac) is for ideological reasons.
- otabdeveloper4 4y agoMicrosoft has too many billions of dollars to count. Maybe they should be the ones to be held accountable for upholding community standards, not the free volunteers.
- jameshart 4y agoWhich ‘community standards’ do you mean? POSIX?
- otabdeveloper4 4y agoPOSIX is a corporate standard. Community standards are usually not formalized.
- pohl 4y agoWhat's always seemed weird about that, to me, is that I've never been surprised when some lone hacker — who is not the developer of the tool in question — volunteers to use the PA-RISC machine they have access to make something work in that environment. Contrast that with the Windows world, where maybe two thirds of all developers that exist on the planet use Windows, somehow they still can't find one bloke who'll do the same work there. How can the Windows world be so rich with talented professionals but still never seem to find one who'll contribute a patch.
- jameshart 4y agoWell, it’s often not just a ‘patch’, is it? If the software is written in ways that deeply embed assumptions of POSIX-derived concepts then it’s not just popping in a few extra #ifdef WINDOWS blocks.
- rbanffy 4y agoMost software shouldn’t be looking to the OS that closely anyway and anything that has to interact closely with the platform in non-portable ways should be, in an ideal world, separated into its own library so it never needs to be ported to anything other than the platform it calls home.
- rbanffy 4y ago> How can the Windows world be so rich with talented professionals but still never seem to find one who'll contribute a patch. The obvious explanation is that the set of Windows users that are also competent and willing to work on these projects is almost empty.
- jameshart 4y ago“Why will nobody from the Windows community contribute to our software? Is it because I said that my baseline assumption is that they’re all incompetent?”
- 4y ago
- msm_ 4y agoEveryone is welcome to report issues in my projects. I'm allowed to pick which ones I work on. I use Linux, so issues reproducible on Linux have priority. RISC-V sounds fun, I'd probably took a look if I could reproduce the issue with qemu. I don't find Windows fun, and I doubt I would fix any Windows-speficic issue myself (unless it's something trivial, like newline handling). Pull requests are a different beast, Windows-users are always welcome to fix the issues they face and submit their improvements back.
- jameshart 4y agoObviously I get that something that is written in ‘portable C’ for Linux-flavored POSIX plus GNU tools is going to be harder to get working on Windows than on m68k Linux. That’s not in dispute. It’s more the way that people act like targeting Linux-flavored POSIX with ‘portable C’ both A) is the be-all and end-all of portability and B) entitles people who have got Linux-flavored POSIX environments and C tool chains up and running in arbitrarily weird contexts to full support. There are other environments. Some of them are very widely used. Acting bemused by the idea someone would want to run your software in somewhere other than a Linux context, while being unsurprised that people want to take that Linux context and run it in arbitrarily weird ways is the double standard I am confused by. Obviously it’s not universal - there are plenty of open source projects that take different paths and philosophies towards portability - think of Python, say, or Firefox. But there is a persistent attitude that because Linux can run ‘anywhere’, supporting Linux is portability.
- rbanffy 4y agoTo be fair, software written against Unix-flavored POSIX runs on almost every commercially supported operating system out there, from Linux and QNX, macOS and all the way to z/OS, which is a certified UNIX operating system (incredibly). The only significantly used OS that’s not there is Windows. Also, IBMi, Unisys’s MCP and Atos’s GCOS and GECOS (surprisingly still supported). And OpenVMS too.
- jameshart 4y ago