7 tips on open-sourcing a project

CommunityOpen source is an attractive badge that most software vendors are eager to wear, especially in times when customers’ budgets are being tightened and their ears are keen to hear about cost cutting. However, many vendors’ approach on open source are filled with myths and false expectations, most probably because they did not experienced it by themselves.

During the last 10 years I have being deeply involved with open source business almost non-stop and from multiple points of view (system integrator, business association, software vendor, etc) and I have had the chance to discuss about it with many different people (customers, vendors, VARs, public sector, contributors, users, etc). So, I will try to sum up what I have learned in the way in just 7 tips, hoping to do my bit in understanding how software vendors can sensibly embrace open source.

  1. Know why you do it: once you open-source a product there is no way back, so you better know why you are doing it. There are many reasons why it would make sense for a company to open-source its technology. For example to improve the quality/functionality of its products, to grow its user base, to gain visibility, to prepare for international expansion, etc. However, open-sourcing will have a profound effect in many of the operations, from sales to marketing, business development and, of course, R&D. Have a very clear understanding of why you are doing so and communicate it internally before going forward.
  2. Make it useful: it seems an obvious tip, but I found several vendors planning to open-source their core product, but keeping an essential part under a commercial license. The result would be a useless piece of software, with no way whatsoever of doing anything unless you pay for the license. Needless to say it is impossible to develop a user community around a useless product. In addition, making a product difficult to install or undocumented will turn it almost equally useless.
  3. Be active: when a potential contributor stumbles upon your project, one of the first things he/she will decide is whether spending a few hours testing and learning about it will be worth his/her precious time. That is, does the project seem active enough and thus guarantee some continuity to make use of initial investments of time. If you just publish it and “let them come and code for free” (sic) you are very much mistaken. You need to show commitment with your own project, by fixing bugs, releasing new versions or answering questions in the forum, especially in the beginning regardless nobody is downloading it. Otherwise, you will not find valuable contributors
  4. Get ready for different kinds of contributions: many vendors have the wrong perception that the main contribution they might receive are “free programmers”. However, the value received from the community will probably have very different forms. To start with, testing and debugging is a cumbersome task that usually consumes around half of the total R&D resources in a product’s life cycle. A large community, by trying it in very different scenarios and by very different users, can hunt the most hidden bug. Moreover, localization, a costly task acting often as an important barrier for internationalization, can be another benefit that the community can bring to the table. User requirements, documentation, expert suggestions and, eventually, code can be some other valuable contributions as well. However, you need to make it easy for users to contribute and be ready to receive and process these contributions in an orderly way
  5. Plan ahead: to outsiders it might seem that communities spring out around any project like magic and that “build it and they will come” is the way to go. But that is far from reality. Developing a community requires a continuous effort in communication and promotion, as well as investing much energy in providing technical support and documentation for free. You might also want to open up your community governance to externals, which will require a careful design of rules and a plan to make it happen. All these tasks mean precious time and resources that should be reserved in advance
  6. Hunt the community champions: members in a community do not behave uniformly. In fact, a year ago I had a look at the behavior of Zentyal forum members and the results were enlightening: just like in Pareto principle, 20% of members were responsible for 80% of posts in the forum. That means that a community will very likely have a small core of enthusiasts, surrounded by a bulk of occasional contributors and users. You need to spot your champions and focus your energies on them
  7. Be patient: developing a community is a complex and long process of engaging in a conversation, creating trust, educating your users, sharing common goals and developing in common. It is not something that you can build in one day, but it will probably take a few years before you can call it a community

April 25th, 2011

Zentyal, five years alive and kicking

Cake ZentyalTime flies! It seems as it was yesterday when we presented Zentyal (then called eBox Platform) at the Chamber of Commerce of Zaragoza five years ago. It was a big thing, because that very day we were making the project open source software, allowing anyone to download and redistribute it, publishing the source code for free public scrutiny and starting the creation of a community.

As 5 years sounds like a round number, this might be a good moment to look back and summarize the lessons learned. I guess the main questions to answer are “If we could travel back in time, would we still make Zentyal open source? Is it worth it?” and “What would we have done differently?”

The first question is easy to answer: definitely yes. I cannot conceive Zentyal as closed source software and I wonder whether the project would exist today hadn’t we open it up then. I could sum up the lessons learned on the way in the following three points:

  • Open source is the best market test: you will learn quickly whether the product has any interest among users and whether it is wise to continue investing your time and money in it.
  • Nowadays in the software market, if you want fast growth and to become a relevant player in your market quickly, you need to be open source. If you prefer a slower, more traditional path of growth, you will probably be obsolete before you can become international.
  • You need to know what you make open source and why: on one hand, once you open up the code you cannot take it back, and it is not straightforward to generate a sustainable business model based on a free product; on the other hand, turning a user forum into a user community is a long and costly process, so you have to be ready to invest time and effort in the community, probably more than what you would initially expect.

And what would we have done differently? I would have had a community manager/responsible since day 1. And I would have created a community-based organization/rules since day 2 (if not since the very day 1). These are key aspects that will define how your users will interact with your project and how your community will evolve. And most importantly, you can only see the results in the long term, so spending a bit of effort in the beginning means big gains in the future.

Anyway, let’s not become too philosophical. This is a time of joy and there is a big chocolate cake waiting to be tasted (courtesy of Heidi, thanks!). Happy anniversary Zentyal and cheers everyone!

December 2nd, 2010

Opening up to the community

NewNameAs I pre-announced in my previous post in this blog, we are planning to change the way eBox Platform is developed. During the past seven years the project has followed a classic in-house development approach, where a company (us) has taken most of the responsibility. And as eBox Platform is an open source product, it has benefited from the help of a community of users. The community contributions have been very valuable, specially when it comes to product feedback, localization, testing and debugging. And thanks to all of us, eBox Platform is becoming a real alternative to Windows Small Business Server.

However, during the last few months, quite a bunch of community members have proposed to become more involved in the project, assuming some of the responsibilities that we are doing (or should be doing) now. From the start, back in 2004, we believed this was the right approach: to take the project to a stage where the community can lead its development, a true open source product. And now we think is that moment! Of course this does not mean that we are stepping out. Quite the contrary, our involvement can only increase from now on. But we believe that more people, not just the employees of one single company, should have the chance to get involved in the project and have the right to assume responsibilities, give their opinion and help taking decisions.

So, following the spirit of the Ubuntu community teams we are launching the Localization Team, a combination of language-specific, self-governed groups which will collaborate to achieve native-quality translations of eBox Platform. This team is just the first step towards a true Ubuntu-like community, with boards governing the community and the technical development and specific teams working on particular areas.

In order to coordinate the Localization Team, we have developed an initial set of simple rules which we consider logical and positive for the organization of translation groups. The team consists of a Localization Leader, elected for two years, as well as a Language Leader and a Quality Supervisor for each language, together with any translator who wants to join a translation group. The Localization Team will coordinate through the Forum and language-specific mailing lists and will meet via IRC once every three months to establish goals and take the main decisions. None of these rules are written in stone and we will be more than happy to see groups adjusting their functioning to maximize their own efficiency. Initially Mateo Burillo, from the eBox staff, will take the lead of the Localization Team, but we hope to see soon candidates from the community interested in coordinating the whole team.

So, if you want to help in localizing eBox to your language, you just need to register in our translation platform and start posting. It is advisable to register in the general translation mailing list too, in order to coordinate with other translators. And if you consider becoming Language Leader, do not hesitate to contact Mateo Burillo (mburillo at ebox-platform dot com) so that he can set up the needed infrastructure (mail lists and such).

Feel free to leave any comments to this post or in the Forum!

August 11th, 2010




Recent Posts