“Let’s imagine a major software company, one employing
developers to write its software package. They’re getting paid each
day to come in and write code. The majority of these developers
have a strictly professional relationship with the company. At 5
pm. they get to go home to do their own recreational
activities.”
“Image your average geek who likes to code. He goes home after
work to write his own applications. Since he doesn’t really intend
on making money from his hobby, he releases the source code to the
rest of the world. Imagine another geek who’s looking for an
application that does a certain thing. Instead of writing his own,
he notices this application already been written by the first geek.
Although he wants a few more features, the source code is freely
available and he also knows how to code. So he starts working on
this project and adds his new code to the main sources. Therefore,
one project is getting worked on by multiple people on their own
free time because coding is a hobby of theirs. This second system
should produce far better software than the first company. Someone
who’s doing something as a hobby should be more involved than
someone who’s working merely for money.”
“This is how Open Source Software (OSS) is meant to work. Not
only is the software being written as a hobby, but it’s also freely
available to use and freely available to modify. If only this were
the case in real life.”
“The OSS model is working for bigger projects such as the
Linux kernel and other major applications like Apache, BIND, etc.
However, it’s failing with newer projects. With more people getting
involved with writing OSS software, individual applications result
without people willing to contribute to other people’s work.
They seem to want to write everything themselves from scratch. This
is how software development works on the commercial level, which is
exactly the opposite of what the OSS movement is trying to
accomplish.