Tuesday, June 28, 2011

The Sin in Open Source

I’ve written before about the genuine renaissance open source software represents and the vast implications that openness provides. I admitted that computer science, based on its relative unwillingness to share great ideas, has lagged behind other hard sciences in its understanding of how and where value is created.

I’ve also written about the principles of open source software and how the mere gifting of source code, while important, does not actually generate the majority of value for the community. Instead, the real value comes from adhering to the principles of open source -- transparency, participation and collaboration -- and I’ve tried to evangelize this is the real method upon which open source companies help create success.

In the past year and up until my most recent trip to Europe two weeks ago, I’ve been talking less and less about open source software – both the conceptual model and Jaspersoft’s position as a commercial open source software company. I believe I’ve had less to talk about precisely because my predictions have been realized . . . the open source model is much better understood and open source software is now more mature and acknowledged as sufficiently capable to run even in the most mission-critical environments.

Just this week, analyst Matt Aslett posted a blog about this phenomenon and the decline of open source as an identifying differentiator among top open source companies. His assessment is spot on, and in my opinion, due to the fact that open source is no longer playing defense.

For years, the conversation around open source technologies was about “is it really as reliable, as safe, as powerful and as cheap as they claim?" By and large, these conversations have become a thing of the past, and not only are we “open sourcers” ecstatic about this, it’s also given many OSS companies the time and attention to address more of our key competitive differences beyond being open source.

Recently I’ve been spending more time with open source communities. Through global travels, I’ve met with a wide number of those participating in Jaspersoft’s community as well as community members affiliated with Talend, Acquia, Red Hat (Linux and JBoss), R (the statistical analysis language/tool) and a variety of “Big Data” communities, especially Hadoop. In most of these cases, I was delighted to witness growth and vibrancy, with community members talking proudly of what they’ve done and intend to do with these great open source products.

What I wasn’t prepared for was the amount of “sin” going on in these open source communities. What do I mean? Glad you asked.

Open source communities thrive based on the community members donating either their time and/or money. Donating money typically comes in the form of buying or subscribing to the commercial versions of the open source products. Donating time can come in a wide variety of forms, including providing technical support for one another in forums, reviewing and commenting on projects, helping to QA a release candidate, assisting in localization efforts, and of course contributing code improvements (features, bug fixes and the like).

The sin in open source comes from contributing neither one’s time nor money.

Many of the community members with whom I recently spoke admitted to using only the open source (Community Edition) versions of the software and not contributing back in any recent or relevant way to the community and its projects. That’s the sin. If you are receiving big value through the use of a valuable open source project, great, but know that contributing back to the community is necessary to help ensure that community and open source project will continue to thrive and succeed.

So this is my plea for each community member: Contribute. Participate. Collaborate. Act transparently. In a sense, each member of an open source community should embody the principles of open source. That’s what makes this a renaissance. Your contribution is required.

Brian Gentile
Chief Executive Officer


  1. Hi Brian,

    while I understand the "quid pro quo" message conveyed in this post, I can't see I agree with a too literal interpretation.

    Calling it a "sin" to be a mere user and contribute money nor time sounds like it was meant to make people feel guilty. I don't think guilt is a productive sentiment. It will just inspire fear for the software. Surely you don't want your users to fear your software?

  2. Hey Brian,

    Although i think you're spot on, on what makes OSS thrive and grow, which is about the same thing as supporting crowdsourcing for software to raise functionality and innovation, stating as "sinning" just using it i don't find it quite correct.

    Why? Because you're not only providing "free" marketing, but also people that use it *usually* do provide tester feedback and/or more use cases just with a mere action of using it.

    That's my half cent.

  3. I guess this counts as a religious issue if we're talking about sin?

    I disagree that simply using software is a sin. I would say that expecting something for nothing from the software creators once you start using is a sin. Users get on well in communities when they are autonomous, when they work hard to find stuff out themselves before they start asking for help.

    That said, companies can do a better job of empowering their communities in some cases. The time I give as a community member to improve documentation or fix bugs, I expect to benefit the entire community. In some situations, community contributions which undermine corporate revenues are not encouraged. At worst, such efforts are forbidden, if you want to have a paying relationship too.

    The 90/9/1 rule applies here. 90% of your community will only be users. 9% will engage, and 1% will become contributors. That os how it has always been. All you can do is make the 100% as big as possible, to encourage the 1% to grow.


  4. @itexpander: what you describe (tester feedback and use cases) *is* a contribution. Contributions are not limited to just code or forum posts. For example, in a recent survey of community users of one of Talend's solutions we discovered some hidden gems of use cases - and frankly, this is one of the great values of open source communities.


  5. @yves anyway, we could see tester feedback and providing use cases as contributing time to an open source project, making a small extension of what Brian already stated as contributions.

    Personally, being an OSS user for some years now, i see that successful open source projects end up having these kinds of contributions in some day. The main point, like Roland said is to not be afraid to use the software... the rest seems to come naturally with time.

  6. Great comments, thanks for your responses. It might surprise you to know that I agree with all of them!

    In my post, I specifically said that an OS community member can contribute by donating either his time or money. In my definition of "time", I really mean anything a community user can do to contribute back in some relevant way to help the overall OS project and its community.

    This contribution of time could be: being a positive advocate for the OS project at an event, helping to answer questions on published Forums, providing product feedback for beta/release candidates, helping to localize or translate a product, allowing your organization name / logo to be used by the OS vendor or community for basic promotional purposes, or any number of other valuable contributions of "time". Broadly speaking, this definition of "time" proves it is a valuable currency.

    So, I would NOT want anyone to fear an open source project (especially not Jaspersoft!). I would want a bigger percentage of every OS community to consider how it can donate either its time or money to make that project even more successful. My religion is that this principle of collaboration and participation (in any form) is a big part of what makes open source so much more valuable than closed, proprietary models. So let's make it more valuable.

    I hope this helps. Thanks again.


  7. I totally disagree with you Brian. Obligation and guilt are very weak motivators compared with the strong motivations that drive most contributions.

    My full thoughts are on my blog:


  8. Brian,

    I think we all agree Open Source needs community contribution to live a healthy live. I understand your point that contributing time can be done in many ways.

    Now, when I look at my relationship with open source software, I find that I contribute a lot of time to only few products (mysql, pentaho) and projects - the ones that affect my professional life directly. I have a stake in those products, so naturally I spend time on them, and contribute (in various ways) along the way.

    But there is a much larger volume of software products that I regularly use without contributing anything, except maybe sometimes a thumbs up: open office / libre office, wireshark, firefox, chromium, gimp, linux, YUI, apache tomcat, apache httpd, sqlite, drupal, postgres, - the list is just too long. Now if these products would explicitly ask me to do something for them, I would probably consider doing that. The fact is, they don't. They're offering me to download, compile, modify, distribute and - of course - use their software. And for free. So why should I feel like a sinner - guilty - about actually following up and using it?

    Of course, I will contribute if and when I see it fit, but surely there is no obligation on my part? Suggesting otherwise gives the impression of some kind of frustration: "we chose this business model of giving, and you're not giving us back, that's not fair". It's a pity if the model didn't work out as planned, but nobody forced you into producing free software.

    Forgive me father, for I have sinned. And probably will do again, and again, and again...

  9. So, Brian, you would prefer to chop out the 80% of OS Community Edition users who are committing the sins? I doubt it.

    The sheer numbers of active Community Edition users provide validation and legitimization of these projects. And, your conversion rates to Commercial Editions are validation of your business model (is there enough additional value-add in chargeable version).

    How does one decide whether or not to test/evaluate a recently-discovered OS project? Just check the number of recent downloads! Activity in itself is a tremendous contribution to the viability of the project.

    How do you judge the success of a 'movement'? It's not by the number of people who organize it; it's about the number of people it attracts and how many keep coming back.

  10. Brian, love your products but I have to disagree with you here. The mere fact that people and companies are willing to use open-source software IS participation in the community. Without the users the open-source software movement wouldn't exist as it does today.

    That being said, I agree with many of the other comments as well that the main drive for open-source software is the availability of a community to help support, teach and augment the product. Most people will never have the need to participate directly once a product reaches a given maturity level.

  11. Thanks for the new comments. I’m always grateful if my blog can generate an open discussion around open source. Here, I’ll offer some response to the thoughts and questions posed in the above comments.

    First, my post was a general reaction to a wide number of conversations with members of several open source communities during the past six months and was not, in any way, focused on the Jaspersoft community. In fact, I have previously written about the unparalleled size of the Jaspersoft community (in BI) and its relatively high vibrancy, which creates an enormous amount of pride for our company and community.

    Second, this post was intended to draw out the important responsibility that each community member should hopefully feel for gaining the enormous benefits from using modern, open source software. And, in fact, I’ll now emphasize that this is a two-way responsibility. A COSS (commercial open source software) vendor should feel a deep sense of responsibility to provide an increasing array of simple ways for community members to contribute. At Jaspersoft, we take this very seriously, which we know has a meaningful effect on our community vibrancy. For example, through our JasperForge community web site, we offer:

    - Feature voting to help calibrate priorities among the community;
    - Regular community surveys to uncover longer-term needs;
    - JasperBabylon, a project area specifically designed to make localizing our software easier and more collaborative.

    And, we’ve recently instituted a Community Advisory Board, which provides us with more in-depth feedback on a number of strategic topics. These are all outputs of our sense of responsibility to help build a growing, vibrant community.

    Third, I would never intentionally minimize the contribution that comes from simply downloading and using open source software. It is indeed one of the important ways someone can contribute. But, I think (even hope) open source communities can challenge themselves to do better than that. Greater participation by a larger percentage of community members (in any form) breeds better software, and better software is in the self-interest of each and every community member. Some of the commenters here may not understand or agree with this, but I disagree with their notion that increasing ones’ level of participation in an OS community may not be in the self-interest of the individual. Ultimately, better software is what makes the open source model more powerful than aged, proprietary methods.

    Lastly, my blog post, like any, leaves room for interpretation. For anyone who interpreted my use of the word “sin” to connote actual evil, please reconsider. My tone in this post was intended to be inspiring and encouraging and focused on responsibility, not about guilt or obligation (and never desperation). My goal is to challenge every open source community member to explore new ways to get involved and this remains my hope.


  12. There's a single fatal flaw in your post. It is not the idea of open source that is important. It is free software, as put forth by the Free Software Foundation and embodied in the GPL, that is the real force. The term "open source" was made up to try to persuade businesses that the software was okay to use. The real fundamental idea is that it is free to use, in accord with the license, and that extents to not participating, not contributing, not paying if one chooses. So I do not buy the apologetic stance taken to comments after you have already called the lack of aid a sin. Nobody else should either. It is too late after you have written it. It cannot be a sin in any way, shape, or form given the philosophic premise free software is founded on. If developers do not get that then it is too bad, they should practice due diligence before getting involved in any way. It is just the wrong perspective. I have encountered numbers of developers and contributors that think that way over the years of free software development I have participated in, it is highly unimpressive.

  13. Though your intentions behind this post are clearly good, your execution was misguided.

    It isn't that it bothers me that you or anyone else expects something in return for what they give. That tit-for-tat model of giving drives most of the economy we enjoy--great food, quality clothing, cool electronics and a lot of great closed source software. That's a great model which works.

    But many open source companies have figured out a different model that also works. They balance giving most of what they have away for free with something they give tit-fot-tat (extra features, consulting, support, etc) to produce a combination that allows their company to thrive and, in some cases, like your own, dominate market share. That's awesome!

    Your company continues to open sources code because it is good for the company. (If you personally have other motives, that's great, but if it ever came to be that those other motives no longer aligned with the company's best interest I assume you'd be looking for a new job.) So instead of trying to get people to contribute to open source projects (yours or anyone else's) by burdening them with a responsibility to do so, continue to figure out how to give them positive reasons to contribute--like your company has.

    As is often the case, what is actually nicer (giving people incentives vs shaming them into doing things) actually works better anyway in the long run. Luckily your company's actions (which are great) speak louder than your words (which are misguided).