Today the existence of several Spanish Public Administrations that released software and, even more, create and lead communities surrounding these projects is an important milestone .
There are few experiences in the world similar to our. This might be the reason why more and more foreign public entities are requesting our advise (Spanish label?). Definitely, this is not an easy process; and it is different from traditional open source community building.
A little background
The open source software concepts are not something new; but they are not too old concepts as well as the rest of the IT- related areas (in relation to other disciplines). The most relevant open source software experiences before a decade ago were located mainly outside the industry or public sector; within developers communities. These groups were those since several years ago and based on their experience were requesting repeatedly to the Public Administration the use of open source software instead of proprietary ones for reasons such as costs, security, openness, etc.
Not too many years ago, these requests were accepted in a generalized manner (Extremadura pioneer case with the creation of LinEx) and followed by the creation and adoption of different Linux localized distros: Linkat, Molinux, Guadalinex ... each one of them including specific software of each administration. With update plans as, for example, Abalar. Then timidly, products as gvSIG began to be created as free products.
While this was a milestone for a decade, the truth is that using open source software and migrating operating system, in the office, in the workplace or in the education sector, is now almost a reality throughout the world, to a greater or lesser extent with cases of more or less relevant at times. Together with the creation of CENATIC, we decided to go further and involve the government in creating communities. Sustainable communities, that would allow to put in value the huge amounts of software developed by public entities with public funds that could benefit companies, research institutions, the Public Administration, that would enable cost savings, jobs creation, generate real business niches that would enable the participation of small businesses and self-employed in the challenge... and not just ICT firms but also training companies, law firms, publishing… What a hard task!
Now, several years later, having overcome some difficulties, we have public software communities, in public administration, in Spain, with the participation of public and private entities, and universities. We have had to analyze each and every one of the similar international experiences, we have had to do hundreds of reports and analysis, we have had it wrong hundreds of times, improving models, comparing opinions with anyone in the world having knowledge. At the beginning as listeners, then as trainees and now as experts. We have had to train ourselves into the intricacies of the public sector, in laws, change management, negotiation skills, economic models and a myriad of other things. But here they are... the communities, our "creatures" (as we feel). At that moment we did not bother to work in working hours or not, on holiday or not, Saturdays and Sundays. Of course many more things could have been done, but if many of us would have said 7-8 years ago that we were going to make the public administration release public softwares along with their communities and participating themselves in such communities, for the benefit of all, we should not have obtained any credit.
The difficulties we have encountered
As the result of years of mistakes, now I take this article to express the lessons learned, identifying the most common problems we have encountered and for which we had to create strategies that are proven successful.
The context in which to create the public open source software communities has nothing to do with the product development itself, or at least it is not the most significant. Generally we found a great product, now completed, many times with different versions that had been contracted (not indoor development) to a company (usually big) by a public entity, in a very expensive situation to maintain and where nobody except the company that created the product has the necessary knowledge to update it, where small companies (99.88% in 2013) have no entry being unable to devote sufficient resources to understand the platform. With a legal status that often, due to ignorance, has been obviated. With a perplexed Public Administration by a working way that escapes the usual public procedures. Affected by a competency law, a intellectual property law, a public procurement law... and CENATIC has to release the product in community. Summarizing, we can classify the problems which usually appear in this process as follows:
They are many and varied. In general, people who are used to open source software know that the quality of code increases as the number of eyes that can view it. We sometimes found that large platforms developed by companies for the government tend to accumulate a number of bugs, documentation problems, code duplication problems, lack of optimization... It often include outdated versions of libraries because the scope of the subsequent updates contemplated only evolutionary developments, not updating the existing platform. Usually, these bugs had been spreading from one to another version because the different versions had been developed by different companies or the same company but with different teams without an integral knowledge of what had already been developed before.
We do not need be alarmed. It is something usual when the available budget is available year by year and then it is difficult to plan in the medium term the evolution of the products. Such problems are usually not very serious, but consume time that could be devoted instead to the creation of the community. The entry barrier when code has no quality or is not well understood, is high.
All kinds of issues arise here. Providers that have included third-party open source components in the product developed for the Public Administration, rights assignments incorrectly performed or directly obviated, mistakes in the specifications of public tenders, which prevent the release of the code; the concept of "asset" for the financial departments of the government, transfers of rights without having the ownership; combination of free licenses and non-free licenses that are not compatibles; the use of open source components but having non-compatible licenses; subcontractors that subcontract, making it difficult to know who owns the code titularity; source code contribution resulting from research project affected by a particular law or code from universities whose intellectual property is far from simple to figure out.
A high percentage of preliminary legal analysis performed by CENATIC have resulted unfavorable, and corrections of all kinds were needed (usually developers are not familiar with these topics). And this step is compulsory before the creation of a community. These are serious problems that can bring legal consequences if not done right. We cannot release code that does not meet the legal requirements to do so.
The procedures followed in public administration are not the most optimal for generating public open source software communities. They are not good to decide, have a budget, hire, reward contributions... and are not good to allow a Public Administration employee to devote hours of his work to a community. In general they are not very flexible and are not agile enough for an environment, such as communities, that move very fast. There are reasons why public authorities have these mechanisms: control. They manage public funds that belong to everyone. Although these processes could be made more flexible, it is certain that there will always be a gap between what is desirable and what should be for everyone's safety.
But the truth is that these problems always arise. And they come at the worst moment, at the beginning of the community, when the community is still weak and the Administration have to encourage their growth in a monitored manner, as a promoter of community in creation. Everything slows down and the first members of the communities are exasperated at what looks like a "immobility" which is nothing more than the usual administration process.
Economic and business issues
Something we learned in CENATIC is that everyone wants something in communities. From fun or staff complacency (altruism) to money. Everything is permissible as long as the rules are known by all members and small groups interests do not affect the whole community. The main economical constraints that emerge in building and maintaining public communities are: the lack of budget after launching the community; the unperceived return on investment effort by members in the community; and the possibility of mistakes in the data collection during the request for information for the community ecosystem. The latter makes such members do not find their right place in the community, hence a problem to deal with.
It is also very common and very difficult to change the fact that public administration believe that once a software had been released through a community, there in no more future investment regarding the respective software. Consequently, this belief complicate the midterm community design and launching phase of the community.
Without a well distributed adequate budget among the participants (not only in cash but also in fringe benefits and effort) and without a properly balanced business niche for each member, there is no community. The participants simply will not be interested on it.
Lack of knowledge issues
They are very common and costly and time consuming to be resolved, and in some cases, impossible to clear up. They generate lots of other problems explained in this document. In general, no one knows how an open source community in Public Administration operates. As I mentioned in the introduction, CENATIC had analyzed almost every international and national experiences and keep in touch with their creators or community managers. Yet there are not many experiences and very difficult to extrapolate in our case, nevertheless on a daily basis, we work to identify and adapt useful aspects from other communities even they are highly heterogeneous.
In general, due to the procedural problems discussed above, public administrations have no knowledge on how work is done in a community. Large companies have the same problem because they are accustomed to work for public administrations directly and have their production processes synchronized with them. Small businesses often understand better open source community processes but do not know how to be involved in a community where there are public administrations and large corporations. Individuals who often work in traditional open source communities are not too accustomed to communities governed by less flexible rules than usual and where end users, mostly clientes, are perplex due to misunderstanding of the support model / community support. Therefore, prior to the initiation of a community, we must instruct one agent by one to understand the community work mode again and again, until they assimilate. But in many cases, the time and budget are excessive and without proper planning, the knowledge occurs when the community has been extincted. In some cases the lack of knowledge generates rejection; in others mistrust, and sometimes it generates fear. We found cases where uncertainty due to anxiety has freezed the creation of a community and only when those fears have been overcomed, the community started to grow (my appreciation and personal thanks of these lines to the pioneers in this process) .
The knowledge transfer about the products is another problem. These products are huge, complex, usually technologically outdated, with code developed by a single company that sometimes had disappeared and sometimes reluctant to transfer the product knowledge because it is one of the assets for other businesses (here, I have to comment that sharing that knowledge generates more business). Without that knowledge about the product, the barrier entry to the community is high for anyone, so we have to deal with this problem as soon as possible so that the community can begin to grow.
Once the community is running, composed of many different types of members, communication problems such as: having periodical meetings, governance bodies of the community meet regularly, meeting areas for businesses and customers and any need for communication amongst members of the community. The CENATIC Community has more than 800 members, not only throughout the country, but also from other countries. Therefore, we had to analyze this context and provide mechanisms for communication. Common problems are usually: the multiple video conferences, multiple digital signing of documents amongst different members, the difficulty for scheduling meetings among various members dispersed throughout the country, or on the venue of the meeting. These are not serious problems and are usually easy to tackle, but are often annoying and sometimes exasperating.
These problems are dangerous. Occur frequently at the beginning, during the first year of the community life cycle and are difficult to overcome. They can disrupt the community. There are always members of the community who have the ability to go to "shortcuts" to achieve what they do not get by their own participation in the community. Powerful companies, other government entities rather than those promoting the community, seek to recover their previous controls on the project, but it will no longer be applicable because the project is now community based. These problems may be the result of a problem of knowledge, as explained before: the lack of knowledge about the functioning of the community (mainly), or lack of knowledge about the rules and procedures for participation that had been defined for the community.
The community is growing, but the platforms released by the public administration require a great effort and if this effort is not rewarded (reward is not always money) may be it will not compensate a person dedication in the community. There are all kinds of experiences and solutions in the world, analyzed by CENATIC, to facilitate participation. These experiences demonstrate that the dedication may be lower with higher productivity. However these experiences are completely heterogeneous, non-repeatable and dependent on the context of each community. These problems should be resolved in a short time, because they can make a decrease in motivation and illusion. Therefore, the solution is not necessarily ask for more dedication to the members, but to make their efforts more productive and focused for the project and, of course, more profitable for them. It may seem a simple thing ... but it is not.
Political or corporate issues
These problems usually arise due to influence character nature. These problems will cause the extinction of the community if they appear at early stages (although there is always the possibility of a fork, the code is free). Generally they consist of changes in corporate strategy or business policy involving the restriction on the participation of some of the leading members in the community: the internal rotation of employees in a company because his participation in the community is not longer well considered; sociopolitical situations can occur that prevent the participation of a particular public body in the community (elections, political strategy change ...). If the core of the community is affected by these changes (which always happens when the community is growing), the community will have little chance so survive. Fortunately, these problems are rare.
Scenic fears issues
Scenic fears are quite common in public administration open source software communities. It occurs mainly in those communities where a large number of companies are involved. All companies are willing and are able to collaborate. Some of them do not cooperate due to fear of silly perceptions in front of other companies with more knowledge in the community (they feel that this can create a bad reputation to potential customers that belongs to the community). Others do not collaborate for fear that their knowledge is can be used by other competitors participating in the community. Others are afraid of doing it wrong, because of their small size. This creates the "periphery effect". All community members are exchanging knowledge with each other, but not in a relationship all-to-all, but by small groups. These are based on membership in the community to make contact with each other but maintain their collaborations in the outer boundary of the community, the boundary separating semi-private conversations of the openly conversation in the community. With “Periphery effect”, the community cannot take advantage of all information due to unclear communication.
These problems are relatively common and should be avoided by all means. Otherwise, it will be very difficult to attract members of the community to participate with all their potentials. And may even be perceived as the "usual" and normal situation of the community.
Today, September 6, 2013
In CENATIC we have made dozens of platform release studies for various public administration. We have created communities of some of them and others are in the process of being created. Since then, many public sector entities have been consulting us in advance before contracting a development, all the above problems are now gradually solved. For several reasons: we have more and more knowledge about what should be the process of creating a public open source community, and the governments and companies are assimilating the concepts needed for each community created. Creating the following community requires a little less effort than the precedent one.
Dozens of companies are now taking advantage from these products released into community, end users benefit by being able to choose from more companies to give them support or future developments. Training companies do business by teaching people about open source products, and companies take advantage of this training to offer their services in relation to these opensource platforms, elsewhere. At the same time, products evolve and improve. We all win.
The achievement... of all community members. Universities, large companies, SMEs, freelancers and entrepreneurs, governments and the general public. From CENATIC, we are pleased to transfer this knowledge everyday and make this model work and have made possible what seemed unreachable.
Is this worth it?
It is not easy at all. And sometimes not pleasant. But I cannot think right now, what is the best way to take advantage of an already developed assets (already paid) by the public administration. I cannot imagine a better model to benefit all the stakeholders. It is not easy, not at all. But I cannot think of a better way in which companies and public entities can cooperate for one as well as the other benefits. I cannot think of a better way to create alliances among companies. And among users. All with different political backgrounds and different territories. I cannot think of a better way to highlight what unites us and not what divides us. I cannot think of a better way in order for public administrations to be in contact with the reality, with users, with universities, with business, large or small. It is an exercise of personal responsibility.
But it is not easy... ever.
Expert in public software communities and CPMO at CENATIC
Download pdf here.
 RETRATO DE LAS PYME 2013. Subdirección General de Apoyo a la PYME. Ministerio de Industria, Energía y Turismo.