Presentation of Odoo (formerly OpenERP) CommunityTools

Hello everybody!

Today I’d like to present you another project I am working on. I already made a presentation here about the Wikicompare project [french], so to give some news about it we already have a fairly good MVP (Minimum viable product) and we are waiting for a good occasion to start using it.
You can see the MVP here : http://dev.wikicompare.info/, it contains some demo data on the ERP topic (false data of course, please no troll :) )

During the development of Wikicompare, I had the chance to meet “Valeureux”, a french association who want to create tools to dynamize communities. They think, and do I, that communities will take more and more importance in our world, but many fails to develop their members size, to really implicate them, argue for personal reasons when decisions must be taken and simply fails to reach the objectives which first bring his members together.

We think that there is currently a lack of tools for them, and also that not many people know which process shall be used to manage communities. This is what we want to resolve, we want to create a framework for communities which will contains all the tools they need, kind of an “ERP for Communities”.
There is some other peoples who try to achieve the same goal but not with the same technology. They call this kind of system NRP, for Network Resource Planning, of course derivated from ERP. We like this acronym, as this demonstrate clearly that NRP is an evolution of ERPs adapted to manage communities, and we will call the Odoo CommunityTools as such.

We think that Odoo is the right technical base for this project. The OpenObject framework is one of the most efficient for such process-oriented project and Odoo already contains a lot of modules needed, such as messaging, groups, project and timesheet, forum etc… and many communities will also need more business oriented features like sales management, CRM or accounting.

Which features ?

Marketplace

The first problem we need to resolve is to better implicate the members. The interactions between members are critical for this and one way to improve it is to allow them to exchange goods and services, this is why we developed a marketplace module, so everyone know the needs of the other members and can contact them.

Alternative currencies are getting popular these days, for example with global digital currencies like Bitcoin or local currencies like “Abeille” in France which aim to improve local exchange by keeping the currency inside a territory. We may also quote the very-used WIR in Swiss which exist since quite a long time.
We’d like to help theses alternative currencies and so the CommunityTools support many form of them :
-External currencies, which means all currencies not generated by the framework. It can be official currencies like euros or dollars, or bitcoins, WIR etc… You can use them to pay an exchange in the marketplace, it can be declarative (receiver confirm on NRP that payer gave him the money) or trusted third party (payer first charge his account by giving the money to the owner of the NRP, which then update the receiver account after the exchange).
-Auto-generated currency, this currency only exist in the NRP and is very useful for exchange inside the community. It is also controlled by the community leaders, and can be easily used to reward the people who are most implicate in the community goal. The way this money is generated shall be decided with caution, for example a fix amount is distributed at the beginning or a fix amount for each new members, to avoid inflation.
-Abundant, there is no real limit to the generation of this currency and it can’t be used to pay an exchange in the marketplace. You can for example define an abundant currency “Thank” so a user can generate a “Thank” when he want to simply reward someone for an action. You can compare this kind of currency with a “Like” in Facebook.
With the exception of the abundant currency, each currency is manage with the accounting module of Odoo. Each user has on his personal page the balance of all the currencies defined in the NRP.

Of course, you can also create on the marketplace announcements about the main needs of the community, to more easily find people to resolve this need while motivate them with the currencies managed inside the system. Thanks of this, the marketplace module is one of the best way to implicate members while finding resources to reach the community main goal.

Governance

Another important module is the governance module, which allow the community to make decisions.
Most of us know the vote by majority, decision is taken if 50%, 2 / 3, whatever, of the people vote yes. This is not really the best vote method, as the decision is taken while many people were against it, and the will of the minority is simply ignored.
There is many others decision method, like the decision by consent (http://www.solutionsiq.com/resources/agileiq-blog/bid/89098/Consent-for-Decision-Making-in-Agile-Organizations) where the goal is to debate until nobody has justified objections (not meaning everyone have to agree).
Also for election, there is another interesting process called election without candidate, where no candidate are proclaimed before the election but instead each people spontaneously say a name. The one with the majority of vote is then elected, if nobody has justified objections.
Most of theses ideas come from alternative ways of governance like Sociocracy (http://en.wikipedia.org/wiki/Sociocracy) which we would like to promote. Within the governance module, you’ll find classical governance method like majority but also alternate ones so you can decide which one you want to use. We planned to design the module so facetoface event is unnecessary, so decisions can be taken with people geography distant.

Others

For a community to be efficient, you often need to divide it into group to better implicate their members. For example one group is in charge of the development, another the design etc… We use the group concept already existing in Odoo, we improved them so they can be in arborescence, in marketplace there can be announcement in a group context or even created at the name of a group, decisions can be made within a group etc… In short, this is a concept we find in every CommunityTools modules and which define the context.

Another important point is the communication. Here there is nothing to reinvent since Odoo already had it : internal messaging linked to record, notifications, instant messaging, forum. Not only communication between members but also to the exterior, the blog, the events, the CMS itself will allow the community to better communicate about theirs actions and what they want to do.
Personally, I am still unsure about the quality of the CMS, I worked in a webagency and I have some doubts that it can really be used for a professional design for now, but the new CMS for sure is simple to use and I’m sure this simplicity can be a really good point for communities which will concentrate on the content they want to publish and need a tool they can immediately use.

I only gave you some of the features we plan to develop, Social CRM, Crowdfunding, Reputation management and many more are also on the pipe.

Example

The power of theses modules may be difficult to understand, so let me take an example. If they are interested, what would theses modules bring to the Odoo Community Association if they have an NRP?
An integrator member from Spain may have a bug he isn’t able to resolve, he will post an announcement on the marketplace proposing 100COM (auto-generated currency) for anyone able to resolve the bug. Another member from Brasil help him and then obtains the 100COM that he will then be able to use if he need some help from another member. Of course, you can also use the marketplace to find a subcontractor for a customer project, with currency in euros or dollars.

Similarly, if a module need to be developed, the decision to fund his development will be taken thanks to the governance module, and then first an announcement will be posted on the marketplace to make the conception. People interested use the communication tools included in Odoo to make the specifications, and then another announcement is posted to make the development.
Once the module is ready, the people invested in conception and development are rewarded either in COM, so they can use it with the other members, or real currency if the module was funded by crowdfunding. They also win some reputation points, and so gain some visibility inside the community.

This is only a fraction of the potential, I hope there will be many people to share this vision with us.

Who might be interested by this platform ?

First of course the associations. Due to their often lack of money, they don’t have real good tools currently and an open-source platform which have all the features they need would really be a relieve for them. We also want to give them some way to improve their financial situation, for example by controlling the access to the platform with a periodic payment, taking a tax on the transactions of the marketplace or simply crowdfunding.

Local authority (at least in France) also shown some signs of interest in such a platform, especially the marketplace. Their main preoccupation is to develop the local economy, and there is already a lot of experimentation to implement marketplace + alternative currency. We would like to provide the framework they need for this kind of projects.

Co-ownership, and in general any neighbor community. I personally see a great potential here with the marketplace, because it’s a way to know who my neighbors are, they skills and interest and ask their help if I need them, and conversely. Also, the governance module may be a revolution, by allowing to make decision for the coownership without waiting for the yearly meeting.

And Enterprises, by many ways. It can be a way to improve exchanges between employees and so better implicate them or trying a less hierarchical governance.
Even in prospection and sales, I believe the concept of community will take more and more importance. Even now social network like Facebook/LinkedIn etc… take more importance in prospection and we start to see many tools to manage the communities on social network, this is called Social CRM and we can quote tools like Nimble, NationBuilder etc… I really think that it’s critical for Odoo to have such module, I don’t know if it’ll be in Odoo SA official module or in CommunityTools but we really need it.
Community management for business is often simply summarized by some communication from the entreprise to the community. No co-building, no co-decision, no real exchanges between members, this is by no way real communities according to me. Everything still need to be invented and by being the best open-source ERP and with the CommunityTools, Odoo might very well become the perfect tool to achieve this.

Thank you for reading this long presentation.If you want to look at what is already done, you can go look the code here : https://launchpad.net/openerp-communitytools .

We don’t have any website yet presenting the project but we will do a presentation at the Odoo OpenDays 17h20 on Thursday “Use Odoo as NRP, Network Ressource Planning”. If you have any questions feel free to contact me at yannick@empower-us.org.