views:

283

answers:

5

It is widely accepted that Open Source also means free of charge. In particular, the "Open Source" definition by the Open Source Initiative states that Open Source, in addition to access to the source code and other criteria, means free redistribution. Their given rationale is:

By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.

I don't understand what they mean by this "temptation" and "pressure".

Can someone elaborate or provide an example of why is Open Source software expected to be free?

+6  A: 

If there were no restrictions requiring free distribution, imagine the following scenario:

You are a coder working on an open-source project. One night, you have a brilliant idea. It's a wonderful way to improve the project to do something incredible it's never done before.

You spend fifty hours writing code. When you're done, you take a look at your new product, built on untold thousands of man-hours of others' work, and realize that people would pay for your version. Maybe even pay huge sums of money. It's that good.

What do you do now? Do you charge for a forked version of the original? Or do you give away all the effort you just put into changing the work of others for free?

It's hard to say "no" to money. So the temptation is removed by requiring that you contribute your changes back to the community for free - that way, everyone gains in the long run, but you personally lose the "short-term sales dollars" (to quote the excerpt you posted) for being the first to have an idea.

Borealid
@downvoter: What? Did I not answer the question as asked?
Borealid
Wasn't me. (15 characters)
hgpc
@Borealid, actually, you could perfectly well fork-and-modify, to resell as closed source, if the project's license was BSD, Apache, and so forth; OSI was created specifically to form a framework for such "liberal" licenses, which allow license changes on derived works, not just the FSF's GPL (which would indeed impede the scenario, since it mandates that derived works be licensed exactly the same way) and other such "share-alike" licenses.
Alex Martelli
If it's your own project with only your own contributions nothing stops you from doing so, though. In any case, BSD/X11/MIT licensing isn't dead yet, even though zealots like Stallman argue that apparently too much freedom is less freedom again.
Joey
Alex Martelli
@Johannes, not only do BSD and Apache licenses thrive (the old X11 and MIT ones a bit less, but that's a different issue), but OSI was formed _specifically_ to cover them too (for GPL only, the FSF existed already).
Alex Martelli
I'd feel pretty stupid for having spent fifty hours writing something I couldn't get paid for.
Crashworks
I'd feel stupid anytime I'd expend any effort to help anyone with anything, I'm glad I don't answer questions on SO. (yes, I'm poking fun at Crashworks, but with good-natured intent).
msw
@crashworks you (and everyone else who didn't do that extra special work, natch) *already* got paid. With access to the thing you modified in the first place. Don't think it's worth it? Then don't play.
dmckee
@Alex Martelli and all: I know that there are licenses that allow you to sell a closed-source variant of the product. But even under those licenses, such as the BSD license, you effectively cannot make money off of the product; anyone who buys a copy from you can still give it to their friends (or the world at large!) for free, legally. I stick by the answer I gave as I wrote it, not for stubbornness but because I believe it is correct and applicable.
Borealid
dmckee: That's kind of my point. There's a disincentive to make improvements of this sort to OS software unless it's worthwhile just for the value it provides you alone, or there's some extrinsic factor compensating you for the time. The self-interested rational move would be to just use others' work without giving anything back.
Crashworks
Alex Martelli
@Crashworks: and yet, many of us do, and are happy to. The exceedingly narrow conception that "self-interested rational" behavior is totally egoistic is _way_ passe in economics (look at the work of last year's Nobel memorial award winners in economics)... **and** it already was when Adam Smith wrote "Wealth of Nations" (as he _had_ written "Theory of Moral Sentiments" first, though too many who give deserved admiration to the later work don't ever bother reading the also-excellent former one!-).
Alex Martelli
Again you're missing the point. I'm not trying to disprove the existence of altruism. I'm trying to demonstrate the thought process that occurs inside a for-profit company that shows why it's hard to justify spending investor resources on open source features.
Crashworks
@Crashworks: A non-altruistic for-profit company would be reluctant to develop open-source software only if their profit model is selling *that software* itself. Random examples: Google pays programmers to work on Subversion not out of altruism but because they simply need some improvements; Pixar once sponsored some development to GNOME because they needed a feature—they have no interest in selling software—and Mozilla, Red Hat and Canonical are companies developing open-source software for profit. See also [Joel Spolsky's article](http://www.joelonsoftware.com/articles/StrategyLetterV.html).
ShreevatsaR
+4  A: 

There's nothing with Open Source that says you can't also charge a fee for distribution, or even support or something like that. The goal is to keep the source available for everyone to use, learn from, and otherwise keep in the public interest.

jer
Actually, under the GPL, you can only charge reasonable distribution costs. You can't arbitrarily price the source code separately from the program. And, once you've sent someone a copy of your source, they are free to undercut you and give it away for free. So, effectively, you can't make money charging for distribution.
Borealid
@Borealid: "Open Source" doesn't = GPL. You may as well state that just because some cars are red you can't ever have a blue car.
Noon Silk
@Borealid, I never said anything about charging for the code. Charging for distribution is perfectly allowed in the GPL, and charging for application support, etc., is done by many folks, including big names like Redhat.
jer
+2  A: 

The value in software development is the service provided by the developers to update and maintain the software. If you want to profit from the creation of open-source software, you can either:

Find someone to pay you to extend or create open-source software:

  • A company that backs the open-source software directly (e.g. RedHat, Mozilla)
  • A company that is building on top of the open-source software (e.g. a software company that wants to add features to an IDE)
  • Write or extend some open source software for your own benefit, advertise and write about it before releasing it, then have people in the community donate money towards you releasing it (called "ransoming" or "assurance contracting")

Find someone to pay you to provide services on top of open-source software:

  • Write articles, tutorials, screencasts
  • Consulting services
  • Support
Javid Jamae
+1  A: 

It is widely accepted that Open Source also means free of charge.

And this is inaccurate. Just because people think something is so, doesn't make it so. Open source means "free" as in "freedom," not "free as in beer". This is an extremely common analogy made about open source software.

In particular, the "Open Source" definition by the Open Source Initiative states that Open Source, in addition to access to the source code and other criteria, means free redistribution.

Free redistribution does not mean free distribution. You can charge a fee in many of the licenses they have approved. It means whoever gets a copy of your program has licensed it in such a way that they are not allowed to then make money off your product.

I don't understand what they mean by this "temptation" and "pressure".

Temptation is referring to the fact that making money is tempting. Making money off work that you have done is tempting. However, open source is based off a cooperation, and is an agreement that all of us benefit. This is the concept behind the public domain, as well, something which has been backed by law for a very long time.

Pressure refers to the fact that if some people make money, others will be tempted to make money as well. Another problem is that people who are making money put pressure on open source advocates and contributors to abandon the open source model. For example, many companies release marketing material and give interviews stating that the open source model is dangerous (patent infringement concerns), bad long term, failing, bad for customers, not any cheaper, etc. This is commonly referred to as spreading FUD (fear, uncertainty, doubt).

Can someone elaborate or provide an example of why is Open Source software expected to be free?

Why? That is up to the decisions of the people who will distribute software by the license, or contribute to open source projects. See my example of the public domain, and potentially read up on the history and rationale behind it.

If you mean how it is enforced, read some of the licenses. If you do not understand them, and have a business reason to consider open source, hire a lawyer practiced in software licensing. Lawyers can be hired to enforce it, as well.

This person is a well known open source advocate, who also has become rich off of proprietary software. His business model has worked very well:

http://en.wikipedia.org/wiki/John_D._Carmack#Free_software

Part of his strategy was to use dual licensing. This is not something that your question mentioned, and could potentially be a boon to business.

If you want a different model of redistributing source code, check out Microsoft's Shared Source.

Merlyn Morgan-Graham
A: 

I think cooperators has the meaning explained in The Political Economy of Open Source Software. Simply put, the cooperators are the people contributing to any particular open source project. My explanation here is not from the document so corrections are welcome.

By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.

The options considered for an open source license were either free redistribution or non-free redistribution. In the second case, "short-term sales dollars" will be gained by the original distributer. However, let us see what is the effect on the open source project.

To have a successful large scale open source project, a lot of cooperators are needed. If a particular cooperator, let's call him X, does not have the right to distribute the project code coupled with his modifications then he is less likely to contribute. Also, the reachability of the project will be a lot less. This will affect the reputation of X, which is probably as important to him as it is to a lot of open source contributors. Again, a good incentive for X to contribute to open source is that he needs this particular software. His future is more insured by his ability to fork the project if needs be. But he can't if redistribution is not free.

All in all, suddenly the incentives for X to contribute are greatly diminished while the risks grow. As the economy of open source projects goes south, he is likely to defect, in the sense of leaving the open source ecosystem.

The end result is that open source projects would not be sustainable beyond a certain scale of community if the license allows non-free distribution. In essense, many long-term gains will be lost.

Muhammad Alkarouri