Recently, I saw myself forced to use a Mac. And then, finally things became clear: why I don’t like macs, and why people do like it, and why Linux is not popular.

It is quite simple, honestly – closed-source software works incredibly well with other closed-source software, and incredibly bad with any open standard.

It’s the equivalent of creating a comfortable city, with filtered air and water, but that somehow makes you allergic to natural air and water. And then, they convince you that natural air is bad for you.

So, let’s dive a little on my experience with Mac – remember, I use Linux most of the time, my wife also uses Linux (by choice, by the way, although basically nobody believe me when I say that, and no, she’s not a developer or a technical person in any way), so my whole life is somehow based on open standards. So, the first thing I tried on my Mac was to start some open standard services – OpenSSH, VNC, for remote access…

SSH

SSH works quite well in Mac… well, except that it disconnects me from time to time. I tried some ways to solve this, they all got mixed results. I also had problems with the shell – it basically started my session on a different shell than my Terminal started, but somehow I was able to fix this (don’t ask me how).

VNC

VNC is another story – it’s simply atrocious on Mac. I have a way worse performance than I had by installing TigerVNC Server on a Scaleway machine.

Yes, that’s right: accessing a machine from the other side of the world (for me), via my WiFi connection, is faster than accessing my machine that’s literally on my side. Mac’s VNC server doesn’t repaint the screen when you don’t do a “big enough” change; it also, somehow, misses some repaints (so, for example, dragging a window is a horrible experience because you quite literally never know if the windows is in the right position or not). Typing is basically impossible, because sometimes it doesn’t register up to three letters, when it mysteriously repaints everything.

It also sometimes misses clicks and keystrokes – none of these problems I had with my Scaleway experience. It was so bad that I basically used as a “multiplexer” – meaning that I looked at the Mac’s monitor while I interacted with VNC.

I am 100% certain that none of these problems happen if you use whatever proprietary service Mac wants you to use to share things. I am sure that their service is good and fast, but the thing is – VNC is too. The fact that people think VNC is a bad protocol is basically because it’s poorly implemented by billionaire companies that spend most of their time thinking how they can make the experience worse with the standard protocols.

Think about it – they can specify, implement, and promote a closed protocol for their remote access, but can’t adapt (yes, ADAPT – the source is free for anyone to read and port) a software to use in their system?

Calendars

There’s an open standard for calendars. And yes, nobody uses it – but surprisingly, the Apple calendar works just fine with any closed format, whereas in Linux there’s basically a couple of programs, all needing plug-ins that are outdated by sometimes years, some that offer mixed results, some offer no result at all for closed protocols.

The situation is the same with e-mail – there’s POP3, Imap, SMTP – none of these work well with the big e-mail providers. But again, Mac programs work just fine with any closed protocol you put in.

Conclusion?

Is this an “old man yelling at the clouds”? Probably is. But it’s still true, nonetheless – GitHub, the biggest host of open-source code in the world, have an “official desktop app” that only is supported on Windows and Mac – no Linux. If you download it, you agree with what they call the Open Source Applications Terms which is…. well, a proprietary license with basically no open-source component at all. On their documentation, they mention how to support your editor of choice, they offer 21 choices – only 3 or 4 are free (it depends on if you call “Android Studio” free or not – it’s quite hard to find the license, honestly).

It’s also hard to understand Android’s SDK license itself – it says that you are not free to develop an app for other platforms that are not Android – including “non-compatible implementations of Android”, whatever that means. The situation is worse on iOS – you can only use XCode to develop iOS things.

In fact, the whole situation on Mac is bad – if you develop an open-source software, it doesn’t matter that you don’t charge anything for it – you need to pay Apple USD 99.00 per year, otherwise the overlords will say that you app is corrupted (it can be override by a command from the terminal, but let’s be clear, who is going to do that?). So… again, locked outside of freedom – you have to pay to offer “normal air” to people inside the walled gardens.

Let’s not forget the whole GitHub fiasco of scrapping all public repos for AI stuff, then locking all that knowledge behind a paid service; or OpenAI doing the same. Or the fact you can only publish VSCode plug-ins in their default marketplace if they are to be used inside VSCode – compatible versions, even those built from the same Microsoft repository are forbidden to connect to the plug-in backend; or the fact that some plug-ins need to call an external, cloud-based service that have all the intelligence to actually do something and these are offered as “open-source plug-ins” even though the open-source part is, basically, a “dumb terminal”; others, like the Python extension offer some support but to actually get all the good support you have to install Pylance, which is closed and can only be used inside VSCode (not VSCodium). So, again – you can install the Pylance extension on editors built from the same source than VSCode, but you can’t actually use it on these editors.

Remember when Microsoft used to detect if you were not running their version of DOS and would display an warning so that, when you had freezes and locks on Windows (which you would have, for the next decades at least, on multiple versions of Windows) you would blame the DOS version, and not Windows itself? Nothing really changed since then, except that this time they found a legal breach to avoid you running their software on a different platform than the “blessed” one. Google and Apple are basically doing the same.

In the end, if you stay on the open-source world, everything works. If you stay on the closed-source world, everything also works. But you can’t mix both – and then, people that work on Linux see others’ as crazy sheep-like people, blindly following their leader, sometimes even with chains on their necks, and they can’t see; and people on Windows/Mac see Linux users as caveman that don’t bath, that just use the system because it makes them feel superior even though they are basically savages that can’t interact with the “civilized world”.

We somehow need to break this cycle. Unfortunately, I don’t think open-source is winning; but honestly, in this case, I’ll stay on the losing team.