The more I work with Linux the more I’m convinced that the problem with the open source model is precisely the opposite of what I would think it would be.

What I think would happen is that the heavy lifting code, the code that actually does work, would develop slower than the UI/UX code. But what I see happening is that the UI or UX code lags far behind the heavy-lifting code.

My example is OpenVPN. Now, I’m not a complete noob when it comes to linux. I’m a sysadmin (mostly MS) by trade and while certificates can still confuse me at times, I get around fairly well. However, installing and configuring OpenVPN on an Ubuntu 14.04 box was beyond a pain in the ass. If it wasn’t for someone else writing a tutorial about how to do something vaguely similar to what I wanted to accomplish that mostly fits the distro I’m using in addition to myself being slightly familiar with Linux, I never would have been able to get my iPhone vpn’d into my home network.

I’m not trying to do anything out of the ordinary; but, in the Linux world, doing the mundane means you will still have a fight on your hands. It wouldn’t be sacrilege to put in a couple wizards to help configure OpenVPN in the most common configurations.

I don’t know if developing good UI/UX is tedious and boring. Or if projects change their methods so often that no one can make decent UI without everything changing underneath them.

I finally got OpenVPN configured and my phone connected up. I used this tutorial, and it’s good. But for Ubuntu 14.04 I would recommending adding the following addendum:

Make your life easier while configuring OpenVPN and do everything in root (sudo su) I’m not sure why, but the scripts won’t run under regular sudo.

That single tidbit of knowledge would have saved me an hour and a half of my time.