Hacker News new | past | comments | ask | show | jobs | submit login

i think there are multiple reasons (not ordered; these are all from the perspective of an individual programmer, not a company):

* it's nice to have people using code that you write, even if it isn't code that would make a lot of money (and making a little money isn't a big deal when you have a paycheck anyway). there's a sense of community and a pleasure in sharing - making other people happy with something you have made.

* it's a way of "giving back" to help support the community (whose open source code you have used yourself). if you're a programmer, the existence of a large body of code in your language (or, at a higher level, OS) is a huge help.

* it provides a way to show prospective employers / clients what you can do.

* it's the community norm and it gives you a certain amount of status within that same community.

* in some cases (eg https://github.com/andrewcooke/simple-crypt) the code is worthless without collaborative development (there's no way that code has/had a chance of being correct without feedback from many people).

* this one is a bit odd, but something i've felt for a while: there's a kind of evolutionary pressure from competing "technology ecologies". by putting code out there that uses "your choice" you support that particular technology (both by the code being useful and by simply adding to visibility). for example, a recent, small program i wrote (https://github.com/andrewcooke/id3img) was implemented in python 3 despite some requests for it to be in python 2, because i felt it was important to "support" python 3 (and we're talking "sub-ecologies here" - i guess others would feel anything python was helping support that against, say, ruby, or vice-versa). the motivation to help your particular "tech ecology" is that it is the one you have invested time learning, so it's to your advantage for it to flourish.

* sometimes it can be politically motivated (i'm just looking through my github repos and https://github.com/andrewcooke/GhettoNet was very much a political statement).

* sometimes there's a sense of frustration that a project does not exist. and while you know that a complete solution is probably more than you can implement yourself, you're trying to get something started. that is the case for https://bitbucket.org/isti/c-orm/wiki/Home for example, where i would love to bootstrap a community that supports and extends a decent "ORM" solution for C (that code is very much beta btw and i would appreciate feedback / curious users).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: