views:

877

answers:

15

You hear people talking about how joining an open-source project will help polish your skills, buff your resume, improve your credibility, etc. This is all true but do you think that these benefits are necessarily restricted to open-source? For example the source to a game I am working on is closed but I don't feel like I'm missing out on anything.

What makes open-source experience more valuable than closed-source?

+11  A: 

With open source you can get feedback from the community about the quality of the source code, where as with closed source you can only get feedback from the quality of the software.

Edit

Someone made a good point that you can get feedback about closed source code; however, as I stated in my answer this is not feedback from the community. Take for example a team of 10 developers. If the loudest person in the team convinces everyone that the best way to write code is to have one large method that has 20,000 lines of code, and the team follows that advice then any code which deviates would be criticized.

By having outside people review the code you can get feedback without the bias of the people who wrote the code. This is a big difference.

JoshBerke
I have worked on many closed source projects where there has been plenty of feedback regarding the quality of the source code. Of course, those closed source projects have been team-based, and the pool from which the feedback comes is smaller than open source, but the feedback exists all the same.
dominic hamon
I don't see how this is any different than an open-source project where there is a single super-vocal user who dominates the direction of the project.
TheTXI
The difference is that an open source project is also community-reviewed (if anybody's interested), so the vocal and opinionated member isn't able to control the discussion.
David Thornley
Unfortunately making your code open doesn't automatically mean people will review it. Most open source projects are developed by a single person anyway, and even those with a team rarely get any outside code reviews.
Michał Kwiatkowski
Of course it doesn't mean people will review it means people can review it. You *can* get Feedback, not that you will
JoshBerke
+5  A: 

I don't think open source experience is necessarily more valuable than closed source experience. They both are experience. Both require working within the constraints of a project, both require interaction with coworkers, both require good configuration management processes (at least in good projects), both require a whole bunch of skills outside of programming itself that translate over to the other. Which will help you get a job? It depends on the job you're looking at.

unforgiven3
+1  A: 

The only thing that makes the open source experience potentially more valuable is the number of eyes which can go back and code-review what you have written. If you are on a closed-source project, the only feedback you are going to be getting is from others on your team and the intended audience for the product once it has been completed.

TheTXI
A: 

Knowing that there is the potential of other developers looking at your code could motivate you to write cleaner and more human-readable code. Now, this also includes that others could give feedback and constructive critique.

phresnel
+3  A: 

An employer to see that people have interests outside of work, if someones CV is submitted and they have experience in non-work projects (software related, or not; closed or open) then I am more inclined to choose them over someone with identical skills and commercial experience.

It wouldn't particularly concern the average manager if it was closed or open source, other than I could go and take a look at the code they have written to get a better idea of their ability.

Richard Slater
A: 

This may be a good question in the debate on social vs. economic incentives. I would have thought that while open source may provide more eyes, "closed source" or commercial projects would provide more eyes with an incentive to make sure your code is of high quality, and that it works.

Of course, I also expect this to vary by project - there may be open source projects where the only review you get is from less experienced developers with nothing constructive to say, and commercial projects that don't do code review, and don't adequately test their code.

John Saunders
A: 

Why not do both :)

Gord
+1  A: 

You can show off your open source code to potential employers. You may well not be able to legally do that otherwise.

David Thornley
+2  A: 

A slightly different tact: IMHO most developers (myself included) may be more inclined to write better code in an open source environment, given the obvious reason that anyone can view it and you are (potentially) subject to more scrutiny by your peers.

I realize this is a psychological trait and not all developers would feel that way, but you could suggest that developing open source code is more valuable (improved skills) than closed source code.

Of course there are many caveats to that, a closed source project with very strong code policy, lots of code reviews, unit testing, static analysis, code coverage, etc. may produce a similar or better outcome.

Si
I think that anyone who is cognizant that someone will later have to read, understand, and be responsible for maintaining his/her code will write better code than one who assumes s/he only needs to please the compiler.
banzaimonkey
+2  A: 

There is a simple practical argument: for a student, it is easier to get involved in an open-source project than in closed-source. I have seen very few people already working for a company posting such requests on SO.

mouviciel
+7  A: 

One value of working on an open source project: you can put it on your resume, and when you're looking for a new job the companies can look at your code - that's much better for them and you because you most likely won't have to write stupid code during an interview, and the company can check out how you work if you have enough time and even how you work on bigger problems (which can't be tested in interviews).

That's not possible with closed source projects - and I doubt that you're allowed to show source code from your previous employer.

Stefan
A: 

If your project is open source....then it will be useful for everyone....but in closed source it is only useful for those people who has money....

sevugarajan
Closed source can be free.
Aftershock
A: 

If you have to put your name on your code and it is publicly available for all to see then it is a predictor of better quality.

jm04469
A: 

If it is open source you can use that as a code sample on your resume. Closed source you probably cannot do that.

sixtyfootersdude
A: 

What makes open-source experience more valuable than closed-source?

Good question indeed. And I was not convinced by the answers made so far.

Quality? Why people would make so much efforts for free? (but most open-source contributors are paid workers...) Is Apache really safer than closed source servers? (IIS excepted: MSFT is a special case) To have a good CV? (actually a brillant closed-source application might work as well)

So, let's try some more arguments:

Innovation? Why open-source your code if it does really new things? (for which you will not be compensated) Is Linux, OpenOffice, FireFox, GCC or GIMP an innovation?

Appart from State-subsidied works (universities) I don't see much work done 'for the benefit of all' (and even those free projects' purpose might be doubtful sometimes).

Reading the code of others? This might work, yes. But closed-source programmers have learned by reading books and other programs.

Networking? Many open-source developers seem to benefit from a large phonebook. Closed-source projects may also open doors and build credibility.

In the end, I believe that this is more a question of opportunities. Open-source becomes a real choice when you have faced a tought situation in your profesional life and want to fight back (Stallman).

For the rest of us, closed source might work equally well (or even better because copycats will have a harder time at finding inspiration in your work...).

Pierre