Open source software and me

by admin on Nov.15, 2009, under Uncategorized

I prefer to use open source software for several reasons. Firstly it is always nice, when a personal need for a new program arises, to find that quality tools are available free of charge. This is different, I understand, from the notion of freedom which the Free Software Foundation supports, but I mention it first because it is a really great notion. People are giving up their personal time to develop tools for anyone to use, for no monetary reward. They respond to bug reports and feature requests, many of which will never directly affect them, merely for the love of development and a sense of providing something useful to the community. Personally I find using open source software rewarding because no-one writes software for it to sit unused in a repository.

As a professional software developer I obviously support the notion of intellectual property, and believe that people should be paid for their work. However I also think that today we have amazing computing machines which are capable of unleashing so much from humans which has previously been impossible. This has either due to a lack of resources (for example, to typeset a book before Tex was an incredibly expensive and time-consuming process) or due to a knowledge barrier. The Internet, and the community contributed knowledge base it has inspired, has removed the barrier to entry for knowledge in most fields. An obvious example of this is Wikipedia, but even early BBS systems showed that people were willing to help each other solve problems even without ever exchanging names or seeing faces. Recently several prestigious universities such as Stanford have taken the admirable step of allowing open access to all lecture notes and course materials. The point that I am trying to make is that freedom from arbitrary constraints on expression is something we should strive for, and in my opinion this is what the Free Software Foundation notion of freedom allows: the ability to use tools however one desires and for whatever purpose.

I really believe that there is a basic level of functionality for computers which should be freely available, for example the ability to produce formatted documents, the ability to write and compile programs, and fundamentally, the ability to use the hardware. To this end I think the open source movement has achieved a great deal in Linux, OpenOffice.org, GCC and so on. It is possible today to do a great deal of tasks without using any proprietary software whatsoever, and for that I tip my hat to everyone who has contributed code to the public domain. What needs to happen now is for more cooperation’s to adopt open standards for their software products to allow competing open source solutions to be developed. Major software companies should stand beside their commercial products and be prepared to say “this is our product and it is the best tool for the job, no-one else can compete with it, feel free to try”. Vendor lock in should occur because a tool is incredibly good (see Adobe Photoshop), not because it is already ubiquitous and communication with it is difficult (see Microsoft Office).

Another final reason why open source is a good development strategy is that I find that, excluding the cases of open source products shadowing commercial offerings (for example Open Office.org), the features offered in open source tools are more in-line with the real world needs of the users, rather than on sell-able or commercially attractive features. The fact that real users can easily contribute to open source projects to include bug fixes and additional functionality means that development can be rapid and very responsive. Since a lot of the open source tools I use are development tools, this is compounded by the fact that most of the users of the tools are themselves capable of contributing to the code, something which I am sure is not true to the same degree in other software categories such as graphic design or music production.

So with all this in mind, I am intending to start actively contributing to an open source project soon. In order to continue development of my programming abilities I have started reading more and more of other peoples code, and internalizing the different ways in which people structure programs and approach different problems. I am finding that every time I approach a new code base it become a little easier to work out what is going on, so hopefully the key barrier to entry for me (large existing code-bases) will diminish.

If you have any of your own reasons for using open source software, would like to elaborate on any of the points I have made, or would like to suggest a decent project or code base for me to read, please let me know.


1 Comment for this entry

  • Chri

    I never thought about having basic software as a human right before, although I think it’s a very good idea. Thankfully due to open office and Linux distributions this is possible although not as easy as one might hope for those wanting basic access. Once the law is passed for Internet to be a basic human right then I wonder how long it would be for other, similar, laws to be passed granting software or other such rights to humans as a basic need?

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!