From the article:
The open-source business model that relies solely on support and service revenue streams is failing to meet the expectations of investors. For anyone who hasn’t been paying attention to the software industry lately, I have some bad news. The open-source business model is broken.
Companies have long hoped to make money from this freely available software by charging customers for support and add-on features. Some have succeeded. Many others have failed or will falter, and their ranks may swell as the economy worsens. This will require many to adopt a new mindset, viewing open source more as a means than an end in itself.
I do not agree 100% with the article. You can make tons of money by selling solution. For example, I can sell Linux Webserver cluster setup solution to meet my clients need or setup OpenBSD based CRAP solution to save tons of money on Cisco gear. Once solution is sold, someone need to monitor and fix the problem. Another option is bug fix or add addition features to original software. If you can add a value to customer, they will purchase your solution. What do you think?
=> Open Source: The Model Is Broken
Linux is extremely powerful, robust and flexible, which means it must have a significant amount of complexity. Do you think I learnt everything in a day? I don’t know who told you Linux was easy, many times other people make it harder than it has to be by thinking they need to understand everything at once.
Some Preliminary Advice
Some recommendations I would give you before you began with Linux:
- Take it easy. Frustration makes things worse for everyone.
- Never try anything for the first time in a production environment. Always use test environment. For example, iptables firewall or complex security configurations. Always use a test computer or virtual machine to test the various applications, configurations and settings. It will save lots of time. Recommended virtualization software – Vmware or Xen or VirtualBox
- Another option is start your journey with with LiveCDs. See the list of all Linux, BSD, LiveCDs and LiveDVDs here.
- Always refer to hardware compatible list (HCL) and kernel source documentation directory (/usr/src/linux/Documentation/) to check your hardware compatibility.
- Learn to read and search command man pages and vi / vim text editor. Type vimtutor at a shell prompt. The Vimtutor is useful for people that want to learn their first Vim commands.
- Don’t try to set or create ultra secure servers / services on your first shot. Mess with test system couple times i.e. play for a while until you understand everything. Don’t stress out for the perfect solution, it will slow you down.
- Stay away from advanced stuff until you learn the basic stuff like, ssh, vi text editor, directory structure, log files, searching and greping files, network configuration, package management, patch management, troubleshooting techniques using host, ping, route, ifconfig and other tools.
- Learn regex and text utilities such as sed, awk, grep and others. It will save lots of time in a long run.
- Learn to customize your own login environment. This will give you good idea about many configuration options such as ftp, vi, Gnome, Kde, GUI tools and much more. Get a good Linux book, it will be a big help (see below for recommend books).
- Don’t hesitate to ask your questions on the forums and mailing lists. Also help others in the forums when you can. You will be supervised to find out how explaining stuff to someone else helps you understand it better.
- Learn to automate stuff using shell scripts.
- When you run into a problem with a configuration, make sure you read:
- The man pages
- The info pages
- Read package README.txt, INSTALL.txt and other files stored in a current directory or /usr/share/doc/package-name directory.
- Use google / yahoo search engines to do several searches with different terms. My personal experience you may get answer in the forums / websites / mailing lists. Only rarely have my problems not already been answered in the forums.
- Subscribe to security alert mailing lists.
- Learn to compile packages using make, configure and other build tools.
- Once you learnt terminology and basic things, start configuring basic services such as Apache. They idea is simple start by getting something up and visible. Take a time to explore stuff and get comfortable with each service / servers. Always configure one service at a time and get familiar with them one at a time.
- Don’t compare Windows utilities / software with equivalent Linux software. Windows is not Linux or vise versa.
- Don’t try to replace Windows desktop with Linux desktop. Windows desktop has better applications stack. Similarly, Windows can’t replace Linux. You need to consider various factors before migrating from Windows systems.
- Gather experience.
- Finally, always ignore flame wars such as ‘vim vs emacs editor’ or ‘BSD vs Linux’.
References / Recommend Readings:
Each OS has its own advantages and disadvantages. This article from Pc Advisor takes diffrent angle and considers normal joe user who just wanted to do their work:
When it comes to an OS, what should you choose? Each of the four biggest players; Linux, Mac OS X, Windows Vista and Windows XP all have their merits. So we’ve taken four experts and asked them to defend their chosen operating systems in an opinionated free-for-all.
=> Linux, Mac OS X, Vista and XP: head-to-head