Analyzing the Drupal App Store
Robert Douglass created a presentation for the 2011 Drupal Developer Days in Brussels that has lead to people expressing their opinions about A Drupal app store in quite a few discussions. This post is an analysis of Robert's presentation and the various issues and opinions expressed across the various channels afterward. I The discussions focus on three main issues:
- Value creation versus value capture
- Fighting for the low-end market
- Preserving Drupal's community roots
The first issue is a general dissonance between the strategies and philosophies of proprietary versus open source software. There is no doubt in my mind that open source is a better model overall, but it is clear that it does not always produce the best possible result for the individual contributor: As things are, they get paid by the hour (if at all), while creating products that have sustainable value.
The second issue, fighting for the low end market, is related to CMS competition. The quest to become the dominant CMS is actually about the affects the sustainability of the Drupal project in the longer term.
The third issue is that some people fear an app store model is in direct conflict with open source culture and that it would divorce Drupal from its roots and the Drupal community.
1 Value creation versus value capture
Robert opened his discussion by considering a general problem about open source software: it is an abundant resource -- value cannot be derived from it by classical economic mechanisms and models based on finite, limited resources. He raises several related questions. What will happen if open source is the mainstream? Now people can compare it with propriety software, but will it result in downward competition? On the other hand, why do contributors need to be poor if they create so much value for people and businesses who use their code? How could we empower the contributors to capture value? If the money goes to people who already know how communities work, isn’t there a big chance they can do a lot of good for the community with that money?
Today contributors create value, but do not capture it in a tangible way. Yes, it results in reputation within the developer community, but that won’t pay your rent. This directly relates to the fact that open source is considered an abundant resource, which means it is not a valuable economic asset in the classical sense. There is conceptual difficulty for businesses trying to grow economically, trying to balance hard-to-trade, and therefore scare, skills against use of an easily tradable resource (see ref). Further, economically "real" scarce resources, beyond developer skill, include time and the manage the complexity of software projects. Boris Mann illustrates the relevance of time as a relevant resource for the app store:
Yes, that's right. End users win by spending 15 minutes and $25 dollars vs. 4 hours of configuration. That is "value" for end users which respects their time. The developers of the "app" wins by gaining funding to make that app ever better. (see ref)
Robert calls this type of business by its proper name: value added reseller. He gives grocers and florists as an example: both add value to a product and resell it to customers. The only difference in open source software is that the initial resource (the freely downloadable code) is indeed abundant and easy to trade. Automating tasks and complexity management is value created by the contributors and they should be able to capture benefit from it, too. Robert refers to the struggle many developers experience and the frustration of repeatedly solving the same problems over and over again while building websites for clients: media management, deployment problem, WYSIWYG problems, etc. These solutions are isolated silos and the same effort has to be repeated many times–it is hard to be a perfectionist when you are working on the clock and to someone else's deadline.
My conclusion on the first issue is that it is a problem that goes beyond the decisions about an app store. Drupal businesses face a constant struggle trying to explain to their customers why they should pay a community fee: “That's just supporting my competition!” We can call it a contribution to the R&D and innovation of the system that has lead to the creation of the tools (rules, views, panels) we use for them, too. But this still that only convinces a small percentage of exceptionally visionary customers. The app store may be a solution for the low-end market, but this issue also is present further up-market. A broader discussion is needed to answer this first issue, but it does touch on things many of us face regularly.. Part of the problem seems to be the open source social contract, which I will talk about regarding issue three.
2 Fighting for the low-end market
While the scarce resource and the hard-to-trade skills may always be the same for software development, the solution depends on the market. Small Drupal shops, newcomers and freelancers usually start out aiming for the low-end market. The app store could be ideal in providing the structure that smaller players and projects need, but are actually too small to set up and provide themselves. It is a good strategy to solve this aspect of the problem, as expressed here:
I think merlin's main point is that software development and maintenance costs money, that there's nothing wrong with considering different ideas for how to fund it, including funding models where lots of users each pay a very small fraction of the total cost. (see ref)
Robert told a story on how the Joomla project were envious and wanted something like groups.drupal.org. A few months down the road, the released a a site (http://people.joomla.org) based on a pre-configured Joomla configuration that you can buy for $99 that puts g.d.o to shame. You hear a lot that the Joomla community wants to be more like Drupal, but not the other way around: many Drupalistas do not like the idea of becoming more like Joomla. Management literature calls this behavior “the flight up market”, which is a threat to the survival of the project in the long term (see ref). For example, if Drupal would now flee from small sites and projects to focus entirely on enterprise solutions, this would allow Joomla to keep growing into the Drupal space. Historical cases show how such a flight continues until there is no upper market to flee to, and then it's game over. By providing structure with the app store, the Drupal community creates a niche for independent software vendors (ISV), to be profitable providing solutions for the low-end market.
My opinion is that the Drupal app store is more of an opportunity than a threat; while not creating support structures for the low-end market is a large and dangerous threat. Drupal is not a competitor for Wordpress or Joomla, when it comes down to the low-end mass market. From literature about innovation, it is clear that organizations always go upmarket and both Wordpress and Joomla own the low-market, so guess what …. history is against us. So will we innovate and how? My main concern is not about the idea of the app store but about how an app store will be implemented. Bad implementations of good ideas–those perceived as unfair, unusable or even simply poorly promoted in some way–can easily become counter-productive. Any Drupal app store will have to work very hard to maintain and perhaps expand the concepts of the Drupal community's social contracts to really succeed.
3 Preserving Drupal's community roots
One clear trend in the online discussion so far is people claiming that they will not contribute code to Drupal anymore if an app store comes into being. To them it goes against the very DNA and ethos of open source. This seems to be a real fear and we have seen it expressed before: when Drupal shops emerged for the first time or when Acquia was founded, for example. Those who express these concerns refer to Joomla's app store to illustrate how such a thing can go wrong.
I strongly disagree here. Joomla and Drupal have significantly different cultures: Joomla was born out of a history of conflict (as a fork of Mambo), while Drupal has a history of reconciliation and activism (e.g. Deanspace). I think that we could successfully integrate the app store concept into our mentality and way of doing things, but the fact that a culture of conflict can still surpass us on usability when implementing their groups website should be a wake-up call to us. One question that is beginning to concern me is why the Drupal community seems so prone to panic at the slightest hint of change. Do other communities experience this, too? I've had some of those panic moments myself, like the Acquia announcement in Szeged or the fuze in Copenhagen about Dries key-note. Maybe it is because we really care, we love Drupal like a child and maybe that leads to over-emotional reactions.
From DNA metaphor to social contracts
With the three questions analyzed, I'd like to make a more general remark about the DNA metaphor. It can be related to a metaphor Dries (a.k.a. user/1) likes to use. He compares the Drupal community to a kid and says the kid has a lot of growing up to do. Keep in mind that your DNA does not change as you grow older! It only defines the basic building blocks, not your adaptability or who you will be in the end. Drupal has good, strong DNA and we should be able to grow and adapt well … except for the fact that a community does not actually have DNA, it has social contracts. These are highly varied, based on perceptions and emotions (no two people may actually completely agree on any given principle or agreement that I might perceive as simple and self-evident).
Just as your body changes as you grow up, a community will inevitably undergo change. If the social contracts remain only implicit, it will most definitely result in conflicts, as the medium changes while the attitude does not. To ensure long term harmony it’s important to make the social contracts explicit. We, as a community, are passionate and involved when it comes to design principles (Jeremy Keith’s DCCPH2010 keynote, for example) and architectural priorities (see Larry Garfield's blog). Now we need to apply ourselves to the human side of the same problem:our social contracts.
Hernando de Soto describes how social contracts for value added reselling of real estate were made explicit during colonization of North America (see ref). It seems very relevant for our current discussion so let me give the basic story:
During the Colonial and through the "Wild West" periods in North America, official landowners were often appointed by an old European law system, but settlers considered the soil of America belonged to anyone for the taking. They claimed land following their own rules, their own social contract: the Tomahawk rights. In the end, another social contract was needed between those settlers and landowners: any improvements made were the property of the settler and if a landowner wanted to claim that land, the settler would have to be paid for those improvements. This second social contract changed a conflict into a constructive relationship between settlers and landowners. This eventually became a profession: develop new land, sell the developed land and move on -- the settlers became value added resellers.
I like this story a lot and it is still going on today, but as we've moved from the WW (wild west) to the WWW (world wide web), the conflicts (property rights) and he main players (pioneers versus owners) remain the same.
Part of the discussion goes beyond the low-end market that the app store is targeted at. At the recent DrupalDevDays in Brussels, I noticed some nostalgia for the 2006 DrupalCon Brussels. Was it because it was the last free DrupalCon, or was it for other reasons? Could it be that creating an app store is moving the social-contract more towards "owners" and away from "pioneers"? What support can we create to have the pioneers feel more love, too? A Drupal "free for everything" passport? (I leave it up to you to define what such a passport allows you to do) Creating DrupalCon VIP-rooms that only contributors can enter (payed by the owners of course)? Any other suggestions?
PS Note that I consider many of the Drupal shops to be pioneers, too, not only individual contributors.