Operating System references

Last week I noticed I was still on ubuntu 18.04. So I forced a command like upgrade to 20.04. Except I’m actually running xbuntu. It didn’t like it. My longtime friend and companion is spending the weekend together helping it feel better. Now that 20.04 is using gnome (I think) I was going to give straight ubuntu a shot. So while I clear off a onedrive and back up my data fir a full wipe…

What are the good operating systems out there.

I’ve been a xubuntu user for quite a while. I’m running 20.04 and happy with it. I didn’t do an upgrade though. Fresh install.

I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

In all seriousness though: Debian.

1 Like

Why do you guys use those operating systems rather than windows or Apple OS?

There are LOTS of reasons, and the relative importance of each of them is going to vary person-to-person, of course. For me, some of the biggest reasons are the open-source ethos and underlying philosophy, trust and privacy, convenience, customization, resource requirements, and cost.

You asked specifically about the OS, but much of what I’ll write applies to applications as well. I’ll try to just stick to the OS though.

  • Open-source ethos - the Linux kernel itself, as well as many components of the operating system and other apps, is licensed under the GPL, which is sort of the antithesis to a copyright (people even refer to GPL and similar licenses as “copyleft”). Under the GPL, you’re free to use the software for literally anything you want. It’s “free as in freedom”, meaning you can do whatever you want with it. Besides freedom, the GPL and similar licenses also comes with some obligations. Notably, if you modify the source code and distribute software based on those mods, you must also make your modified source code available to anyone who asks for it (and it too must be licensed under the same or a compatible license). This makes the development/evolution of the software “viral” in a way.
    • For me, this one reason is enough, and I probably haven’t done it justice. If you really want to dive into the deep end, you could start with the GNU Manifesto.
    • It’s worth noting that a lot of maker culture explosion that has led to the wider adoption of makerspaces and hackerspaces is built on / borne from the open-source ethos as made popular by the FOSS movement.
    • Importantly, the free-as-in-freedom also gives me the liberty to run Linux on anything I want. My desktop, my laptop, my server, my cell phone, whatever. Doesn’t matter if it’s an Intel process, AMD, ARM, whatever - and it doesn’t matter where or when I bought that hardware. Mac users are only allowed to run MacOS on Apple’s hardware. Mac users are locked-in to Apple hardware and they pay heavily for the “privilege”.
  • Cost - the previous bullet remarks on how Linux is “free as in freedom”, but it’s also “free as in beer” - meaning I don’t have to give anyone money for it, or keep track of a “key” or whatever. To be clear, there are commercial versions of Linux as the free-as-in-Freedom bit means people are also free to sell open-source software, but all of the popular versions of Linux can be acquired at no cost. And even the versions that will take your money are generally charging for support - you can still download and use it for free.
  • Trust and privacy - these two things really deserve their own bullets, but really each of these bullets deserve their own thesis, so whatever. Anyway, because Linux is open-source, anybody can inspect the source and see for themselves exactly what the software is actually doing. It might feel like that’s only useful if you know the programming language, but the real power here is that everybody has access to the source code. Entire teams of people who are way smarter than me audit/review the code, and that provides me with a sense of security. It’s nice to know that I can do the inspection whenever I want, but even nicer to know that loads and loads of other, smarter people are already doing exactly that - including people who do NOT have a financial incentive to lie about it. There’s no possible way to know exactly what Windows or MacOS are doing under the hood, but they definitely do collect and harvest your data, and even if you find a setting to turn some of that off, can you really be sure that it’s off?
    • Plus, Windows comes with a bunch of bloatware that can be difficult or impossible to remove. I’ve never seen a distribution of Linux that ships with Candy Crush out of the box - and if there IS any bundled software that I don’t want on Linux, it’s very easy to remove.
  • Convenience - lots of things are just easier on Linux. Other things are less-easy. For your average user, there’s probably very little or no difference in ease-of-use, but for the workflows related to my specific work and hobbies (e.g., software development), Linux as a whole is MUCH easier.
    • One thing on Linux that is pretty much universally easier is the integration of package managers for installing and maintaining software. If you want new software on Windows, you google for it, download it, and run the installer. Hopefully you downloaded it from the correct website and didn’t accidentally install some malware or the “Ask Jeeves” toolbar, or whatever nonsense. And if the software has updates, maybe it has something builtin to check for that and download it for you, but probably not…
      On Linux, the community maintains a repository of software which provides to users a single place and the means to acquire (and update) pretty much any piece of software that I want. Everything is just a few keystrokes or a couple of clicks away, and I never have to worry about accidentally downloading a virus or something. Every piece of software in the repository has been vetted, and the repository is integrated directly with my system - no need to Google anything or worry about shady websites. Plus, EVERYTHING on my system is kept up-to-date through this one single mechanism.
  • Customization and options - I can make my system behave, look, and feel exactly how I want. The number of available options (thanks to the open-source ethos) means that can pretty much always achieve this without touching any code at all. Like the Windows look-and-feel? Linux can do that. Like the MacOS look-and-feel? Linux can do that too. Don’t like either? No problem - it can be made to fit anybody’s needs.
  • Resources - Linux runs on everything. If someone pulls out a computer from 2001 that won’t boot Windows anymore, I can throw a fully functional version of Linux on a god damn floppy disk and boot that thing up. If you distribute an app on Windows and make use of some third-party software library, you (typically) will need to distribute a .DLL for that library with your app. If you have 15 apps on your PC that all use that same library, they’ll each come with their own copy. The Linux approach makes this a total non-issue. It’s not a perfect solution either, but worlds better for resources. If you look at minimum requirements, Windows requires 4x as much RAM and 2x as much disk space for the base system, and the difference compounds as you install more software. Anecdotally, Linux is snappier for performance. There are probably benchmarks you can look up if you want some empirical data.

I could go on, and I certainly would like to, but this is already twice as long as I expected it would be when I started, and probably four times longer than anybody is going to bother reading lol

If you have more specific questions, I’m more than happy to dive deeper with anyone :slight_smile:

2 Likes

Well, I was going to say that whenever I have to use the operating systems from Redmond or Cupertino, I feel some combination of angry, sad, and dirty, but you did a pretty good job there @dom. I have to say, though, that when you did your little Richard Stallman rant there, you were the first person in the thread to even use the word Linux, so not sure what you were talking about :stuck_out_tongue_winking_eye:

Seriously though, for me, many of the things @dom mentions is what got me started, but ultimately, after 20+ years of using some form of Linux as my primary operating system, anything else feels weird.

1 Like

For the uninitiated: the Stallman quote I used in my first reply regarding “Linux” vs “GNU/Linux” is a copypasta that turned into a very popular meme in a very unpopular corner of the internet. It’s basically a bad joke that few people understand and even fewer people find funny. @james.a.seymour is usually in charge of making bad jokes, but since he started this thread I thought I’d make my own contribution :-p

1 Like

That’s really interesting. I appriciate the well written reply! I knew about open source and really appreciate the theory behind it. Would normal programs and peripherals work on Linux? I always assumed that they were built specifically for windows or Mac? It seems like I’ve heard that you would run windows as a program within Linux or something similar to launch windows software.

I have some experience with open source. WordPress, blender, etc. There was a program calked apophysis I used to love playing with. It was really mind blowing once you started understanding the mathematical principles behind it. It’s a fractal generating program but way further than the normal fractal images you might be thinking of.

Mostly yes - some things work even better in Linux, but a few things don’t work at all.

For software, it somewhat depends on who makes it. For open-source apps, especially popular ones (Blender, Firefox, Inkscape, GIMP, Audacity, etc., etc., etc.), there are versions made specifically for Linux. Many of them are developed in Linux and then ported to Windows or Mac. But even for software that isn’t open-source and the developers haven’t produced a Linux version, many of them can run just fine in Linux thanks to a compatibility layer called WINE. In fact, some very old Windows and DOS software - which doesn’t even run in modern versions of Windows, run just fine in Linux. I’ve seen benchmarks of modern games made for Windows only that actually have a higher FPS in Linux through WINE. If you’re curious about any specific piece of software, you can search the Wine database to see how well it does or doesn’t work. Failing everything else, you can always run a Windows or Mac VM in Linux, but I’ve never actually encountered that scenario myself.

Still, there are companies that don’t make their software available on Linux and even Wine can’t make it run properly. I like to direct people to https://alternativeto.net/, which can help you find an open-source alternative to just about anything.

Hardware is the same - it somewhat depends on who makes it. Ideally, a device manufacturer will produce drivers (or in Linux land: kernel modules) for their hardware, and a lot of them do. Even better are the ones who make their drivers open-source. Some make drivers but don’t release the source code (like NVIDIA), and others don’t make Linux drivers at all. WIFI drivers used to be a HUGE headache. Thankfully, the Linux community is very talented and very determined. If you have a peripheral that isn’t completely obscure, chances are pretty good that someone(s) has reversed engineered the device and it’ll work for you right away. There really aren’t words to describe how amazing the community is in this regard. Like the Wine developers, these people are usually working in total darkness - with no data or documentation whatsoever from the actual producer of the device or software.

1 Like

Dom is eloquent as usual. The only thin I would take issue with is the part where he said people who are smarter than him review the code.

That’s only sort of true. There is a statistical probability that someone on the team has a generalized higher intelligence than Dom. But that’s not important. Its peer reviewed by more experienced programmers. If you wrote a methodology that works eloquently for your machine and submitted it to ubuntu for the next release, it might get rejected because you used a dependency that not all ubuntu users have. Not your fault really you just didn’t know that. But they have made a similar mistake and know to look for it.

You get that in industry as well. Noob engineers are expected to have at least one board review before sending the gerbers to be fabbed. Usually more, I have dozens of boards under my belt and I’ll send a complex board to a buddy for a review before I order.

The reason I bring this up is because its people like us that make that software go. If you want to kick the blender project a few bucks for pizza, great! But if you go to blender.org/get-involved/ there is documentation to be written, code development to be done, education to be dispersed. Most large Foss programs are this way. For Ubuntu they use a discourse, KiCad EDA has a Docs team and a developer team.

Get yourself a raspberry pi and dig in to the software and truly break it. That’s actually why I had to reload software. James was due for his ego breaker.

1 Like

I’ve always wondered about the creators of open source. Blender is taking on large and expensive software packages and competing better in a lot of ways. Its being recommended to younger/entry people everywhere, it usually has new features available before the other guys release theirs, and it’s free, making it way more available. I haven’t used it in over 10 years but, I mean heck if I remember back then it had its own fluid dynamics built in when at the time that was being marketed through a 3rd party for like $5,000. Blender had it free! They were first with ambient occlusion and global illumination in rendering. Blender was first to get caustic effects looking good. Fascinating that it’s a spontaneous system and free in every conceivable way.

2 Likes

@james.a.seymour I know dom is very intelligent! I kind of feel like I’m dumbing down your conversion tbh. No way I’m signing up to contribute programming for any open source thing.

Lol you aren’t dumbing down anything. Contributing is just like anything else. You will screw something up. But after awhile you’ll get better and better. Then eventually you would be reviewing other new people’s submissions.

My first several leather projects were atrocious. Using the wrong kind of leather, stitching was all crooked and uneven, cuts were all wrong. But with practice and patience I’m to a point where I can comfortably sell work. I still screw up. I have a knife sheath I’m working on that I totally forgot to add a strap and now I have to figure out what to do about it. But I’m much much better at it.

I don’t consider most people stupid. Some people have auditory learning styles, some are visual, I’m a kinesthetic learner I have to do it a few times. You have skillsets I don’t, and you probably infer a much higher capability on others than you do on yourself.

Sall good man…

I’m gonna chime in with the unpopular opinion here and just say Windows is great. I love the open-source ethos and agree with Dom on that. But as a long time Linux and GIMP user (my first PC I built myself in 2004 and had it triple-booting windows and 2 flavors of Linux) I have pretty happily abandoned Linux entirely in favor of something I don’t have to fiddle with and tweak incessantly to get it to work.

There’s still a lot of use cases for Linux like embedded systems and I still keep a dual boot around for “just in case” though.

Just kidding

Actually windows isn’t a “wrong” choice. I keep a windows box so that I can remote in to work. I use it for Discord when I’m playing dnd. I even recommend apple products to certain people who aren’t as tech savvy because it makes it really simple to connect together. You aren’t wrong for preferring windows, I can say I think it is 10x more difficult to develop software in windows than in Linux. Even using VI.

I don’t think that’s unpopular at all. Windows, MacOS, and Linux (in all of its flavors) are all great, but in different ways. For me, some of the things that make Linux great significantly outweigh the things that make Windows or MacOS great, and the cons of Linux are trivial or unimportant to me compared to the cons of Windows or MacOS.

I didn’t bother making a case for Windows, because I’m reasonably certain James is already exceedingly familiar with it, and I already wasted a bunch of space writing about Linux lol

While we’re talking about non-Linux options though, let me waste more space to mention some other interesting OS’s that you should check out (mostly just for fun though). Some of these I’ve ran on actual hardware, some I’ve ran in a VM, and some I’ve only loosely followed because they’re interesting.

  • FreeBSD - it’s like Linux, but with an even more (!) permissible license
  • Haiku - a BeOS clone
  • ReactOS - it’s binary-compatible with Windows. It’s sorta like the Wine project, but way more ambitious
  • MenuetOS and Kolibri - an OS written entirely in assembly - it has a realtime kernel, graphical desktop, network support, includes some games, and fits entirely on a 3.5" floppy
  • TempleOS - God’s operating system. Be warned: this is a very deep rabbit hole

I think you’ll find that distros have come a long, long way over those 16 years. The most popular distros today are just as easy to use and configure as Windows - maybe even easier? From the top of my head, Pop!_OS, Mint, and Ubuntu come to mind as distros that seem to really focus on an easy out-of-the-box experience.

When I was younger and had the energy for it, I used to love tweaking, breaking, and fixing my system. Recompiling the kernel with different options, totally borking my X11 config, etc. It was fun and I learned a lot. Nowadays though, I don’t really have the energy or motivation for that, and it’s totally unnecessary now. I run Debian w/ KDE Plasma, and it works perfectly right out of the box. I might spend a couple of minutes picking a wallpaper and arranging my desktop, but I don’t have to futz around with dotfiles or anything crazy. It just works. Plus, it never reboots itself to install updates when I’m in the middle of something important :stuck_out_tongue_winking_eye:

Discord has a native Linux client and a web client!

I KNOW!

but I run roll 20 on my linux box and do all my google full rule mongering there, on the windows box I google pictures of the monsters and paste them into discord.

AN ANGY THIS COMES BARRELING AT YOU ROLL FOR INITITIVE

Warrior MISS MISS
paladin CRITICAL MISS 1D6 DAMAGE IS PRONE
Monster BITE CLAW!
Wizard hol up a sec… I’m debating fireball vs lightning bolt. I wonder if it’s too late to charm…

1 Like

It does but…

I bought an iPad pro a year ago for the fact that it had been going around artist circles how amazing it is. And it truly is… for art. The apple pencil and lack of parallax (the distance between the surface of the screen and the actual led display below) its amazing. There is literally zero parallax. It looks like drawing on the surface of the screen.

The problem is Apple iOS is so closed off from everything. All installations of everything has to come from the app store. And I know they had to have put effort in to making it difficult to use 3rd party file and cloud storage. It took a while to figure out how to get a file back and forth from pc to ipad using Dropbox. The whole process feels like a big workaround. I’m glad that software I use is getting perfect 100/100 ports from pc to iPad. And I truly love working on it. But they sure pull out all the stops trying to suck you into their "ecosystem"by “solving” problems they created.

2 Likes

lol I have both windows and MacOS… and I used to do some UNIX a long time ago…

1 Like

It certainly used to be, and that’s the primary reason I used Linux. Trying to get a full web stack going on Windows was irritating at best. But that’s come a long way, most of the time running the installer is all I need.

Ah, found your problem. :upside_down_face:

Oh they definitely have, especially in terms of UI/UX. I prefer Mint over Ubuntu, but if I need something “headless” for a server then Debian and CentOS are both good. I don’t fiddle around with the interface much, as long as all the buttons are there I can adapt to whatever.
It’s the functional things like, not being able to use both WiFi and Ethernet on my laptop without hand editing files that say “Automatically generated, do not modify” because the driver for Ethernet blacklists the driver for WiFi and vice versa. Or the last time I tried to do Android development taking an hour to track down all the JDK errors before I could compile a Hello World and another hour to figure out why adb couldn’t find my phone to push the .apk.

And don’t get me STARTED on GPU drivers, especially if your cards don’t match.

1 Like