In a recent article, I exposed my view of Open-Source as a gift. I was wrong. If Open-Source Software sometimes results from a gift, it is more often the outcome of a process called solidarity. The result may be the same (you can use someone else's code for free), but the motivations differ. When giving to a solidarity network, you clearly expect something in return. What drives you in this case is selfishness. But you know what? In an enterprise world, it's not a bad thing. Let me develop.
9 months ago, I quoted a Sociologist named Marcel Mauss on his theory about The Gift. Mauss explains that, in any society, a gift has a reciprocity, which is a bond between the giver and the receiver. At that time, I believed that the act of open-sourcing a piece of software was a gift, in the sense defined by Mauss.
But I was wrong. The reason? You can give what belongs to nobody, or what belongs to you, but you cannot give what belongs to someone else. Most developers work for a company, or for customers. The code they produce during office hours is the property of their company, or the property of the customer (except, of course, in case of OSS Contamination, but that's another story). Developers don't have the authority to give their own code, because they simply don't own it.
Of course, some people contribute to open-source libraries during their free time. In that case, they actually give their own time and work. But the size of many open-source libraries imply a company sponsorship. Countless popular open-source softwares have private sponsors (Ruby on Rails/37Signals, Bootstrap/Twitter, Symfony/Sensio, to name a few). The primary goal of a privately owned company is profit. Employees can have different motivations, but in our capitalist world, companies are made to make money. So why would an organization built for profit actually give away the code it has invested in?
Let's clarify two concepts first. Generosity and solidarity are two terms often used for the same meaning. They they both relate to satisfying someone else's interests, yet they differ by their motivation.
Generosity is when you satisfy someone else's interests even if you don't share those interests. Just like when you give money to homeless people: you have no interest in losing money, yet you do it willingly. This is a selfless act: your primary motivation is the other person's interest.
Solidarity is when you satisfy someone else's interests because you share those interests. For instance, an insurance company is a solidarity network. If you have an accident, you get money from all the other contributors to the same insurance. They don't really give you money: the insurance does. But that money comes from your fellow contributors. When you pay for the insurance, you don't think about what your money can do to help others. You think about what your money can do to help yourself. This is a selfish act: your primary motivation is your own interest.
By the way, did you know that the word interest comes from the latin inter esse, which meant "being among", "participating in"? We need each other to satisfy our interests, so our interest connects us as much as it parts us, as philosopher Hannah Arendt theorized in The Human Condition.
Is generosity good and solidarity bad? Morally, they may not have the same value, but that's not what concerns me here. The fact is that solidarity is much more efficient than generosity. For a simple reason: solidarity is more common. It's much easier to rely on people's selfishness, since we all think about our interest first. And in the enterprise world, where interest means profit, solidarity is possible while generosity is not.
If developers hired by a company don't have the right to give their own work to an open-source community out of generosity, the company can do that out of solidarity. And that's what happens most of the time with open-source.
The CTO sees the benefits that an open-source community offers: motivation, free user tests, free bug reports, and for the most lucky ones, publicity, free support, free maintenance, and free evolutions.
The price to pay, just like for an insurance, isn't very high. Open-sourcing a software project costs nothing in money (see GitHub), and only a few hours of time. The risk that competitors use the project must not be forgotten. However, when a business performs better than another one, it's mostly because of better workers rather than because of a superior software. It's the cook who determines the quality of the plate, not the recipe.
So a CTO genuinely decides to invest in open-source in order to make more profit. It's not that the CTO is a selfish person rather than a selfless person. The CTO personifies the company in that choice, and a company is neither selfish nor selfless. A company isn't a person. Don't expect human behaviors from an organization.
If you find revolting that an open-source project can be driven by profit, you make a confusion between the motivations of individuals and the interest of companies. Of course, that doesn't prevent the CTO from having a little bit of humanity and morality himself. But it's not necessary to accomplish the process of open-source.
And to be honest, there is nothing wrong about it. If the open-source community relied only on individuals working on their free time, it wouldn't be as big as it is nowadays. You couldn't even read that post in that form, because your browser wouldn't exist, or the tools I used to write it and publish it wouldn't exist. Open-Source is flourishing today because many companies invest a lot in it - mine included.
Open-source highlights one of the byproducts of capitalism: development. Capitalism has a lot of negative side effects, but by leveraging solidarity, it manages to share progress and create happiness for many people. This is our economic system, and one has yet to find a better one. In the meantime, don't be afraid of losing your mind when open-source goes in bed with the enterprise world: it's for the better.
And mostly, it is your chance if your company isn't investing in open-source yet. Some companies still believe that the open-source movement is some sort of hippie club, driven by funny guys with beards dreaming about a better world with no money in it. Tell them about the company's interest. Use their vocabulary: "Open-source is a technical investment designed to maximize long-term profit". Don't tell them about solidarity and generosity though: this really scares CFOs.
And if your company goes for the big jump, you'll have the opportunity to become an active open-source contributor during your work time. Who knows, your CTO might even catch the virus and become an open-source contributor himself during his free time...
Published on 12 Sep 2012
with tags not technical open source