I have participated to the 2nd International Free/Open Source Software Technologies Workshop in Riyadh, Saudi Arabia few weeks ago. The Workshop was organized by and took place in the King Abdulaziz City of Science and Technology (KACST), an impressive campus for advanced technology research and development. Before the Workshop, my expectation was that I was here to share my experience and expertise with the participants. Nevertheless, the talks have proven me wrong, that there were very interesting developments taking place in Arabic open source community, and at the end I’ve learned much more than I’ve “taught”.
On the first day of the Workshop I delivered a talk on Pardus, spending few minutes on the lessons we have learned from the successes and failures of the last 7 odd years. I think it may be wise to summarize this part of the talk for those that are or may in the future walk the same walk. The title has “national” in it, but the same success factors should apply to regional and local governments, companies and other organizations alike, after a simple conversion of scales and terms.
Here are the six success factors for your open source project:
You have to have enough of it, throughout the project. If at any point of time you are short in cash, you should expect lots of other problems arise, closely and remotely related. At the beginning the requirements are modest, and you may easily find a sponsor/investor for your project. But you have to grow as the demand grows, which sometime means lots of money and in short notice. You should warn your sponsors/investors beforehand, or have a B-plan in case they do not/cannot provide the necessary cash.
Pardus project has gained momentum throughout 2006 and 2007, where we had Pardus 1.0 and Pardus 2007, the former being a very impressive debut release and the latter being the distro of its time. We had to act fast and grow by the second half of 2006. But being an internally funded project in TUBITAK UEKAE, we were stuck to a team of 15 or so. We have requested central budget support from DPT for 2007, but some unfortunate events shut those doors close. We have even contacted VCs for outside funding, to no avail, “this may be a 20-50 million $ company, but surely not a billion $ company” we were told. At the end the necessary funding came in 2010, 3 years too late. And by then part of the momentum was lost, and lots of opportunities have been missed, and things have never been the same as late 2007.
Being in software and/or services sector, your most important assets are your human resources. Both the quality and, as time proceeds, the quantity counts. The caliber of your product is very much correlated to the expertise, creativity and passion of your team. You have to take good care of your team, and be prepared to extend it without sacrificing the quality.
The first generation Pardus team in TUBITAK was top notch, very likely the dream team of open source in Turkey. They have conceptualized, designed and developed one of the best debut distros (Pardus 1.0) and the best distro ever (Pardus 2007). Unfortunately we have not been able to hold most of them with us afterwards. And again unfortunately the Turkish open source sector was not mature enough to make good use of them. We are happy to see them executing very serious work elsewhere, and a bit sad that they are not with us anymore.
Don’t get me wrong, we still have the most impressive team in open source in Turkey, and right now we have one first, one first-and-a-half and one second generation developer in the executive board of Pardus project. Nevertheless I’d like to have the dream team with us, guiding these fine youngsters; in spite of the potential manageability problems that we might have 😉
Among the things that you may control to have a good team and keep them are working environment (or lack of thereof), intellectual and/or technical challenges (which attract best of the breed), career path, other team members, and last but not the least the compensation.
When I say “project” I mean a “product” project, such as a distro (like Pardus), some certain software, some service bundled to an existing open source product, etc. You have to keep in mind that the important word is product and not project. The number of successful open source products is much less than the number of successful open source projects. Definitely the process counts, but as an asset and not at the centerstage. You have to achieve and sustain the rigor, consistency, continuity, dependability, and, if you wish, marketability of a product as in proprietary software world, or in a market economy in general. You may not like this, but c’est la vie, these are the things that convince the ordinary user/customer to use your product, and not the competition .
We have had release managers for each release in Pardus, and the outcome depended much on the their (sometimes personal) choices. Pardus 1.0 and 2007 were releases to attract the (wo)man on the street, and it showed. Pardus 2009 and 2011 were, on the other hand, tried to satisfy the needs of the more advanced Linux users, and the ease of use was somehow sacrificed. If we had had some stronger product policy, maybe a product manager (we’ve tried to use some community representative to fill this void, but execution was not as brilliant as the idea), or even a marketing manager we would have a straighter evolution line. Now even our dedicated users are asking “why you released 2011, it’s almost 2009”, and they are right…
Again, don’t get me wrong, 2009 and 2011 are very fine Linux distros. Some usability studies say 2009 performing better in some end-user usability measures than its predecessors. Still, I personally think that, as compared to their contemporaries, 2009 and 2011 are steps backward in general audience attractiveness…
With these observations at hand, we are reorganizing our release policies and processes. We are going to put some brief but strict definitions for the target user of the Pardus 2000 series, the requirements for the product in order to be competitive for this target group, the technical requirements for the individual pieces in order to be in line with these general requirements and finally a new organizational/procedural structure in order to make all these policies work, without being dependent on any person… We hope to be back on track with Pardus 2012 and hope that the succeeding releases will get better…
There is one slogan I’ve heard from a former community manager “An open source project without a community is deficient.” and this may not be more true. You are likely to have your product (or a subset) to be available publicly with an open source license, and very likely you are not going to provide support for this “community edition”. As the name implies, the support for this edition is the community. In addition community is (or may be) part of QA, part of marketing, part of product management, part of several essential components of the product lifecycle. This is what make an open source software different than a proprietary competitor. The “community” includes your (outside) developers, your ecosystem (mostly companies) and your users. You have to take good care of your community in order to succeed and do so repeatedly. A strong community means a strong product. You have to support your community in order them to get flourished, but you have to keep in mind that eventually your community should become self sustained…
Regarding user communities, we have outsourced the community building and management task since the very early days. The contractor has performed surprisingly good in the first few years, and in some areas. Once a marketing consultant unofficially auditing us (in spite of the fact that he disagreed with outsourced community management) have given them full grade, even more… Still, things did not work as planned. As time passes the community folded onto itself, the newcomers were not as many as they used to be, the gap between the developers and users widened, and so on…
Very recently we have decided to do community management in house, assigned some big talent and hired an expert for the task. The first diligence they have carried out was not very optimistic: Apparently the user community has some problems with governance, always seeking external directives. Right now we are trying to encourage the community veterans to take hold of the control of the existing portal. Almost 4 years of hard work, and with a simple change of coordination everything starts trembling… Not very impressive, we would’ve paid much more attention to governance and self sustainability of the community, much earlier 😦
We have tried to start some partnership programs almost 3 years back, but the outcome is not very convincing. The larger firms have not been interested much, the smaller ones lack the necessary means for marketing and product development. At the end, we had to become the main contractor and subcontract the parts to our partners. This works well for supporting the ecosystem, but neither is consistent with our business model nor in the benefit of the customer on the long run. As the current projects approach to end with successful results, we hope to have more interest from the existing IT companies.
Universities should be an important part of your community. One part they are the sources of the advanced users, which affect their surroundings in their professional and business life. One the other hand they may be your developers, with lots of youngsters looking for exciting and challenging projects. Our collaboration with one such university have been very fruitful, in the first year they have built the 64-bit infrastructure and right now they’re incorporating other desktop environments in Pardus. We definitely plan to extend this collaboration model into other universities…
We have stressed the importance of the product before, but it never suffices. It may be possible to continue a project without financing, a team and a community; but if you do not have any users, you are doomed. Don’t forget you are responsible to create awareness about your product in the user base. Don’t expect the users flock to your site and start downloading. Once you have users do not try to shape them, instead listen to them. If what they are telling is completely out of line, you have reached wrong user base. If that makes sense consider reshaping your product accordingly so as to expand your user base.
As most of other software, Pardus has been designed and developed for a hypothetical user, initially. Apparently the hypothesis was accurate, and especially Pardus 2007 has been accepted by the targeted users. I have to add that the failure of Microsoft Vista helped much to this result. With later releases we have lost focus on the user, or the user base we have acquired by the earlier releases, and that showed in the slow (or non-existent) adoption rate. In addition, in relation to the community issues, we have somehow lost the direct connection with the user, which is also bad for the user adoption.
We have tried to keep in touch with the user base, using proxies (once under the name Product Manager, and once under the name Release Community Representative), which were right steps forward. Nevertheless the execution have not been as expected for neither one, due to several factors.
We have to reshape our relation to the user, especially for the “community edition” we are going to have. It is not clear yet how we are going to do that, but we are aware of the problem and working on it…
The “National Open Source Project” is a supply-side action and most of the above success factors are also related to production and development. It is very likely that your product facing severe competition, very likely from proprietary software and very likely to hold some almost-monopoly position in the market. Hoping to have “fair” competition and market forces play their role for the better and more efficient product (that is yours, right?) take over the market share is highly optimistic (even wishful thinking). A reasonable demand-side support does not hurt… Policies to encourage migration to open source, to consider open source solutions before making an acquisition, to reuse already existing solutions, to use open standards, etc may be put in place so as to have a better Return on Investment for your project.
For Pardus this may be one of the weakest points. The e-Conversion Turkey master project have had actions related to use of open source in government, but it was for having something related to open source, and far from being some policy precursors. We, as the Pardus project, had to struggle to prevent Office Open XML from becoming and ISO standard or to keep Microsoft formats out of interoperability guidelines.
Without much policy backing, only eraly adopters and risk takers from the government have considered using Pardus and open source. And this cycle for adoption is slow in both time and growth. The enterprise users/customers are still only a handful after 6+ years.
These six factors are the ones that I think of utmost importance. If you have fulfilled all of them, but still your project is struggling, let me know. If you have spectacular success in your project, with one or few of the factors missing, let me know again. I’ll appreciate your help to keep this list accurate and up-to-date…