If you haven't read it yet, go and read Eric S.
Raymond's
Homesteading
the Noosphere which I found to be a fascinating read on
the dynamics of the hacker culture (that's what he calls it. I think
he's
being more specific to the Open Source/Free Software culture which to
me
is a little different). In summary, Raymond tries to analyze and
quantify
the motivations of hackers.
If you look at it, hackers don't code for money. They code for
prestige. The
culture rewards people who write and give away good code, or who
contribute
to other projects, with a certain amount of respect and recognition.
People
who start new projects, especially in unclaimed knowledge territories
(noospheres) that are useful, receive for recognition. Other
contributors
to a project share in the recognition, to a lesser extent of course,
almost
as if the founder gives some of his recognition to major contributors
in
return for their contributions.
There are three important (and ill-recognized) rules that hackers seem
to
follow. Don't fork projects, don't distribute your code changes if you
aren't
the project coordinator, don't remove people's names from the project
history.
All these three rules have traceable roots in the gift giving culture
(the
bigger the gifts, the more prestige).
Forking projects means having your name attached to multiple projects.
Your
code might break one of the forks, making you look bad. So you have to
maintain
tabs on multiple forks. But what if you don't? Then people split up
into two
camps and eventually one of the forks will dominate the sphere and
become the
official project, leaving the other fork (and all its contributors)
forgotten.
It's much safer to contribute to the current project than to try to
fork it
and go your own way.
|
One of the main powers of a project coordinator is in
deciding what new code
to include and when to release code. Open Source people don't mind if
you take
code and modify for your own use and the use of a specialized sphere of
users.
But release that code without consent of the project coordinator is a
major
faux pas. It comes down to you trying to fork a project by yourself,
and hackers
hate people who are not humble.
It's an interesting facet of gift giving cultures that along with
giving bigger
gifts, you also have to be humble. It makes sense to me intuitively. I
respect
people more if they contribute without making a big show of it, because
then
it makes it look like you did it for the attention. To a certain extent
another
gift giving culture is the entertainment industry. Hollywood stars
contribute
lots of money to various causes and you never hear about it unless some
news
people get wind of it. And that's ok. But if it looks like they are
doing it
for the attention, then people start making fun of them.
Back to hackers. Don't remove credits. Since this is a culture based on
your
prestige, and since the almost only way to gain prestige is to have
your name
down as a contributor, source code credits almost gain monetary value.
Most
of the free software licenses are quite liberal, but they all have
clauses to
make sure that you can't take someone's code and use it without
crediting them.
I'm running out of space so I'll finish by saying that the gift-giving
paradigm
is pretty much how I do things also. I like making grand gestures by
giving
expensive gifts. And I like volunteering and doing "selfless" things.
But it
really all boils down to me trying to gain a certain amount of
prestige, a
reputation as a nice guy. And yet when people say what a great guy I
am, I
automatically say how my actions are not that significant, point out
that other
people make contributions, bring out my shortcomings as a balance. I
didn't
realize just how much I fit into the pattern until I read Raymond's
paper.
|