Analyzing the Drupal App Store

Topic:

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:

  1. Value creation versus value capture
  2. Fighting for the low-end market
  3. 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.

PSS Thanks to Jam and Robert for their editorial efforts.

Comments

Brilliant and thorough post, kudos :)

There was so much talk about Roberts Presentation before it was held. Hardly anyone (including myself) could imagine how an appstore could work inside the Drupal ecosystem. With great anticipation I watched the video. I felt Robert takes a - deliberately - aggressive approach in showing how the competition (in this case Joomla) is on our heels more than we like. But his main point in the first part gets through: The low-end customer plain does not care how he gets the job done. He does not care about code quality, even security and for sure extensability are no concerns from him. He just wants to get the damn thing running without hassle. The examples of Jomsocial and the wordpress form module got that point very clear.

So if we want to compete for that market, we have to be up to par with those. The thing is - Drupal can do that. You can build fire-and-forget solutions. Features, Distributions, Themes. And that is where it came to me what the role of an app store could be: it could be concentrated on finished solutions more than d.o. does. We can sell just as well all other modules, and people might still be willing to pay 2 Bucks for Views even if they can download it for free from d.o. One could state that clearly on the front page of the store, but I would not go so far to put a link to the project page on d.o. on the project page. You can be sure the word spreads within a short time you can get the stuff for free on d.o.

So I guess people would not feel cheated but maybe willingly pay. Robert calls that "ease of discovery" and mentions examples where people are willing to pay money for stuff in Apples app store that they can get cheaper or maybe even for free elsewhere. But the modules you can get on d.o. are not the main target, I think. I'd like to believe that the maintainers of "API-like" Modules, like Robert describes it, will continue to offer them on d.o. and are happy to keep on the current practice. Because Merlin and other contrib rockstars gain a lot of respect and "soft" payment for their work. (which does not keep them from probably wanting to burn down the issue queue some days).

What could be a paid service for a module like Views? Premium support? I don't know and do not see this emerging very soon, but maybe the maintainers have creative ideas in their drawers.

But the other part of stuff, that is very end-custumer-oriented like Distributions, Features and Themes, has a much better place in an app store than on d.o. I suppose projects like Open Atrium maintain an issue queue off d.o. also because they want to market the product better. On d.o. you have little possibility to have a big company ad on your module page. If you would place it there, you probably would get frowned upon by the community. This could change at least a bit, by the way, but generally d.o. will maybe never be seen as more of a marketplace and rightly so.

But in an app store, I see no reason why you should not offer very good possibilities for the builder of a theme or distribution to include extensive marketing for their company. The entire place is more commercial, so off you go.

On the long term, d.o. and the store could develop into two mutually-complementing poles: the app store targeting the end customer and d.o. targeting developers and people who know Drupal well. And they could live peacefully side by side. As mixel says and I strongly believe, our DNA is strong. A Drupal App store would still be different than a Joomla one because we are different. Some people like to pluck their flowers out on the field while others prefer to go to the florist. The flower they get may be still come from the same plant.

I like your description on how social contracts are changing as projects evolves and that members of the community needs to realise that is how things are and to adapt to it.

Currently the Drupal community is going through a lot of changes. The launch of Drupal 7 is not going to slow that down, quite the opposite as the improvements in usability is going to attract many new users. A lot of these users have much less technical skills than those of us that have been using it for years. The community is going to need to adapt to this so that they feel as welcomed as possible.

I also agree with you that an app store is a delicate subject and unless it is done right, it might very well end up having a negative impact on the community. It is also something I brought up in a post on Drupal Mill, which coincidently was posted at the sime time as yours :)

I'm not so sure social contracts change so easily. However, the medium used for the contract does change easily. That is why I'm trying to put attention to the implicit versus explicit presence of a social contract. If the social contract is explicit it becomes easer to see that the medium has changed and less evident that social contracts gets disturbed.

The app store should give a % back to each module that is included in the downloaded package. This would motivate people to make super sweet modules so they get included in an app. I see the app store as a place where one buys pre-configured features.
Just my 2 cents * 10,000 downloads ;)

"The app store should give a % back to each module that is included in the downloaded package" -- exactly! This is also what I suggested that site developers should be doing anyway.