Two limiting cases of free software
Yesterday, I finished making several slides using GNU TeXmacs. The elegance in its typesetting aesthetic and the integration of the powerful LaTeX and the convenience from WYSIWYG are really amazing. On the other hand, my experience about using Umbrello for UML modeling once drove me mad due to frequent and unexpected crash, incomplete support for parsing C++ source code, unnatural user interaction, etc.
From these examples, we can see the two limiting cases of free software. On one extreme, the development of some free software programs faces the difficulty of stringent funding and human resource. Hence, the provided functionalities are fundamental and usually infested with bugs. Such programs can scarcely run without any crash. Of course, they do not care about user experience either, including both interface design and interaction mode. Honestly speaking, they are still unfinished or premature works, which are acceptable for self-entertaining or practicing programming skills, but far from enough to profoundly influence people, make significant profit or even change the world.
On the other extreme, there are also quite a lot of powerful free software programs that are indispensable to professional users, such as Emacs, TeX/LaTeX, Grep, AutoTools, Awk, etc. Since they have been developed and maintained by luminaries with domain know-how, they humble proprietary or commercial competitors in all aspects, such as design philosophy, robustness of fundamental framework, coding quality, possibility of extension and openness for customization, etc. With the help of these programs or libraries, the efficiency of our own software development and personal information management can be greatly enhanced. Our intellectual potential can also be fully released and exploited.
Therefore, it is crucial for us to choose the said powerful and professional free software programs as early as possible in our study or research life, while those premature works can be taken for granted. Even though the learning curve is steeper at the beginning than some user-friendly tools, the long term profit is remarkable. By continuously practicing and accumulating related usage skills, we can integrate them into our arsenal and strengthen our core competence. It is actually a cul-de-sac to be fettered in the realm of proprietary or even pirate software.