Shaping the future of Clear Linux - Survey results

Hey everyone,
Better late than never. I have an exciting part of the analysis, mostly focused on the quantitative side of the survey, and I thought it would be nice to share as it goes. There will be a final report shortly, but we already have some interesting stuff for discussion.



Distros
The results were expected, but somehow surprising with Ubuntu and Arch Linux featuring the top of the list. They are so different that it makes me wonder: Is this relates to your workflow? Compatibility with your frameworks? Use cases? What do you guys think?




And above, a chart removing all distros with less the three mentions, as they rep[resent less than 1% of the total responses.



Roles, experience and distro usage
In the original survey, we listed for participants to choose the options from Software engineer to Program manager. People who did find themselves on the list had the option to fill out as “other.” The options listed from Network / System Admin to Hobbyist, are a categorization of the roles listed as others.







Development tools

IDEs
Starting with IDEs.
It was interesting to see the adoption of IDEs in the workflow. What are your thoughts about this chart? Why do you think VSC has this massive adoption? What makes an IDE compelling to you?

Compilers and interpreters
GCC, which means, a lot of people are programming mostly in C right?

Debuggers
Although these tools are part of the same group, they behave differently.
What is your usage of a Debugger like GDB? Why not use the one available with your IDE?

Text editors
Maybe there was a war once.

Terminal


Browser battle

Utilities

Familiarity with programming languages


7 Likes

By the way, this is the original post with the survey (for the record. It is not open anymore).

2 Likes

Thank you, everyone, who participated. And, thank you @Fabricio_Novak for pulling all this together. It is a fantastic result. I can see good things coming from that.

2 Likes

I was waiting for this… awesome :+1:

2 Likes

We still have data to go through. A lot of things can be automated, but the real stuff comes from the open text box where participants put their thoughts. And this has to be done one by one.

2 Likes

Ubuntu is so popular simply because for a long time it was the recommended distro for newbies. Also, lots of other distros (such as Linux Mint) are based off of Ubuntu. I’m personally sad it’s not Fedora, because it’s much better supported, and has far better QA and more developers (though I admit, Fedora may be a bit more complicated for newbies because “non free” stuff like some codecs, etc, are not shipped by default).

Archlinux (disclaimer: I’m an Archlinux user) has advantage of being an amazing distro for development. It has latest packages (so you rarely think “damn, I need a newer package to build master branch of that app”), it has very easy to use system for assembling packages from source code, and it has AUR user repo with gigantic collection of packages (and the AUR packages are much easier to support because they’re distributed in non-binary form).

Nope. GCC is GNU Compiler Collection. Among GCC-supported languages I, for one, prefer using C++(17), and I dislike C. Actually, I dislike C++ either, just a lot less than C. I’d prefer using Rust. At work I use c++17.

Worth noting though that I may contribute to a project I like, disregarding the language it’s written in.

Lots of things are hard to represent with GUI. A typical example: making a list of commands to be executed when a breakpoint hit.

That said, gdb could’ve been much better. Autocompletion could be nice, and also more sane language for commands (I dunno, something Haskell-like probably. Or at least bash-like) wanted. The problem with the current one is that you can’t, for example, pipe an output of a command to grep-like function (there’re workarounds with Python, but it should work OOTB). Also it has bugs like this one or that one.

2 Likes

Please note: apparently, many people couldn’t complete your survey because of a bug.

Thanks for the answer. Lots of interesting stuff.
In your opinion, do you still think Ubuntu is still the best option for less experienced developers and end-users? I see lots of Software Architects, which are on the more experienced side of the spectrum using Ubuntu.

In your opinion, do you still think Ubuntu is still the best option for less experienced developers and end-users?

First, disclaimer: I don’t have a good grasp on the derivatives currently around, so there may be good options besides what I mention.

I think Ubuntu (or distros based upon it, e.g. Mint) may be a good distro for peoples who barely know how packaging system and repositories work, and for those who doesn’t know how to use search engines (or doesn’t want to use them).

For others I’d recommend Fedora. You see, the downside of Fedora compared to Ubuntu that I know of is that a few things that you’d expect to work OOTB actually doesn’t. For one, on freshly installed Fedora, if you use Chromium to go to youtube, you’ll find out that some videos refuse to play with an error. To make it work you’ll need to type that error in a search engine, find out that you need to add some repo and install some codecs that Fedora excluded due to them being proprietary, and then you need to understand what you’re actually doing, so you can fix your system if something gone wrong.

This is not a big deal (offhand I don’t remember having any other problem) if you recognize that overall Fedora has a big development team and good QA, and that they mostly try to keep packages up to date with upstream. But if you are absolutely new to GNU/Linux, then this is not a good first experience, you may deem GNU/Linux a “broken OS”. And this is the reason I struggle to recommend Fedora to newbies, unless it’s someone for whom I can set up the system personally.

I see lots of Software Architects, which are on the more experienced side of the spectrum using Ubuntu.

There’s many factors may be involved, it really depends. First of, nobody know everything. They may have a good grasp on GNU/Linux internals, but at the same time all they may know about other distros is their existence. Such mindset is easy to get when all/most GNU/Linux experience stems from jobs, as opposed to personal curiosity.

And then there’s also a recurring myth that unless a package you’re using is a few releases old, it’s crowded with bugs and you better not to use it (I agree it may be useful for servers, but it rarely is for desktop systems).

And then they may recognize that having most up to date packages would simplify their life as a developer at least, but they don’t consider it a good enough reason to try something new.

Or they may have heard, for example, of AUR and Archlinux Build System, but “so what? I can do well without it.”. This one is similar to blub paradox.

Or they may simply not have enough time and/or motivation to try other distros.

Or they may use it just because “everyone does”.

Many different reasons, you may get better answer asking them personally.

2 Likes

@Hi-Angel has a nice response outlining some scenarios. I’ll try to characterize a case I’ve seen many times: it’s imposed on them to use a particular distro even though they, the software artists, would prefer to use something different.

Often this is because they don’t have resources to validate against other distros, the people who deploy their application on their behallf (often an IT group or customers) don’t have resources to validate against other distros, and/or their parents (company, organization, etc) have built up a collateral of software and processes around a particular distro.

In other words, there may be an investment in another distro to achieve the economy of scale already. Throwing it away is hard. Trying to go against it is hard. So the path of least resistance ends up being to build more on top of their initial investment.

1 Like

I’ll reply with my personal experience to a couple of your questions.

They are so different that it makes me wonder: Is this relates to your workflow? Compatibility with your frameworks? Use cases? What do you guys think?

Personally Arch and Ubuntu are quite different but the reasons people use them are probably similar. We want the OS to perform well and get out of our way.

I use Arch Linux still as my “main” distro for a couple reasons:

I can customize it.
It’s fast
It’s reliable.

While it takes me a while to set up on a new machine, once I have Arch installed and dialed in, it’s a simple matter of running updates once in a while and just using the machine. A vast majority of the time the updates do not break anything and I just do it without thinking.

There are a wide variety of packages available and I think nothing of building something if I need it and it’s not available. But most of my time is not spent tinkering with the operating system, most of my time is spent doing the work I intend to do on the machine.

This is crucial.

As far as performance goes, I have noticed a big increase with Clear, which will likely lure me away from Arch once I get comfortable with Clear and get it dialed in. Before Clear however I liked the fact that with Arch I can hand pick what I need, and only what I need. I hand pick packages I want, compile a custom kernel and I have a lean mean machine ready to go.

I know folks who use Ubuntu do the same thing, install the OS and forget about it. I intend to use Clear full time on my work machine with a new machine I’m putting together. If it proves reliable enough it will likely be my main distro.

Why do you think VSC has this massive adoption? What makes an IDE compelling to you?

Same reason. VS Code is lightweight, easy to customize and it stays out of my way. It has everything the “lean” text editors of the past have but with way more plugins, and customization is super easy. I use VS code heavily for just about everything.

1 Like

Nice survey and thanks for it! I use Ubuntu for the following reasons:

  • derived from Debian,
  • easier to install on new computers than many others distros.

When I have time and don’t care about sound and video, I prefer Debian or FreeBSD, depending what I want: Linux or Unix. Sound can be very useful in noisy environments, so I can listen to my own music in ear phones.

2 Likes

@Hi-Angel, @BernardTatin, @Jeremy_Morgan, welcome and thanks for the comments!

2 Likes

Can you elaborate on why you gravitate towards Debian/FreeBSD? Is it simply the one you’re most familiar with or is there something more that makes it your go-to?

I won’t try to answer for Bernard, but from ~20 years experience in the Linux world, I can tell you some reasons FreeBSD and Debian are rock solid with many people.

I should also add that I’ve used both Debian and FreeBSD as my “daily drivers” for years at a time

Debian is the most “Linux like” for many people, it’s most like the original Linux distributions and follows standards well. It’s also super easy and stable (which is why so many distros are based off it).

FreeBSD is the most “Unix like” for people who like Unix. It “feels” like a Unix machine. It’s also incredibly stable.

Both have tons of packages. It’s a big draw for many people.

Being a “Linux like” or “Unix like” distro has value, but I don’t think a successful Linux distro needs to strive for it. A Linux distribution can “do it’s own thing” if there’s a good reason for it, and people will still use it.

Every distribution of Linux is a “flavor”. The kernel and core of most distributions are so similar that you can take any version of Linux and modify it to do anything any other distribution can do. Some people want a distribution that’s easy to install and use, some want to configure everything. Some people use distros just because their packaging managers are great. Some just like the particular desktop. The core is the same, you are picking your favorite flavor.

I don’t have to tell you this, but the big differentiator right now for Clear is performance. It’s built to work well with Intel hardware. You succeeded. It’s measurably faster. That’s a great goal and one you shouldn’t veer far from in future development.

If you’re wondering where to focus next, the package manager is a good place. All other things considered package managers win fans. If someone knows they can easily install the latest Visual Studio Code or Node on their distro in minutes, they are happy. If they don’t get caught in dependency nightmares or get stuck with old versions, they love it.

If you’re looking for greater adoption, stay on the performance path and work on tightening up the package manager and hardware support. Address some bugs that are preventing new users from fully adopting. Stay the course.

I am excited about this distro and love the energy behind it. It will likely be my daily driver soon because performance and stability are important to me. Stay the course and I’ll be continuing to advocate, and hopefully we see some mainstream adoption coming.

2 Likes