As we know today Linux OS have become much user friendly comparing to the scene some years back. Also now graphics of Linux distributions are really nice. Even Linux comes with such features which windows can’t such as virus free environment, free softwares and OS, robust, great environment for servers, free mailing and community lists etc. Its advantages are endless and I too recommend to explore the power of Linux OS. Despite of these great advantages,today the market share of Linux OS is less than Windows OS due to some reasons such as support for proprietary drivers, dependencies required by softwares etc. I am discussing here the later issue.
Now a days there are a lot of package managers like yum for rpm, apt-get for debian etc. Despite of these package managers , sometimes when you are trying to install something you have to do a lot of hard work such as searching and downloading dependencies packages, if not resolved automatically by package manager. A normal user or newbabies to Linux may feel awkward and if you installing from source, then the game is much more complex in the sense that you have to compile and install individual dependency and dependencies of dependency and so on. So it may be possible that you wont get anything i.e wont be able to install required software after a lot of hard work due to unavailability or incompatibility of some nested dependencies. This way you may got angry and may do some stupid things such as shut down pc directly by removing power cable as i experienced this sometimes.
There is no doubt that the concept of dependencies has its own advantages, the major one is this helps the software developers to reduce the size of their softwares by great extent. But according to me its limitations can be decreased to great extent by the following these solutions -:
- Firstly, like Linux Filesystem Standard, the Linux Library Standard or Linux Utility Standard should be made and be followed worldwide by all major vendors of Linux distributions. This way software developers know what libraries and utilities will be present on the machines so they can include libraries/utilities other than specified by the standard in their package. At the most dependencies upto one level should be allowed (to reduce the size of software). This step would be in great advancement towards making Linux easy to use and user friendly and also helps to save a lot of time of users in installing software packages like windows.
- The software developers should provide legacy backward compatibility to their softwares so that their packages doesn’t behave differently based on libraries, utilities or dependencies version. This way users will be able to install new software packages on their old versions of OS.