Hacker News new | ask | show | jobs
by sciboy 5538 days ago
I find it hard to understand how writing open source software has a strong value proposition for someone who isn't worried about "getting the next job" or "looking good in front of peers". For me, I believe the best use of those extra hours I have is to learn entirely new subject areas, not writing tests for code I don't care about, answering support or setting up documentation. I don't care if people know what I am doing, I'm not in it for the glory or whatnot.

Instead, over the last few years I have added two entirely new subjects to my repertoire (mathematical statistics and neuropsychology) to a level where I can read, critique and contribute to the latest research in the field. Over the next few years I plan on repeating this process with other subjects. Comparing this with writing more software about things I already know seems to me to be comparing progress with diminishing returns.

If you believe I'm wrong, I'd love to know why. Convince me there's value in opening up the 20+ projects sitting in my source control.

3 comments

There are some obvious advantages.

If it's your project and you're the maintainer, you get periodic free testing, enhancements, and bugfixes from your users. If you're a power user of an open source project and need to patch it for some reason, you first of all have the ability to do that, but secondly if you contribute it upstream your patch becomes someone else's problem.

Basically it's a trade between power users, who contribute enhancements, and project maintainers, who take on the burden of maintaining the project. Usually, the project is useful to the maintainer in some way, and the maintainer now has a better piece of software due to having open sourced it.

I upvoted your comment, as that's what I was going to say.

For example I just created a small script that synchronizes my photos on Flickr, but that also takes care of duplicates (that were tagged with a machine-tag representing an md5 of the file).

I could just keep it on my computer, and even lose it in case my hard-drive breaks, or I could improve it a little and release it on GitHub -- after which I'd have a backup of my script and maybe even some fixes for free.

Then somebody else might want to do this synchronization in reverse and add his own stuff to this little script.

That's how open-source happens, besides companies throwing projects over the fence, or doing it for the free publicity.

"you get periodic free testing, enhancements, and bugfixes from your users"

The amount of this is miniscule, in my experience; not only that, but the level of testing and quality of bugfixes is usually so low that it's more efficient to not bother reading emails like that at all. I guess it's different for bigger/other projects, although the dozens of mailing lists I've been on over the years haven't shown many differences.

"but secondly if you contribute it upstream your patch becomes someone else's problem"

This, too, is vastly overstated. I have contributed dozens of patches over the years that were just left in bug trackers or tracs, or were ignored on mailing lists - sometimes because nobody cares, sometimes because people just like to hack on their own use cases instead of somebody else's problems, sometimes because its against the (usually unstated) 'philosophy' of the software.

Not to be negative, there are many useful open source projects, and I use many. But they're usually run by one or a few highly committed people.

I too have a bunch of projects in local repositories - I don't see any reason to open them up. A bunch of projects out there with no activity for 3 years looks quite bad too - once you start advertising your public repos, you have to keep up on them. The trade off is usually not worth it for me (for new projects, that is - I keep the ones I've worked on in the past on the web).

I agree, I was describing the best case scenario, which, however, does happen. I think R, SciPy, and emacs are great examples of projects that benefit by accruing contributions from power users.
Why would we need to convince you? It's not like you should feel an obligation that you have to. It might be that open source simply is not for you.

A big part of it for me is the social aspect:

I enjoy sharing my code with others, improving other people's code, and of course using code that is already available so that I don't have to write it myself. But also seeing what other people manage to do with my code is fun.

Another thing that I like about open source is that everything is flexible. If something doesn't work the way I want (or can work productively with), I can fork it and and change it.

Also: If you don't intend to sell some program or library, and you think it can be useful to other people, why not make it open source? That doesn't give you the obligation to support it or write extensive documentation.

There are a lot people who do open source stuff and make a big thing out of it ("I think a github link is more important than a CV" etc.) to the point where those of us who don't, the silent (majority?), may feel we are somehow lesser programmers as a result.
You never know who might be interested in your code and what someone else might do with it.