When I say Free Software I mean it in the FSF terms. Free as in Free Speech, not as in Free Beer.

Why is it a good idea for programmers to use and write Free Software?

  • Are you asking why open-source is good? (I'm confused) – Tamara Wijsman Sep 11 '10 at 23:00
  • Not open source, Free Software (It's not the same). And I'm not asking why is it good. I'm asking why is it good for programmers. – Juanjo Conti Sep 11 '10 at 23:37
  • 3
    The question implies that free software is good for programmers. I would prefer the question "Is free software good for programmers? Why?" – Wizard79 Sep 12 '10 at 1:48
  • For a focused conversation on GPL: programmers.stackexchange.com/questions/7720/… – halfbit Sep 29 '10 at 15:52

There are literally scores of different reasons why someone might choose to distribute Free software: that's why there are scores of different F/OSS licenses. My favorite reason for going Free is from Linus Torvalds on why he chose and sticks with GPLv2:

Me, I just don't care about proprietary software. It's not "evil" or "immoral," it just doesn't matter. I think that Open Source can do better, and I'm willing to put my money where my mouth is by working on Open Source, but it's not a crusade -- it's just a superior way of working together and generating code.

It's superior because it's a lot more fun and because it makes cooperation much easier (no silly NDA's or artificial barriers to innovation like in a proprietary setting), and I think Open Source is the right thing to do the same way I believe science is better than alchemy. Like science, Open Source allows people to build on a solid base of previous knowledge, without some silly hiding.

But I don't think you need to think that alchemy is "evil." It's just pointless because you can obviously never do as well in a closed environment as you can with open scientific methods.

This goes to Eric S. Raymond's Linus's Law:

Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.

Or, less formally, "Given enough eyeballs, all bugs are shallow."

  • Great answer! I couldn't agree more with Linus in this case. – Chinmay Kanchi Sep 11 '10 at 23:55
  • Unfortunately the quote you gave was about Open Source Software, not Free Software. Oh well, I think it translates okay. – alternative Oct 17 '10 at 0:52

The following is an excerpt from the FSF's free software page:

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program's users have the four essential freedoms:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

I would have thought that the benefits of the Freedoms to "the programmer" were self-evident. Certainly Freedoms 0 and 1 should be. I guess Freedoms 2 and 3 assume that you might want to help your neighbor ... or have your neighbor help you. But you would need to be pretty short-sighted (or a sociopath) not to recognize the benefits of people helping each other.

The waters get a bit muddy when you start considering corporate interests. But it is pretty clear that companies can and do make money both building and using Free Software, even if your company's management doesn't "get it" yet.

  • 1
    I like the 0 relative listing. – Michael K Nov 10 '10 at 20:47
  • That's RMS's humour I think. – Stephen C Nov 11 '10 at 7:34

I think that open source is good for programmers.

With open source a programmer can learn from the work of other programmers and have a better debugging session (e.g if the library/framework/API is open source).

The only additional benefit of free software for a programmer is the reuse of existing code, but this benefit is not actually for the programmer, but for the programmers' company.

  • I think reuse is good for programmers too. It lets us focusing on writing something new, no redoing things that have been done before. – KeithB Sep 12 '10 at 17:41
  • +1 : What matters to me is whether a tool I have is open source (in a quality I can do anything to fix stuff). Whether it's free (beer, speech, whatever) doesn't really matter to me as a programmer. And I rather pay for a good beer that get a bad one for free. (One problem with the pay-for-the-beer-tools often is though, that if you take their licenses seriously, you're not even allowed to tell anyone whether the beer's good :-) – Martin Ba Jun 21 '11 at 8:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.