Importantly DrupalCon is no longer all about code. For myself the business track and social events for agency founders and management provided an opportunity to learn and share ideas concerning running an agency, growth and evolving the market. These few days at DrupalCon each year provide an ideal opportunity to reflect on what we do right and what we can improve.
A key theme set by the keynote by Drupal founder Dries Buytaert was that of 'contributing back' and plans to represent the associated kudos through profile badges powered by formatted credits in commit messages. It's clear Drupal the community is reaching a size and maturity that has drawbacks as well as benefits. The keynote acknowledged that the contribution of an individual no longer returns the same proportional benefit or personal reward in the form of 'acknowledgement' as in the early days. Combined with increased technical complexity (more bugs) the development cycle naturally slows unless the community can scale. This has been demonstrated by the wait for Drupal 8 release. With a slower release cycle comes increased risk of the community splintering or starting to stagnate. Technical people inherently like 'new' things so it was with great relief that the culmination of the keynote was a commitment to a Drupal 8 beta 1 release before the end of the week. By the next morning that commitment was met.
So how does a mature community scale and maintain the motivation to move quickly?
As the founder of an agency that builds Drupal solutions daily I obviously sat there guiltily wondering how we can improve our contribution to a project that has allowed us to grow a commercial business. It's easy to feel 'dirty' when making money from open source. After all this is code given for free by others so it's easy to assume use for public and social good trumps commercial enterprise. However, I believe a commercial agency ecosystem is an essential factor to ensure a sustainable future of any community. Dries talked about Drupal becoming a 'Public Good', in the same way as other infrastructure (roads, public services). In order to scale Drupal needs significant input from commercial agencies and more importantly end clients to embrace the root principals of open source - seeing ROI of contributing back.
We have worked with VERY few clients who will pay for our time to contribute back code from their project. Whilst we regularly fix and improve community code as part of delivering a project, it usually falls to individual developers in down-time, or even on their own time to submit this back to the community. We've considered increasing our rates to cover the cost, but this will make us more expensive than our competitors. Should we make community sharing a part of our core business terms? From discussions I've had, there seems no clear approach, so clients pick and choose agencies without consideration.
This is wrong!
I believe client opinion stems from there being no clear compelling business case for giving back. If doing so created brand exposure for clients (or better still if their customers demanded it as part of a 'responsible supply' chain) open source communities like Drupal wouldn't have trouble scaling.
So I'm firmly supportive of crediting those who pay for the time spent improving Drupal, clients, agency or developer - all time has a 'cost' financial or personal. I can see hiring / sponsoring a 'core contributor' becoming more attractive to larger agencies, funded from marketing / community support budgets. As with all mature competitive systems there will be winners and losers but providing that credit is accurate, fair and gains sufficient - publicity will certainly help us.