I call myself a
Free Software Consultant for two
reasons. The first is that I'm doing this job on a
freelance
basis, which means that I serve a large and varying group of
customers, each of which benefits from the experience I have gained in
other, often vastly different projects. The second reason is that I
subscribe to the idea of
free software, as it is set forth by
the
Free Software Foundation (FSF).
In a nutshell, the free software movement believes that computer
programs should not have owners. Once a program is written and
released to the public, anybody should be free to use it, to examine
its source code to understand how it works, to make changes to it and
improve it, and to redistribute improved versions. Software that
gives its users these freedoms is called "free software".
In my personal experience, I have found that the work on free software
projects is the most rewarding thing I have done as a programmer and
computer scientist. The reason, I think, is that it puts me into
direct contact with the people who are using my software, and it's not
a contact that is immediately governed by monetary concerns. Free
software allows programmers (and computer users in general) to develop
a sense of community, which results in a way of working that is less
alienated than others in today's high-tech societies.
This has the following implications for the kind of work that I'm
doing:
- Internal software, which is part of the IT
infrastructure of a particular company, is usually not released to
the public at all (and for very good reasons). Many of my projects
are concerned with this kind of software, and I will of course not
request that any of it be released under a free software license. I
will, however, recommend free software solutions as tools and
components of such systems. This results in an immediate financial
and technical benefit for my customers.
- Released software, on the other hand, is software
that is intended for use by the general public (developers or end
users). For this kind of software, I believe that open development
and access to the source code for everyone are essential, both from
a technical and an economic viewpoint. I will therefore not work on
software that is released under a non-free license.