Archive for June 2011
Using open source software is not a sin. We encourage it.
Brian Gentile of Jaspersoft usually has some interesting and worthwhile things to say on his blog. But, in his latest post, he seems to have gone stark raving mad (to put it politely).
The sin in open source comes from contributing neither one’s time nor money
He makes the bold statement that using open source software without contributing to that project is a sin. I’m not misquoting him, he says its a sin.
He goes on to say that if you use JasperSoft community edition you are required to contribute.
Your contribution is required.
This is called quid-pro-quo – they does something for you and you must do something for them. In some parts of the planet, certain forms of quid-pro-quo are classified as harassment and are illegal. This attitude towards community also rates very low on the openness scale – Gentile is only open to community members who are going to contribute directly, and within a time-frame that Jaspersoft finds agreeable. I’m not sure the OSI will approve that license.
Obviously I disagree with his statements. Completely. Utterly. On multiple fronts.
Self-Interest
Firstly, open source works best when all participants act purely out of self-interest, and by doing so, the other participants benefit as a side effect. Here are some examples:
- Reduce Future Work: I have contributed bug fixes to Apache foundation and JBoss projects. I did this not because I feel an obligation to do so, but because I want them to maintain the patch in future versions so I don’t have to continually merge my change with each new version. I contribute my bug fixes purely out of self-interest – I want to reduce my future workload. I also didn’t go looking for those bugs. I came across those bugs while trying to use their open source software to solve a real problem or requirement I faced. By contributing my fixes out of self-interested all the other participants gain higher quality software.
- Education and Career: In prior decades it was not easy to show potential employers your prior work – because often all of it was the proprietary intellectual property of your previous employers. Today, if you are a software engineer, technical writer, graphic artist etc, you can contribute to open source projects as a way of demonstrating your work. This is particularly true of certain open source projects – if you have contributed code to the Linux kernel your lifetime earning potential is probably higher as a result. If you are a software engineer and you want to work at RedHat, your application for a position will considered significantly more if you are active in their community.
- Getting It Done: Community members don’t post questions on forums for fun. They do it because they have a problem of some kind, and it is stopping them from getting something done. Maybe their question get answered, maybe it doesn’t. Either way the question is a contribution – often a question it identifies a problem with the installer, or the documentation, or a feature, or the download site, or the expectations set by the web site etc. The asker of the question did not ask it in order to gently identify an opportunity for improvement, they did it out of self-interest, but it still counts as a contribution.
- Status and Satisfaction: It is satisfying to contribute in a community. There is also status and reputation to be gained. While this form of reward is not monetary, career-driven, or externally noticeable, is a benefit that is derived by the participant. If the community member did not feel this satisfaction, they would not waste their time contributing. If there is a particular application area you are interested in (music, graphics, gaming, mobile devices etc), but there are no career opportunities open to you, you can participate in an open source project to satisfy your interest/curiosity.
- Business: Some companies sponsor projects by encouraging (sometimes requiring) their employees to contribute to open source projects. In some cases these companies do this because they are services companies that want to demonstrate expertise with certain technologies to help attract new customers. The company gains attention and reputation, and in doing so the open source project and community benefit from the time and resources (selfishly) donated. Other companies sponsor their employees to contribute because the company relies on the software operationally. To reduce their risk of failures and downtime, the company needs to have engineers on staff who have deep technical knowledge of the software.
- Changing Market Dynamics: The act of choosing to use open source software instead of a proprietary alternative changes the market dynamics in favor of commercial open source companies. Just using the software is a contribution. Sometimes those users tell other people about the software they are using, and encourage them to use it. The community grows, and the market changes more. Over time this dynamic and the continual community growth help all the participants.
As you can see there are many varied reasons people contribute to open source. In all these cases the participants are acting out of self-interest, but the community as a whole benefits from these selfish actions. But guilt and obligation are not on this list – they are very weak motivations.
With a commercial open source software (COSS) project you have a company that is the single most important participating organization. The motivations of this company are very important. It does not matter which company you look at, whether it’s RedHat, MySQL (Oracle), Pentaho, or Jaspersoft, that company exists for self-interest – to make money. There is nothing wrong with this, it’s actually very healthy. If the stewarding company is acting out of self-interest, you should not expect the community to act differently.
Monetizing the Community
Secondly Gentile is making an elementary mistake, one that is common among those that are new to the COSS business model. Gentile states ”Open source communities thrive based on the community members donating either their time and/or money”. Within the COSS world getting community members to buy software and services is called ‘Monetizing the Community’. It is a clumsy term that encourages misguided actions. I refer to my Beekeeper model. In there I state:
Customers are corporations, the community are people. They have very different needs.
The Beekeeper model makes it clear that it is pointless for a COSS company to try to sell it’s enterprise software and services to community members. This statement is true for all COSS companies that focus on business software (it is not true for open source consumer software such as games). This distinction is important, and it is missing from Gentile’s desperate plea. I’m guessing that only a very small percentage of the Jaspersoft installations are for personal use. Reporting software just isn’t that much fun. The majority of Jaspersoft’s installations are for business purposes. The individual who installed the software is usually a technical end user or an IT developer. Either way, the individual is not going to buy the software for their own needs – if a purchase of software is made, the customer will be the employer, not the community member. As a COSS company you can provide tools for your community members to persuade their employers to become customers, and you can explain how this benefits both companies involved and the community. For most COSS companies is it impossible to monetize the community directly, and therefore ridiculous to try. Trying to berate community members into purchasing business software shows a remarkable lack of understanding of the commercial open source business model. Asking, begging, or requiring community members to purchase your software is futile, Gentile.
I’m not pretending that the COSS business model is easy. I’m not pretending that Pentaho does not have room for improvement either. I am stating that Pentaho provides more BI functionality in open source than Jaspersoft, and that you are welcome to use that software – sin-free and guilt-free.