My first Linux distribution was Red Hat 7.2 (not Red Hat Enterprise Linux which is a different product) released in 2001. I installed it from a CD included in one of IT magazines and was used by me to as router to share my internet connection with my neighbours. It took me some time to set it up and honestly quite frustrating experience, as there were few good howtos back then and for any windows user it was pure magic to do something in console.
Anyway I managed somehow to learn it and I also started using it on many servers as well as my primary desktop environment. It’s been over 15 years now and over these years I observed many interesting things happening around Linux as an operating system installed almost everywhere and also open source technologies in general. Let me share my thoughts on what I’ve learned.
Simplicity wins over fancy and comprehensive features
KISS rule still apply. Although we like nice graphical interfaces simple solutions based on solid and stable tools tend to work better. The former looks nice on presentations, but it’s the latter that makes your production environment efficiently. Linux has always been simple and powerful at the same time.
Command line rocks!
I cannot work as fast in any graphical environment as in my favourite command line with bash, mc, vim and others. And if you work on many machines remotely using ssh is just incomparable to any other tool. Leave GUIs for little boys and newbies - if you’re an expert you work mostly in command line.
Linux desktops have become usable and competitive
I remember using KDE 2, Xfce and Gnome 2 and I see now how they evolved from being cumbersome to elegant and simple. I find Gnome 3 to be really mature and for couple of years I used it on my primary desktop (until I switched to Mac).
… but are used by geeks only
Unfortunately Linux isn’t that popular on desktops as it is on servers. They are primarily used by geeks, sysadmins/devops, but since Apple started neglecting software developers I see that Linux desktop are increasing their share market. Also Google promotes their idea of Chromebooks as fully functional desktop environment. I think however it unfortunately will not cross the chasm and stay in the market niche.
Access to code really helps in learning and troubleshooting
When you start learning you probably don’t think of using code that particular component is built from. However when you reach some point you start to really appreciate the fact you can look into it, check how it works and even contribute to community by issuing a bug or a fix.
Open source projects grow much, much faster than commercial, closed source products
You can’t argue with numbers - when you look on GitHub you see millions (around 20M active according to https://octoverse.github.com/) of repositories and it’s still growing. All of these are potential products or are a part of already existing ones (e.g. in freemium business model where alongside free “community/open source” edition it’s paid, supported equivalent exists).
It’s hard to monetise products based on open source
Red Hat has become leader of open source based products including its Linux distribution - Red Hat Enterprise Linux. It looks impressive when you look at their revenue (2.4 billion for 2016), but comparing to other giants (Oracle - 37B, Microsoft - 85B) it’s ten times less. And there have been many companies over past few years which tried to repeat Red Hat’s success, but failed.
But open source components are now part of every SaaS products
On the other hand open source libraries, languages, frameworks and Linux itself are crucial and essential part of major SaaS products. No companies like Facebook, Google, Uber, AirBnB would have been born if there had been no open source components available then running on Linux servers. AWS is based on Linux servers and its virtualization capabilities (with a help of Xen open source project) as well and it’s one of the fastest growing companies since many years.
The best way to learn Linux it by using every day
I chose to use daily on my desktop and that way I forced myself to learn all those tools included, solve problems and experiment with new features as my confidence and knowledge increased. Nothing can replace practice and with Linux you just literally learn it by fingers striking sequence of commands.
People are afraid of changes and avoid them
Moving to systemd as unified service manager for all linux distributions was a very good step. Now I’m not that confused when working with Debian based systems (why did service need to be enabled by default after installing/updating?) and Red Hat based. The whole process also showed what we know from a long time - people don’t like changes and it takes dozens of heated discussions and even years for change to be embraced.
Persistence is the key to success
Over these years I’ve seen many different open source projects and linux distributions that were born, lived for a short (sometimes quite intensive) time and died. In most cases probably energy flew away from the people that created them. It’s lack of persistence that differ them from other people that are behind projects like Debian that’s been with us almost 24 years.
Linux won server war and continue its domination in modern infrastructure environments
Let’s face it - Linux is everywhere now. It’s on the machine that hosts this page, on most of mobile phones and soon it will be installed in cars and probably even in dishwashers or fridges 😃 Modern microservices architecture is tight coupled with containers which runs mostly - you guessed it - on Linux.
There’s no turning back and I predict further expansion of this wonderful and open source system in many key areas of our lives.
The best time to learn Linux was 20 years ago. The second best time is now.