community https://matthewtift.com/ en Interpreting the Drupal Core Commit History https://matthewtift.com/interpreting-drupal-core-commit-history <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Interpreting the Drupal Core Commit History</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>(This article was first posted on <a href="https://www.lullabot.com/articles/interpreting-drupal-core-commit-history">lullabot.com</a>.)</em></p> <p>According to Drupal’s <a href="https://www.drupal.org/contribute/core/maintainers#maintainer-types">community documentation</a>, “The Benevolent Dictator for Life (BDFL),” Dries Buytaert, is the “chief decision-maker for the &#91;Drupal&#93; project.” In practice, as <a href="https://dri.es/drupal-15-years-old-and-still-gaining-momentum">Dries has pointed out</a>, he wears “a lot of different hats: manager of people and projects, evangelist, fundraiser, sponsor, public speaker, and BDFL.” And he is chairman and chief technology officer of a company that has received <a href="https://www.crunchbase.com/search/funding_rounds/field/organizations/funding_total/acquia">$173,500,000 in funding</a>. Recently I was wondering, how often does Dries wear his Drupal core code committer hat?</p> <p>In this article, I will use data from the Drupal Git <a href="https://git.drupalcode.org/project/drupal/commits/8.8.x">commit history</a>, as well as other sources, to demonstrate how dramatically the Drupal core “code committing” landscape has changed. I do not intend to tell the <em>entire story</em> about power structures in the Drupal community in a single article. I believe that issue credits, for instance, <a href="https://www.lullabot.com/articles/who-sponsors-drupal-development">offer more clues</a> about power structures. Rather, my analysis below argues that the process of committing code to Drupal core is a far more complex process than some might assume of a project with a BDFL.</p> <h2>Understanding Drupal Core Committers</h2> <p>Whereas Dries used to commit 100% of the core code, he now leads a team of <a href="https://www.drupal.org/contribute/core/maintainers#committer">core committers</a> who “are the people in the project with commit access to Drupal core.” In other words, core committers are the people who can make changes to Drupal core. We can get an idea about the work of core committers from sites such as <a href="https://www.openhub.net/p/drupal/contributors/summary">Open Hub</a> or the GitLab <a href="https://git.drupalcode.org/project/drupal/graphs/8.8.x">contributor charts</a>, but those charts omit key details about this team. In this analysis, I’d like to offer more context.</p> <p>The Drupal core committer team has grown exponentially since the start of the Drupal codebase more than 19 years ago. At present there are 12 core committers for Drupal 8, and from what I can tell, these are the dates that each new core committer was announced:</p> <ul> <li>2000-05-18: <a href="https://git.drupalcode.org/project/drupal/commit/008612ad49">Dries Buytaert</a></li> <li>2007-04-17: <a href="https://dri.es/gabor-hojtsy">Gábor Hojtsy</a></li> <li>2008-08-30: <a href="https://dri.es/angela-webchick-byron">Angela Byron</a></li> <li>2011-09-27: <a href="https://dri.es/nat-catch-catchpole">Nathaniel Catchpole</a></li> <li>2013-04-02: <a href="https://dri.es/alex-pott">Alex Pott</a></li> <li>2015-04-16: <a href="https://www.drupal.org/project/drupal/issues/2457875#comment-9831039">Alex Bronstein</a></li> <li>2015-04-16: <a href="https://www.drupal.org/project/drupal/issues/2457875#comment-9831039">Jess</a></li> <li>2016-09-28: <a href="https://groups.drupal.org/node/514179">Chris McCafferty</a></li> <li>2017-03-10: <a href="https://groups.drupal.org/node/516400">Roy Scholten</a></li> <li>2017-03-10: <a href="https://groups.drupal.org/node/516400">Lauri Eskola</a></li> <li>2017-06-09: <a href="https://groups.drupal.org/node/516921">Lee Rowlands</a></li> <li>2017-11-11: <a href="https://groups.drupal.org/node/517837">Francesco Placella</a></li> </ul> <p>Unsurprisingly, one task of a core committer is to commit code. For a Drupal core committer to consider a change to Drupal, the proposed change must advance through a series of “<a href="https://www.drupal.org/core/gates">core gates</a>,” including the <a href="https://groups.drupal.org/node/158759">accessibility gate</a> and the <a href="https://groups.drupal.org/node/158769">performance gate</a>. Code must pass Drupal’s <a href="https://groups.drupal.org/node/158774">automated tests</a> and meet Drupal’s <a href="https://www.drupal.org/docs/develop/standards">coding standards</a>. But even after making it through all of the “gates,” only a core committer can add, delete, or update Drupal code. At any given time, there might be 100 or more Drupal core issues that have (presumably) gone through the process of being proposed, discussed, developed, tested, and eventually, “Reviewed &amp; tested by the community,” or <a href="https://www.drupal.org/project/issues/drupal?text=&amp;status=14&amp;priorities=All&amp;categories=All&amp;version=8.x&amp;component=All">RTBC</a>.</p> <p>Core committers can provide feedback on these RTBC issues, review and commit code from them, or change their status back to “Needs work” or “Needs review.” Just because core committers have the power to commit code does not necessarily mean they view their role as deciding what code gets into core and what does not. For example, Alex Pott told me, “I feel that I exert much more influence on the direction of core in what I choose to contribute code to than in what I commit.” He said that he views the RTBC queue more as a “TODO list” than a menu from which he can select what he wants to commit.</p> <p>Many people might not realize that core committers do a lot more than just commit code. On the one hand, as Dries shared with me, “The hard work is not the actual committing – that only takes a few seconds. The hard work is all the reviews, feedback, and consensus building that happens prior to the actual commit.” Indeed, core committers contribute to the Drupal project in many ways that are difficult to measure. For instance, when core committers offer feedback in the issue queue, organize initiative meetings, or encourage other contributors, they do not get any easily measured “credit.” It was Jess who suggested that I work on the <a href="https://git.drupalcode.org/project/drupal/blob/8.8.x/core/MAINTAINERS.txt#L124">Configuration Management Initiative (CMI)</a> and I will be forever grateful because her encouragement likely changed the course of my career.</p> <p>The core committers play significant roles in the Drupal project, and those roles are not arbitrary. Each core committer has <a href="https://git.drupalcode.org/project/drupal/blob/8.8.x/core/MAINTAINERS.txt#L10">distinct responsibilities</a>. According to the <a href="https://www.drupal.org/contribute/core/maintainers#committer">community documentation</a> (a “living document”), “the BDFL assigns &#91;core committers&#93; certain areas of focus.” For instance, within the team of core committers, a <a href="https://www.drupal.org/contribute/core/maintainers#product-manager">Product Manager</a>, <a href="https://www.drupal.org/contribute/core/maintainers#framework-manager">Framework Manager</a>, and <a href="https://www.drupal.org/contribute/core/maintainers#release-manager">Release Manager</a> each has different responsibilities. The “core committers are a group of peers, and are expected to work closely together to achieve alignment, to consult each other freely when making difficult decisions, and to bring in the BDFL as needed.”</p> <p>Part of my goal here is to show that the commit history can only tell part of the story about the team of core committers. I’d also like to point out that in this article I limit my focus to Drupal 8 core development, and not, for instance, the work of the <a href="https://git.drupalcode.org/project/drupal/blob/7.x/MAINTAINERS.txt">Drupal 7 core committers</a>, the maintainers of the 43,000+ <a href="https://www.drupal.org/project/project_module">contributed modules</a>, the Drupal <a href="https://www.drupal.org/about/strategic-initiatives/documentation">documentation initiative</a>, conference selection committees, or any of the other groups of people who wield power in the Drupal community.</p> <p>This work is one component of my larger project to evaluate publicly-available data sources to help determine if any of them might be <a href="https://www.drupal.org/project/diversity/issues/2929249">beneficial to the Drupal community</a>. I acknowledge that by counting countable things I risk highlighting trivial aspects of a thoughtful community or shifting attention away from what the Drupal community <a href="https://www.drupal.org/about/values-and-principles">actually values</a>. Nevertheless, I believe that interpreting Drupal’s <a href="https://git.drupalcode.org/project/drupal/commits/8.8.x">commit history</a> is a worthwhile undertaking, in part because it is publicly-available data that might be <em>misinterpreted</em>, but also because I think that a careful analysis reveals further evidence of a claim that Dries and I made in <a href="https://www.lullabot.com/articles/who-sponsors-drupal-development">2016</a>: Drupal “is a healthy project” and “the Drupal community is far ahead in understanding how to sustain and scale the project.”</p> <h2>Who Commits Drupal Core Code?</h2> <p>The Git commit history cannot answer all of our questions, but it can answer some questions. As one GitLab employee <a href="https://about.gitlab.com/2018/06/07/keeping-git-commit-history-clean/">put it</a>, “Git commit messages are the fingerprints that you leave on the code you touch.” Commit messages tell us who has been pushing code and why. The messages form a line by line history of the Drupal core codebase, from the <a href="https://git.drupalcode.org/project/drupal/commit/008612ad49">very first commit</a>, to the “<a href="https://dri.es/happy-eighteenth-birthday-drupal">birth</a>” of Drupal <a href="https://git.drupalcode.org/project/drupal/commit/6e88265b1f5fd984c7bff8207e214982ec260e3e">1.0.0</a>, to <a href="https://git.drupalcode.org/project/drupal/commits/8.8.x">today</a>.</p> <p>The commit history can answer questions such as, “Who has made the most commits to Drupal core?” Unsurprisingly, the answer to that question is “Dries”:</p> <p><img src="/sites/default/files/2019-06/commits_by_committer-1_0.png" alt="" /></p> <p>However, since 2015 Dries has dramatically reduced his core commits. In fact, he only has <a href="https://git.drupalcode.org/project/drupal/graphs/8.8.x">4 commits since October 2015</a>:</p> <p><img src="/sites/default/files/2019-06/commits_by_dries-1.png" alt="" /></p> <p>If someone just looked at the <a href="https://git.drupalcode.org/project/drupal/graphs/8.8.x">contributor charts</a> or a graph like the one above, they might not realize the fact that Dries is as committed to Drupal as ever. He spends less time obsessing about the code and architecture and more time setting strategy, helping the Drupal Association, talking to core committers, and getting funding for core initiatives and core committers. In recent years he has dedicated considerable time to communication and promotion, and he has been <a href="https://dri.es/drupal-collective-purpose">forthcoming</a> with regards to his new role. He has been writing more <a href="https://dri.es/tag/drupal">in-depth blog posts</a> about the various Drupal initiatives as well as other aspects of the project. In other words, he has intentionally shifted his focus away from committing towards other aspects of the project, and his “guiding principle” is to “<a href="https://dri.es/drupal-collective-purpose">optimize for impact</a>.”</p> <p>Another part of the reason that Dries has had fewer commits stems from the recent shift in effort from Drupal core to contrib. Overall commits to Drupal core have decreased since their highest point in 2013, and have been down considerably since the release of Drupal 8 in 2015:</p> <p><img src="/sites/default/files/2019-06/commits_by_year-1.png" alt="" /></p> <p>But once again we must interpret these data carefully. Even if the total number of commits to Drupal core has declined since 2015, the Drupal project continues to evolve. Since Drupal 8.0.0, <a href="https://www.drupal.org/docs/8/core/modules/big-pipe/overview">BigPipe</a>, <a href="https://www.drupal.org/docs/8/core/modules/workflows/overview">Workflows</a>, <a href="https://www.drupal.org/docs/8/api/migrate-api/migrate-api-overview">Migrate</a>, <a href="https://www.drupal.org/docs/8/core/modules/media/overview">Media</a>, and <a href="https://www.drupal.org/docs/8/core/modules/layout-builder">Layout Builder</a> are just a few of the core modules that have become stable, and the list of <a href="https://www.drupal.org/about/strategic-initiatives">strategic initiatives</a> remains ambitious. So while the data may seem to suggest that interest in Drupal core has waned, I suspect that, in fact, the opposite is true.</p> <p>We can, on the other hand, use the commit history to get a sense for how the other core committers have become involved in committing code to Drupal core. We can visualize all commits by day over the entire history of the Drupal codebase for each (current) individual core committer:</p> <p><img src="/sites/default/files/2019-06/committer_commits_facets-1_0.png" alt="" /></p> <p>We get a better sense of the distribution of work by looking beyond total commits to the percentage of core commits per committer for each year. Using percentages better demonstrates how the work of the code committing has become far more distributed (in this chart, “colorful”) than it was during the early years of Drupal’s lifespan:</p> <p><img src="/sites/default/files/2019-06/committer_percentages_by_year-1_0.png" alt="" /></p> <p>You might notice that the chart above does not include <a href="https://www.drupal.org/core/maintainers/past">past core committers</a> such as the Drupal 5 core committer, Neil Drumm (406 commits), or the Drupal 4.7 core committer, Gerhard Killesreiter (193 commits). I’m more interested in recent changes.</p> <p>When we shift back to looking at total commits (rather than percentages) we can watch the team grow over the entire history of the Drupal project in the following animation, which stacks (ranks) committers by year based on their total number of commits:</p> <p><img src="/sites/default/files/2019-06/animated_commits_per_year_0.gif" alt="" /></p> <p>One fact that caught my attention was that Alex Pott’s name topped the list for 6 of the last 7 years. But I’d like to stress again that this visualization can only tell part of the story. For instance, those numbers don’t reflect the fact that Alex <a href="http://alex.vit-al.com/node/15">quit his job</a> in order to work on Drupal 8 (before becoming a core committer) or his dedication to working on “non technical” issues, such as a recent change that replaced gendered language with <a href="https://www.drupal.org/project/drupal/issues/2286655">gender neutral language</a> in the Drupal codebase. I admit to a particular bias because I have had the pleasure of <a href="https://events.drupal.org/neworleans2016/sessions/configuration-management-developers-drupal-8">giving</a> <a href="https://2015.badcamp.net/event/summit/configuration-management-and-devops-summit">talks</a> as well as working with him on the <a href="https://git.drupalcode.org/project/drupal/blob/8.8.x/core/MAINTAINERS.txt#L124">Configuration Management Initiative (CMI)</a>, but I think the correct way to interpret these data is to conclude simply that Alex Pott, along with Nathaniel Catchpole and Angie Byron, are a few of the members of the core committer team who have been spending more of their time committing code.</p> <p>We find a slightly different story when we look beyond just the number of commits. The commit history also contains the total number of modified files, as well as the number of added and deleted lines. Each commit includes entries like this:</p> <pre><code>2 files changed, 4 insertions(+), 15 deletions(-) </code></pre> <p>Parsing the Git logs in order to measure insertions and deletions reveals a slightly different breakdown, with Nathaniel Catchpole’s name at the top of the list:</p> <p><img src="/sites/default/files/2019-06/total_changes_by_committer-1_0.png" alt="" /></p> <p>Differences in the ranking are largely the result of just a few issues that moved around more than 100,000 lines of code and significantly affected the totals, such as <a href="https://www.drupal.org/node/1475510">removing external dependencies</a>, <a href="https://www.drupal.org/node/22336">moving all core files under <code>/core</code></a>, <a href="https://www.drupal.org/node/2776975">converting to array syntax</a>, <a href="https://www.drupal.org/node/2585165">not including vendor test code</a>, and <a href="https://www.drupal.org/node/2568203">removing migrate-db.sh</a>.</p> <p>The commit history contains a wealth of additional fascinating data points that are beyond the scope of this article, but for now I’d like to discuss just one more to suggest the changing nature in the land of core committing: commit messages. Every core commit includes a message that follows a <a href="https://www.drupal.org/node/52287">prescribed pattern</a> and includes the issue number, a comma-separated list of usernames, and a short summary of the change. The syntax looks like this:</p> <pre><code>Issue #52287 by sun, Dries: Fix outdated commit message standards </code></pre> <p>Combining all commit messages and removing English language “<a href="https://cran.r-project.org/web/packages/stopwords/README.html">stopwords</a>” – such as “to,” “if,” “this,” and “were” – results in a list of words and usernames, with one core committer near the top of the list, alexpott (Alex Pott’s username):</p> <p><img src="/sites/default/files/2019-06/commit_message_words-1.png" alt="" /></p> <p>Only one other user, Daniel Wehner (dawehner), is mentioned more than Alex Pott. I find it mildly interesting to see that “dawehner” and “alexpott” appear in more commit messages than words such as “tests,” “use,” “fix,” “entity,” “field,” or even “drupal.” It also caught my attention that the word “dries” did not make my top 20 list. Thus, I would suggest that a basic ranking of the words used in commit messages does not provide much value and is not even a particularly good method to determine who is contributing code to Drupal – <a href="http://drupalcores.com/">DrupalCores</a>, for instance, does a much better job.</p> <p>Nonetheless, I mention the commit messages because they are part of the commit history and because those messages remind us once again that core committers like Alex Pott do a lot more than <em>commit</em> code to the Drupal project – they also <em>contribute</em> a remarkable amount of code. Alex Pott, Jess, Gábor Hojtsy, Nathaniel Catchpole, and Alex Bronstein are each (as of this writing) among the <a href="http://drupalcores.com/">top 20</a> contributors to Drupal 8. Moreover, this list of words brings us back to questions about the suitability of a term such as “BDFL.”</p> <h2>BDFL Comparisons</h2> <p>While Dries could still legitimately don a hat that reads “Undisputed Leader of the Drupal Project,” it seems clear that the dynamics of committing code to Drupal core have shifted and that core committers assume a variety of key roles in the success of the Drupal project. During the process of writing this article, someone even opened an issue on Drupal.org to “<a href="https://www.drupal.org/project/governance/issues/3059388">Officially replace the title BDFL with Project Lead</a>.” Whatever his official title, the evolving structure of the core committer team has allowed Dries to focus on the overall direction of the Drupal project and spend less time involved in choices about the code that gets committed to Drupal core on a daily basis. And it’s a considerable amount of code – since Drupal 8 was released there have been more than 5719 commits to Drupal core, or roughly 4.42 commits per day.</p> <p>While other well-known free software projects with a <a href="https://en.wikipedia.org/wiki/Benevolent_dictator_for_life">BDFL</a>, such as <a href="www.vim.org">Vim</a>, only have <a href="https://github.com/vim/vim/graphs/contributors">one contributor</a>, numerous other well-known projects have moved in a direction comparable to Drupal. As of this writing, Linus Torvalds sits at <a href="https://github.com/torvalds/linux/graphs/contributors">&#35;37</a> on the list of contributors to the Linux kernel. Or perhaps more related to Drupal, Matt Mullenweg, who calls himself the <a href="https://www.transcripts.io/transcripts/tim_ferriss_show/2015/02/09/matt-mullenweg.html#00:14:54">BDFL of WordPress</a>, is not listed as a <a href="https://make.wordpress.org/core/handbook/about/organization/#committers">core contributor</a> to the project and is not the top contributor to the project – that honor goes to <a href="https://www.openhub.net/p/wordpress/contributors/summary">Sergey Biryukov</a>, who has held it <a href="https://daily.jorb.in/2017/12/wordpress-core-committer-stats-2017/">for a while</a>.</p> <p>Further, one could reasonably conclude that Drupal’s commit history calls into question a concern that many people, <a href="https://www.lullabot.com/articles/the-cultural-construction-of-drupal">including me</a>, have raised regarding the influence of Acquia (Dries’s company) in the Drupal community. Acquia <a href="https://dri.es/who-sponsors-drupal-development-2018">sponsors a lot of Drupal development</a>, including core committers. Angie Byron, Jess, Gábor Hojtsy, Lauri Eskola, and Alex Bronstein are all paid by Acquia to work on Drupal core full-time. However, I still believe what Dries and I <a href="https://www.lullabot.com/articles/who-sponsors-drupal-development">wrote in 2016</a> when we stated that we do not think Acquia should “contribute less. Instead, we would like to see more companies provide more leadership to Drupal and meaningfully contribute on Drupal.org.” On this topic, the commit logs indicate positive movement: since Drupal 8 was released, Alex Pott and Nathaniel Catchpole – the two most active core committers – have made 72% of the commits to Drupal core – and neither of them work for Acquia. So while everyone in the Drupal community owes a debt of gratitude to Acquia for their sponsorship of the Drupal project, we should also thank companies the sponsor core committers like Alex Pott and Nathaniel Catchpole, including Thunder, Acro Media, Chapter Three, Third and Grove, and Tag1 Consulting.</p> <p>And the other core committers? Well, I can’t possibly visualize all of the work that they do. They are helping coordinate core initiatives, such as the <a href="https://www.drupal.org/about/strategic-initiatives/admin-ui-js">Admin UI &amp; JavaScript Modernisation initiative</a> and <a href="https://www.drupal.org/about/strategic-initiatives/drupal9">Drupal 9 initiative</a>. They are working on Drupal’s out-of-the-box experience and ensuring consistency across APIs. They are helping other contributors collaborate more effectively and efficiently. They are coordinating with the security team and helping to remove release blockers. The core committers embody the spirit of the phrase that appears on every new Drupal installation: “Powered by Drupal.” I am grateful for their dedication to the Drupal project and the Drupal community. The work they do is often not highly visible, but it’s vital to the continued success of the project.</p> <p>A deeper appreciation for the work of the Drupal core committers has been just one of the positive consequences of this project. My first attempts at interpreting Drupal’s commit history were somewhat misguided because I did not fully understand the inner workings of the team of core committers. But in fact nobody can completely understand or represent what the core committers do, and I personally believe that the “Drupal community” is little more than a collection of stories we choose to believe. However, we live in a time where people desire to understand the world through dashboards that summarize data and where we gloss over complexities. Consequently, I feel more motivated than ever to continue my search for data that more accurately reflect the Drupal community for which I have so much respect. (Incidentally, if you are a statistician with an interest in free software, I would love to collaborate.) If we want a deeper understanding for who contributes to Drupal, we need more and better sources of information than Drupal’s “<a href="https://git.drupalcode.org/project/drupal/graphs/8.8.x">contributors</a>” page. I accept that I will never concoct the magical visualization that perfectly represents “Drupal,” but I am enjoying the search.</p> <p><em>Code for this project is available on <a href="https://gitlab.com/mtift/drupal-commit-history">GitLab</a>. I would like to thank <a href="https://www.drupal.org/u/yesct">Cathy Theys</a>, <a href="https://www.drupal.org/u/dead_arm">Megh Plunkett</a>, <a href="https://www.drupal.org/u/dries">Dries Buytaert</a>, and <a href="https://www.drupal.org/u/alexpott">Alex Pott</a> for their thoughtful feedback on earlier drafts of this article.</em></p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2019-06-05T22:12:15+00:00" class="field field--name-created field--type-created field--label-hidden">Wed, 06/05/2019 - 17:12</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/data-science" property="schema:about" hreflang="en">data science</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=183&amp;2=comment&amp;3=comment" token="yUu88sv-j5yFZ5Q-nNAIyKgTrqG7aiSGCtM67-fnrTg"></drupal-render-placeholder> </section> Wed, 05 Jun 2019 22:12:15 +0000 mtift 183 at https://matthewtift.com Imagining Drupal https://matthewtift.com/imagining-drupal <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Imagining Drupal</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>(This article was first posted on <a href="https://www.lullabot.com/articles/imagining-drupal">lullabot.com</a>.)</em></p> <p>When I attended my first DrupalCon in San Francisco I brought three suits. At that point, I had been speaking at (academic) conferences for a decade, and in my experience conferences were places where attendees dressed formally and speakers literally read their papers (here's a <a href="https://matthewtift.com/sites/default/files/2019-03/2005-04-16-womens-studies-interactions-positive-music.pdf">real example</a> from a 2005 Women's and Gender Studies Conference where I spoke). I arrived in San Francisco thinking I would spend some time exploring the city while I was there, but I ended up spending nearly all of my extra time in the <a href="https://sf2010.drupal.org/conference.html">ChX Coder Lounge</a> learning everything I could about Drupal from kind people in the Drupal community. I never really left the conference other than to eat or attend a <a href="https://www.lullabot.com/articles/lullabot-party-in-san-francisco-on-monday">party</a>. In fact, I was so excited about Drupal that <a href="https://twitter.com/sideshowjay/status/12457495570">some of my friends had to stop following me on social media</a>.</p> <p>DrupalCon San Francisco changed the course of my life. That said, the Drupal community feels very different today, and that's okay with me. As I <a href="https://www.lullabot.com/articles/the-cultural-construction-of-drupal">wrote</a> in 2015, "Drupal is always changing. The community constantly reinvents Drupal with new code and reimagines Drupal with new words." This week some people feel "<a href="https://www.kanopistudios.com/blog/drupalcon-seattle-is-here/">excited</a>" while others are "<a href="https://www.jrockowitz.com/blog/drupal-is-frustrating">frustrated</a>." Next week at DrupalCon we will hear a lot more choice adjectives to describe Drupal and its community. Of course, none of them will be correct.</p> <p>Every once in a while, I find it helpful to remember that there is no such thing as Drupal. Certainly, we need to use words like "Drupal" so we can talk to each other, but I have yet to find even a single, unchanging characteristic that constitutes Drupal. Even if I am demonstrably incorrect, I have discovered over the past couple years that I experience the most happiness when I do not expect anything from DrupalCon or Drupal. Instead, I try to focus on a single goal: find ways to use Drupal to help other people. Naturally, I fall short of this goal regularly, but just having the goal has produced beneficial results.</p> <p>I have invested considerable effort trying to "find Drupal" by talking to people in the Drupal community, <a href="https://matthewtift.com/tags/drupal">writing about Drupal</a>, <a href="https://www.drupal.org/blog/who-sponsors-drupal-development">studying commit credit data</a>, and every time I look I find something different. After processing so much data, I started to wonder if any possible metric could tell us something about, for example, the diversity of the community. I even opened an issue in <a href="https://github.com/drupaldiversity/administration/issues/73">drupaldiversity</a> (which was moved to <a href="https://www.drupal.org/project/diversity/issues/2929249">drupal.org</a>) asking about the prospect of finding specific, measurable diversity goals. If there is no such thing as Drupal, then it might seem as if the answer to my question about metrics doesn't matter. But I believe that moving forward together with goals in mind offers incredible benefits, and that agreeing on goals is a serious challenge. If "finding Drupal" is difficult, trying to grasp all of Drupal's communities -- and the distinct challenges that each of them face -- is nearly impossible.</p> <p>To counter thoughts of that kind, I find tremendous benefit in focusing on the here and now. What can I do today? What benefit does understanding all of Drupal do if I don't take the time to help this person that turned to me for advice? Who can I turn to when I'm stuck? The frustration caused by the Drupal code and the Drupal communities is real, but in the face of such feelings, it seems like my best option is often to let go and move forward. It can feel like letting go of anger and frustration is not always possible, but I am not ready to give up on the idea that letting go is always an option.</p> <p>While I believe that Drupal doesn't actually exist, I also believe that people's actions have real consequences. Harassing people in the issue queues causes pain. Insecure and non-functional code causes headaches. Unwanted advances are actually unwanted. As important as it is for us to all read the <a href="https://events.drupal.org/code-conduct">DrupalCon Code of Conduct</a>, it's equally important to scroll down on that page for the reminder that "We're all in this together."</p> <p>During my time in the Drupal community, I have witnessed the suffering produced when we use labels that separate us. "Drupal Rock Star" is one of those labels, and as much as I'm flattered that someone thinks I could potentially "end the myth of the Drupal rockstar with [my] DrupalCon presentation, <a href="https://events.drupal.org/seattle2019/sessions/imaginary-band-drupal-rock-stars">The Imaginary Band of Drupal Rock Stars</a>," I can't. But I can demonstrate how the rock star myth causes pain and I can offer alternative constructions.</p> <p>In the course of my research over the past few months, I've been exploring what actions the Drupal community values and how some other musical metaphors such as "arranger" or "improviser" might help reframe our understanding of useful Drupal contributions. If that sounds interesting (or not), yes please come to my <a href="https://events.drupal.org/seattle2019/sessions/imaginary-band-drupal-rock-stars">talk</a> or introduce yourself at DrupalCon next week.</p> <p>In my experience, DrupalCon can create both excitement and frustration, so my goal this year is to let go of expectations. I don't find them helpful. Drupal is a process, and for some, an ongoing struggle. But just because our community traffics in 1s and 0s doesn't mean I should transfer binary thinking to the people with whom I interact. I'm not suggesting that everyone prance around the conference as if everything that everyone does is acceptable. I have witnessed some seriously unwelcome behavior at past DrupalCons that needed to be addressed. The Drupal community is awash with thoughtful people, and I frequently turn to them to help me continue to recognize my considerable privilege and bias. I can only hope that having a goal of helping other people while I'm at DrupalCon -- rather than focusing exclusively on maximizing the value of my expensive ticket -- will in turn improve my week.</p> <p>While I recognize not everyone shares my worldview, I hope to improve my time at DrupalCon by recognizing my essentialist ideas and instead focus on the people and situations in front of me -- a bit more like I imagine I did at DrupalCon San Francisco.</p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2019-04-05T16:12:02+00:00" class="field field--name-created field--type-created field--label-hidden">Fri, 04/05/2019 - 11:12</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 05 Apr 2019 16:12:02 +0000 mtift 181 at https://matthewtift.com Drupal as a Political Act https://matthewtift.com/drupal-political-act <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Drupal as a Political Act</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>(This article was cross-posted on <a href="https://www.lullabot.com/articles/drupal-as-a-political-act">lullabot.com</a>. The comments on this article are disabled in order to centralize all feedback in one place.)</em></p> <p>Like so many of you, both here in the United States and elsewhere, I am deeply troubled by the <a href="https://www.splcenter.org/20161129/ten-days-after-harassment-and-intimidation-aftermath-election">incidents of hateful harassment</a> and the threats to democracy that have spiked since November 8. My thoughts have been routinely consumed with the task of analyzing my work and motivations, trying to detect any positive impact that my contributions have on the world. Because of my involvement in the Drupal community, my thoughts are as much about Drupal as they are about me. I am a proud member of our community and I cannot help but reflect on how the organization of our community brings people together, discourages hate, and promotes democracy.</p> <!--more--> <p>What it would mean to "make the world better" is up for debate. We cannot be experts in all subjects, and a group of Drupal developers might not fully understand, for example, the policies that allow <a href="https://www.theguardian.com/world/2016/apr/14/us-corporations-14-trillion-hidden-tax-havens-oxfam">tax havens</a>, the economic implications of a <a href="http://fightfor15.org">$15 minimum wage</a>, how to combat <a href="https://en.wikipedia.org/wiki/Predatory_lending">predatory lending</a>, or the solutions to <a href="http://www.economist.com/blogs/graphicdetail/2016/11/global-warming?fsrc=scn/tw/te/bl/ed/globalwarmingthestateoftheclimatein2016">climate change</a>. Perhaps we have strong opinions on these topics, but many of us would begrudgingly admit that we know more about <a href="https://en.wikipedia.org/wiki/Dependency_injection">dependency injection</a>, <a href="https://www.drupal.org/patch/reroll">re-rolling patches</a>, or even the <a href="https://www.drupal.org/docs/7/creating-custom-modules/understanding-the-hook-system-for-drupal-modules">hook system</a>. That is, we know how to build Drupal websites. More importantly, to succeed in the Drupal community <a href="https://www.drupal.org/dcoc">we are required</a> to be considerate, respectful, and collaborative. We, as a community, vigorously reject bigotry, racism, sexism, homophobia, and xenophobia. This, in my view, makes the world better.</p> <p>What is more, I would argue that Drupal blurs traditional boundaries. While certainly there are market forces that determine how Drupal is constructed, powerful <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">legal</a> and <a href="https://www.drupal.org/dcoc">cultural</a> <a href="https://en.m.wikipedia.org/wiki/Nonmarket_forces">nonmarket forces</a> push back. Some Drupal agencies exist to turn a profit, but do so working primarily with <a href="https://www.drupal.org/civicactions">public sector</a> or <a href="https://www.jacksonriver.com">non-profit</a> organizations. Drupal agencies can be seen as capitalist in the sense that they accumulate surplus value by "<a href="https://en.wikipedia.org/wiki/Exploitation_of_labour">exploiting the working class</a>," but socialist in the sense that they produce goods that are owned collectively. Some have stated goals to <a href="http://www.md-systems.ch/en/blog/md-systems/2016/09/28/we-are-striving-invest-20-every-projects-value-back-community">invest value back into the community</a> and others are "<a href="https://www.drupal.org/thinkshout">benefit corporations</a>," required to make the world a better place. While I am tempted to place new labels on the Drupal community, such as "post-capitalist," I find such terms to be of limited use, and I am far more interested in finding common ground that unites our community.</p> <p>Drupal code has only limited value without the community, and our community stands for values that transcend our code. I participate in the Drupal community because I believe it represents ideals that are consistent with my own. One of the beliefs that we hold in high regard is "doing good." It would be difficult to convince me that people, such as <a href="https://www.palantir.net/people">George DeMet and Tiffany Farriss</a>, <a href="https://www.fourkitchens.com/team/todd-ross-nienkerk">Todd Ross Nienkerk</a>, or <a href="https://thinkshout.com/team/lev/">Lev Tsypin</a>, have anything but the best intentions in the way they run their businesses. More importantly, these individuals, like so many others in our community, actually do make the world a better place through their work, compassion, and advocacy.</p> <p>In some respects, the well-intentioned subset of our community exemplifies what Luc Boltanski and Eve Chiapello describe as "the new spirit of capitalism." In <a href="https://www.versobooks.com/books/259-the-new-spirit-of-capitalism">their study</a> of management textbooks, they find this "new spirit" is characterized by, among other things, a "high moral tone" (58), a belief that workers should "control themselves" (80), structures where managers are essentially replaced with customers (82), and where bureaucracy represents a kind of "totalitarianism and arbitrariness" that should be avoided (85). While Boltanski and Chiapello find many faults with this "new spirit," generally, I would suggest that is has become more important than ever to acknowledge the many benefits that the people and organizations in our community have for the world. While critique and criticism will surely be needed, we should also continue to celebrate the impact that our software and colleagues plays in efforts towards ending poverty, empowering independent journalists, defending the free and open Internet, and educating people. Even though Drupal has been used for nefarious purposes, and there are many reasons to <a href="https://www.lullabot.com/articles/why-paid-drupal-modules-fail-drupal-as-art">critique</a> the <a href="https://www.lullabot.com/articles/better-then-bigger-cultivating-the-drupal-community">Drupal</a> <a href="https://www.lullabot.com/articles/the-cultural-construction-of-drupal">community</a>, I feel emboldened knowing that when people came together to build websites for <a href="https://www.drupalwatchdog.com/volume-3/issue-1/short-history-drupal-distributions">DeanSpace</a>, the <a href="http://www.un.org/en/index.html">United Nations</a>, <a href="http://www.drupalshowcase.com/drupal-showcase/amnesty-international">Amnesty International</a>, <a href="https://www.drupal.com/case-study/greenpeace-greenwire">Greenpeace</a>, <a href="http://oxfam.org/">Oxfam</a>, the <a href="https://www.aclu.org">ACLU</a>, the <a href="https://www.eff.org/">Electronic Frontier Foundation</a>, <a href="http://digitalservices.npr.org/topic/core-publisher">National Public Radio</a>, <a href="https://www.freepress.net">Free Press</a>, and the <a href="https://www.whitehouse.gov/">White House</a>, they choose Drupal.</p> <p>More than just software, part of the reason we "stay for the community" is because we place such a high premium on human interaction. Drupal contributors create <em>public goods</em> (free software) that can be used by one person without reducing the availability to others. If the public relations departments of mega-corporations extol the value of business and markets, while criticizing government and fair labor, the Drupal community takes an alternative approach that values solidarity. In this sense, our democratic practices threaten unjust power. Throughout history people in power have pushed back against the democratizing effects of solidarity to defend their positions of power. In his 1776 magnum opus on political economy, <em>Wealth of Nations</em>, Adam Smith <a href="http://www.econlib.org/library/Smith/smWN11.html">famously observed</a>, "All for ourselves and nothing for other people, seems, in every age of the world, to have been the vile maxim of the masters of mankind." With every Drupal Camp, DrupalCon, code sprint, community summit, and user group meeting we gather together in solidarity. Let us not forget all we do to encourage hope and camaraderie.</p> <p>If you are discouraged by a world that turns workers against each other and treats citizens as consumers, pushing them to the malls rather than the public library, remember that we as a Drupal community are pushing back against the "masters of mankind." In the 1970s, <a href="https://en.wikipedia.org/wiki/Buckley_v._Valeo">Buckley v. Valeo</a> may have determined that money is a form of speech, but because we work together, Drupal becomes another kind of speech. Most of us (the working class) must sell our labor in return for a wage or salary. So what I am arguing is not for our community to become noncommercial or anti-commercial, but instead that we consider expanding our <a href="https://en.wikipedia.org/wiki/Horizons_of_Expectation">horizon of expectations</a> to allow for a conception of Drupal as a political act. I want us to celebrate our community and stand up against hate, inequality, corruption, and depoliticization. If that idea makes you uncomfortable, then perhaps consider the words of the historian Howard Zinn and <a href="http://www.huffingtonpost.com/michael-berkowitz/requiem-for-the-american-_b_9203578.html">his suggestion</a> that what matters are "the countless deeds of unknown people who lay the basis for the events of human history." I hope that we can find common ground, build on what we have accomplished, and organize against the forces that seek to divide us against ourselves.</p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2016-12-09T16:50:00+00:00" class="field field--name-created field--type-created field--label-hidden">Fri, 12/09/2016 - 10:50</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> <li><a href="/tags/activism" property="schema:about" hreflang="en">activism</a></li> <li><a href="/tags/solidarity" property="schema:about" hreflang="en">solidarity</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 09 Dec 2016 16:50:00 +0000 mtift 168 at https://matthewtift.com Who Sponsors Drupal Development? https://matthewtift.com/who-sponsors-drupal-development <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Who Sponsors Drupal Development?</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>(This article, co-authored with Dries Buytaert, the founder and project lead of Drupal, was cross-posted on <a href="https://www.drupal.org/blog/who-sponsors-drupal-development">drupal.org</a>, <a href="http://lullabot.com/articles/who-sponsors-drupal-development">lullabot.com</a>, and <a href="http://buytaert.net/">buytaert.net</a>.)</em></p> <p>There exist millions of Open Source projects today, but many of them aren't sustainable. Scaling Open Source projects in a sustainable manner is difficult. A prime example is <a href="https://www.openssl.org">OpenSSL</a>, which plays a critical role in securing the internet. Despite its importance, the entire OpenSSL development team is relatively small, consisting of 11 people, <a href="https://en.wikipedia.org/wiki/OpenSSL#Project_history">10 of whom are volunteers</a>. In 2014, security researchers discovered <a href="https://en.wikipedia.org/wiki/Heartbleed">an important security bug</a> that exposed millions of websites. Like OpenSSL, most Open Source projects fail to scale their resources. Notable exceptions are the Linux kernel, Debian, Apache, Drupal, and WordPress, which have foundations, multiple corporate sponsors and many contributors that help these projects scale.</p> <!--more--> <p>We (<a href="http://buytaert.net">Dries Buytaert</a> is the founder and project lead of <a href="http://drupal.org">Drupal</a> and co-founder and Chief Technology Officer of <a href="http:/acquia.com">Acquia</a> and <a href="http://matthewtift.com">Matthew Tift</a> is a Senior Developer at <a href="http://lullabot.com">Lullabot</a> and Drupal 8 configuration system co-maintainer) believe that the Drupal community has a shared responsibility to build Drupal and that those who get more from Drupal should consider giving more. We examined commit data to help understand who develops Drupal, how much of that work is sponsored, and where that sponsorship comes from. We will illustrate that the Drupal community is far ahead in understanding <a href="http://buytaert.net/scaling-open-source-communities">how to sustain and scale the project</a>. We will show that the Drupal project is a healthy project with a diverse community of contributors. Nevertheless, in Drupal's spirit of always striving to do better, we will also highlight areas where our community can and should do better.</p> <h3>Who is working on Drupal?</h3> <p>In the spring of 2015, after <a href="http://buytaert.net/a-method-for-giving-credit-to-organizations-that-contribute-code-to-open-source">proposing ideas about giving credit</a> and <a href="https://www.drupal.org/node/2288727">discussing various approaches at length</a>, Drupal.org added the ability for people to <a href="https://www.drupal.org/drupalorg/blog/a-guide-to-issue-credits-and-the-drupal.org-marketplace">attribute their work</a> to an organization or customer in the Drupal.org issue queues. Maintainers of Drupal themes and modules can award issues credits to people who help resolve issues with code, comments, design, and more.</p> <figure role="group" class="caption caption-img align-center"> <img alt="example issue credit on drupal.org" data-entity-type="file" data-entity-uuid="959980e9-6da8-4890-bac5-dc4409099d6c" src="/sites/default/files/inline-images/example-issue-credit-on-drupal-org-2016.jpg" /> <figcaption>A screenshot of an issue comment on Drupal.org. You can see that jamadar worked on this patch as a volunteer, but also as part of his day job working for TATA Consultancy Services on behalf of their customer, Pfizer.</figcaption> </figure> <p>Drupal.org's credit system captures all the issue activity on Drupal.org. This is primarily code contributions, but also includes some (but not all) of the work on design, translations, documentation, etc. It is important to note that contributing in the issues on Drupal.org is not the only way to contribute. There are other activities — for instance, sponsoring events, promoting Drupal, providing help and mentoring — important to the long-term health of the Drupal project. These activities are not currently captured by the credit system. Additionally, we acknowledge that parts of Drupal are developed on GitHub and that credits might get lost when those contributions are moved to Drupal.org. For the purposes of this post, however, we looked only at the issue contributions captured by the credit system on Drupal.org.</p> <p>What we learned is that in the 12-month period from July 1, 2015 to June 30, 2016 there were 32,711 issue credits — both to Drupal core as well as all the contributed themes and modules — attributed to 5,196 different individual contributors and 659 different organizations.</p> <p>Despite the large number of individual contributors, a relatively small number do the majority of the work. Approximately 51% of the contributors involved got just one credit. The top 30 contributors (or top 0.5% contributors) account for over 21% of the total credits, indicating that these individuals put an incredible amount of time and effort in developing Drupal and its contributed modules:</p> <table> <thead> <tr> <th style="padding: 0.2em;"><small>Rank</small></th> <th style="padding: 0.2em;"><small>Username</small></th> <th style="padding: 0.2em;"><small>Issues</small></th> </tr> </thead> <tbody> <tr> <td style="padding: 0.2em;"><small>1</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/99340">dawehner</a></small></td> <td style="padding: 0.2em;"><small>560</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>2</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/108450">DamienMcKenna</a></small></td> <td style="padding: 0.2em;"><small>448</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>3</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/157725">alexpott</a></small></td> <td style="padding: 0.2em;"><small>409</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>4</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/214652">Berdir</a></small></td> <td style="padding: 0.2em;"><small>383</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>5</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/99777">Wim Leers</a></small></td> <td style="padding: 0.2em;"><small>382</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>6</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/155601">jhodgdon</a></small></td> <td style="padding: 0.2em;"><small>381</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>7</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/160302">joelpittet</a></small></td> <td style="padding: 0.2em;"><small>294</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>8</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2833651">heykarthikwithu</a></small></td> <td style="padding: 0.2em;"><small>293</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>9</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2416470">mglaman</a></small></td> <td style="padding: 0.2em;"><small>292</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>10</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/205582">drunken monkey</a></small></td> <td style="padding: 0.2em;"><small>248</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>11</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1485048">Sam152</a></small></td> <td style="padding: 0.2em;"><small>237</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>12</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2393360">borisson_</a></small></td> <td style="padding: 0.2em;"><small>207</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>13</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1852732">benjy</a></small></td> <td style="padding: 0.2em;"><small>206</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>14</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/3189199">edurenye</a></small></td> <td style="padding: 0.2em;"><small>184</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>15</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/35733">catch</a></small></td> <td style="padding: 0.2em;"><small>180</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>16</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/744628">slashrsm</a></small></td> <td style="padding: 0.2em;"><small>179</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>17</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/205645">phenaproxima</a></small></td> <td style="padding: 0.2em;"><small>177</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>18</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/3149657">mbovan</a></small></td> <td style="padding: 0.2em;"><small>174</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>19</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/241634">tim.plunkett</a></small></td> <td style="padding: 0.2em;"><small>168</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>20</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1177822">rakesh.gectcr</a></small></td> <td style="padding: 0.2em;"><small>163</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>21</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2659379">martin107</a></small></td> <td style="padding: 0.2em;"><small>163</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>22</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/266527">dsnopek</a></small></td> <td style="padding: 0.2em;"><small>152</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>23</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/4420">mikeryan</a></small></td> <td style="padding: 0.2em;"><small>150</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>24</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/208732">jhedstrom</a></small></td> <td style="padding: 0.2em;"><small>149</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>25</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/65776">xjm</a></small></td> <td style="padding: 0.2em;"><small>147</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>26</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/314031">hussainweb</a></small></td> <td style="padding: 0.2em;"><small>147</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>27</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/551886">stefan.r</a></small></td> <td style="padding: 0.2em;"><small>146</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>28</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/86106">bojanz</a></small></td> <td style="padding: 0.2em;"><small>145</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>29</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/959536">penyaskito</a></small></td> <td style="padding: 0.2em;"><small>141</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>30</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/395439">larowlan</a></small></td> <td style="padding: 0.2em;"><small>135</small></td> </tr> </tbody> </table> <h3>How much of the work is sponsored?</h3> <p>As mentioned above, from July 1, 2015 to June 30, 2016, 659 organizations contributed code to Drupal.org. Drupal is used by more than one million websites. The vast majority of the organizations behind these Drupal websites never participate in the development of Drupal; they use the software as it is and do not feel the need to help drive its development.</p> <p>Technically, Drupal started out as a 100% volunteer-driven project. But nowadays, the data suggests that the majority of the code on Drupal.org is sponsored by organizations in Drupal's ecosystem. For example, of the 32,711 commit credits we studied, 69% of the credited work is “sponsored.”</p> <p>We then looked at the distribution of how many of the credits are given to volunteers versus given to individuals doing "sponsored work" (i.e. contributing as part of their paid job):</p> <img alt="contributions by top x" data-entity-type="file" data-entity-uuid="af5da875-e7bf-4ee2-95dc-52974c31334a" src="/sites/default/files/inline-images/contributions-top-x-2016.jpg" class="align-center" /> <p>Looking at the top 100 contributors, for example, 23% of their credits are the result of contributing as volunteers and 56% of their credits are attributed to a corporate sponsor. The remainder, roughly 21% of the credits, are not attributed. Attribution is optional so this means it could either be volunteer-driven, sponsored, or both.</p> <p>As can be seen on the graph, the ratio of volunteer versus sponsored don't meaningfully change as we look beyond the top 100 — the only thing that changes is that more credits that are not attributed. This might be explained by the fact that occasional contributors might not be aware of or understand the credit system, or could not be bothered with setting up organizational profiles for their employer or customers.</p> <p>As shown in jamadar's screenshot above, a credit can be marked as volunteer and sponsored at the same time. This could be the case when someone does the minimum required work to satisfy the customer's need, but uses his or her spare time to add extra functionality. We can also look at the amount of code credits that are exclusively volunteer credits. Of the 7,874 credits that marked volunteer, 43% of them (3,376 credits) only had the volunteer box checked and 57% of them (4,498) were also partially sponsored. These 3,376 credits are one of our best metrics to measure volunteer-only contributions. This suggests that only 10% of the 32,711 commit credits we examined were contributed exclusively by volunteers. This number is a stark contrast to the 12,888 credits that were “purely sponsored,” and that account for 39% of the total credits. In other words, there were roughly four times as many “purely sponsored” credits as there were “purely volunteer” credits.</p> <p>When we looked at the 5,196 users, rather than credits, we found somewhat different results. A similar percentage of all users had exclusively volunteer credits: 14% (741 users). But the percentage of users with exclusively sponsored credits is only 50% higher: 21% (1077 users). Thus, when we look at the data this way, we find that users who only do sponsored work tend to contribute quite a bit more than users who only do volunteer work.</p> <p>None of these methodologies are perfect, but they all point to a conclusion that most of the work on Drupal is sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal. We believe there is a healthy ratio between sponsored and volunteer contributions.</p> <h3>Who is sponsoring the work?</h3> <p>Because we established that most of the work on Drupal is sponsored, we know it is important to track and study what organizations contribute to Drupal. Despite 659 different organizations contributing to Drupal, approximately 50% of them got 4 credits or less. The top 30 organizations (roughly top 5%) account for about 29% of the total credits, which suggests that the top 30 companies play a crucial role in the health of the Drupal project. The graph below shows the top 30 organizations and the number of credits they received between July 1, 2015 and June 30, 2016:</p> <img alt="contributions by the top 30 organizations" data-entity-type="file" data-entity-uuid="6cd2cb62-fe89-4869-9588-59df5fc229c7" src="/sites/default/files/inline-images/contributions-top-30-2016.jpg" class="align-center" /> <p>While not immediately obvious from the graph above, different types of companies are active in Drupal's ecosystem and we propose the following categorization below to discuss our ecosystem.</p> <table> <thead> <tr> <th>Category</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>Traditional Drupal businesses</td> <td>Small-to-medium-sized professional services companies that make money primarily using Drupal. They typically employ less than 100 employees, and because they specialize in Drupal, many of these professional services companies contribute frequently and are a huge part of our community. Examples are Lullabot (shown on graph) or Chapter Three (shown on graph).</td> </tr> <tr> <td>Digital marketing agencies</td> <td>Larger full-service agencies that have marketing led practices using a variety of tools, typically including Drupal, Adobe Experience Manager, Sitecore, WordPress, etc. They are typically larger, with the larger agencies employing thousands of people. Examples are Sapient (shown on graph) or AKQA.</td> </tr> <tr> <td>System integrators</td> <td>Larger companies that specialize in bringing together different technologies into one solution. Example system agencies are Accenture, TATA Consultancy Services, Capgemini or CI&amp;T.</td> </tr> <tr> <td>Technology and infrastructure companies</td> <td>Examples are Acquia (shown on graph), Lingotek (shown on graph), BlackMesh, RackSpace, Pantheon or Platform.sh.</td> </tr> <tr> <td>End-users</td> <td>Examples are Pfizer (shown on graph), Examiner.com (shown on graph) or NBC Universal.</td> </tr> </tbody> </table> <p>Most of the top 30 sponsors are traditional Drupal companies. Sapient (120 credits) is the only digital marketing agency showing up in the top 30. No system integrator shows up in the top 30. The first system integrator is CI&amp;T, which ranked 31st with 102 credits. As far as system integrators are concerned CI&amp;T is a smaller player with between 1,000 and 5,000 employees. Other system integrators with credits are Capgemini (43 credits), Globant (26 credits), and TATA Consultancy Services (7 credits). We didn't see any code contributions from Accenture, Wipro or IBM Global Services. We expect these will come as most of them are building out Drupal practices. For example, we know that IBM Global Services already has over 100 people doing Drupal work.</p> <img alt="contributions by organization type" data-entity-type="file" data-entity-uuid="00b20c66-c771-462f-8729-33d3b07ae586" height="265" src="/sites/default/files/inline-images/contributions-by-organization-type-2016_0.jpg" width="719" class="align-center" /> <p>When we look beyond the top 30 sponsors, we see that roughly 82% of the code contribution on Drupal.org comes from the traditional Drupal businesses. About 13% of the contributions comes from infrastructure and software companies, though that category is mostly dominated by one company, Acquia. This means that the technology and infrastructure companies, digital marketing agencies, system integrators and end-users are not meaningfully contributing code to Drupal.org today. In an ideal world, the pie chart above would be sliced in equal sized parts.</p> <p>How can we explain that unbalance? We believe the two biggest reasons are: (1) Drupal's strategic importance and (2) the level of maturity with Drupal and Open Source. Various of the traditional Drupal agencies have been involved with Drupal for 10 years and almost entirely depend on on Drupal. Given both their expertise and dependence on Drupal, they are most likely to look after Drupal's development and well-being. These organizations are typically recognized as Drupal experts and sought out by organizations that want to build a Drupal website. Contrast this with most of the digital marketing agencies and system integrators who have the size to work with a diversified portfolio of content management platforms, and are just getting started with Drupal and Open Source. They deliver digital marketing solutions and aren't necessarily sought out for their Drupal expertise. As their Drupal practices grow in size and importance, this could change, and when it does, we expect them to contribute more. Right now many of the digital marketing agencies and system integrators have little or no experience with Open Source so it is important that we motivate them to contribute and then teach them how to contribute.</p> <p>There are two main business reasons for organizations to contribute: (1) it improves their ability to sell and win deals and (2) it improves their ability to hire. Companies that contribute to Drupal tend to promote their contributions in RFPs and sales pitches to win more deals. Contributing to Drupal also results in being recognized as a great place to work for Drupal experts.</p> <p>We also should note that many organizations in the Drupal community contribute for reasons that would not seem to be explicitly economically motivated. More than 100 credits were sponsored by colleges or universities, such as the University of Waterloo (45 credits). More than 50 credits came from community groups, such as the Drupal Bangalore Community and the Drupal Ukraine Community. Other nonprofits and government organization that appeared in our data include the Drupal Association (166), National Virtual Library of India (25 credits), Center for Research Libraries (20), and Welsh Government (9 credits).</p> <h4>Infrastructure and software companies</h4> <p>Infrastructure and software companies play a different role in our community. These companies are less reliant on professional services (building Drupal websites) and primarily make money from selling subscription based products.</p> <p>Acquia, Pantheon and Platform.sh are venture-backed Platform-as-a-Service companies born out of the Drupal community. Rackspace and AWS are public companies hosting thousands of Drupal sites each. Lingotek offers cloud-based translation management software for Drupal.</p> <img alt="graph of contributions by technology companies" data-entity-type="file" data-entity-uuid="6250c0d1-3be7-486e-b9e3-de5874a55451" src="/sites/default/files/inline-images/contributions-by-technology-companies-2016.jpg" class="align-center" /> <p>The graph above suggests that Pantheon and Platform.sh have barely contributed code on Drupal.org during the past year. (Platform.sh only became an independent company 6 months ago after they split off from CommerceGuys.) The chart also does not reflect sponsored code contributions on GitHub (such as drush), Drupal event sponsorship, and the wide variety of value that these companies add to Drupal and other Open Source communities.</p> <p>Consequently, these data show that the Drupal community needs to do a better job of enticing infrastructure and software companies to contribute code to Drupal.org. The Drupal community has a long tradition of encouraging organizations to share code on Drupal.org rather than keep it behind firewalls. While the spirit of the Drupal project cannot be reduced to any single ideology — not every organization can or will share their code — we would like to see organizations continue to prioritize collaboration over individual ownership. Our aim is not to criticize those who do not contribute, but rather to help foster an environment worthy of contribution.</p> <h4>End users</h4> <p>We saw two end-users in the top 30 corporate sponsors: Pfizer (158 credits) and Examiner.com (132 credits). Other notable end-users that are actively giving back are Workday (52 credits), NBC Universal (40 credits), the University of Waterloo (45 credits) and CARD.com (33 credits). The end users that tend to contribute to Drupal use Drupal for a key part of their business and often have an internal team of Drupal developers.</p> <p>Given that there are hundreds of thousands of Drupal end-users, we would like to see more end-users in the top 30 sponsors. We recognize that a lot of digital agencies don't want, or are not legally allowed, to attribute their customers. We hope that will change as Open Source continues to get more and more adopted.</p> <p>Given the vast amount of Drupal users, we believe encouraging end-users to contribute could be a big opportunity. Being credited on Drupal.org gives them visibility in the Drupal community and recognizes them as a great place for Open Source developers to work.</p> <h3>The uneasy alliance with corporate contributions</h3> <p>As mentioned above, when community-driven Open Source projects grow, there becomes a bigger need for organizations to help drive its development. It almost always creates an uneasy alliance between volunteers and corporations.</p> <p>This theory played out in the Linux community well before it played out in the Drupal community. The Linux project is 25 years old now has seen a steady increase in the number of corporate contributors for roughly 20 years. While Linux companies like Red Hat and SUSE rank highly on the contribution list, so do non-Linux-centric companies such as Samsung, Intel, Oracle and Google. The major theme in this story is that all of these corporate contributors were using Linux as an integral part of their business.</p> <p>The 659 organizations that contribute to Drupal (which includes corporations), is roughly three times the number of <a href="https://www.linux.com/publications/linux-kernel-development-how-fast-it-going-who-doing-it-what-they-are-doing-and-who">organizations that sponsor development of the Linux kernel</a>, “one of the largest cooperative software projects ever attempted.” In fairness, Linux has a different ecosystem than Drupal. The Linux business ecosystem has various large organizations (Red Hat, Google, Intel, IBM and SUSE) for whom Linux is very strategic. As a result, many of them employ dozens of full-time Linux contributors and invest millions of dollars in Linux each year.</p> <p>In the Drupal community, Acquia has had people dedicated full-time to Drupal starting nine years ago when <a href="http://buytaert.net/first-acquia-employees">it hired Gábor Hojtsy</a> to contribute to Drupal core full-time. Today, Acquia has about 10 developers contributing to Drupal full-time. They work on core, contributed modules, security, user experience, performance, best practices, and more. Their work has benefited untold numbers of people around the world, most of whom are not Acquia customers.</p> <p>In response to Acquia’s high level of participation in the Drupal project, as well as to the number of Acquia employees that hold leadership positions, some members of the Drupal community have suggested that Acquia wields its influence and power to control the future of Drupal for its own commercial benefit. But neither of us believe that Acquia should contribute less. Instead, we would like to see more companies provide more leadership to Drupal and meaningfully contribute on Drupal.org.</p> <h3>Who is sponsoring the top 30 contributors?</h3> <table> <thead> <tr> <th style="padding: 0.2em;"><small>Rank</small></th> <th style="padding: 0.2em;"><small>Username</small></th> <th style="padding: 0.2em;"><small>Issues</small></th> <th style="padding: 0.2em;"><small>Volunteer</small></th> <th style="padding: 0.2em;"><small>Sponsored</small></th> <th style="padding: 0.2em;"><small>Not specified</small></th> <th style="padding: 0.2em;"><small>Sponsors</small></th> </tr> </thead> <tbody> <tr> <td style="padding: 0.2em;"><small>1</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/99340">dawehner</a></small></td> <td style="padding: 0.2em;"><small>560</small></td> <td style="padding: 0.2em;"><small>84.1%</small></td> <td style="padding: 0.2em;"><small>77.7%</small></td> <td style="padding: 0.2em;"><small>9.5%</small></td> <td style="padding: 0.2em;"><small>Drupal Association (182), Chapter Three (179), Tag1 Consulting (160), Cando (6), Acquia (4), Comm-press (1)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>2</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/108450">DamienMcKenna</a></small></td> <td style="padding: 0.2em;"><small>448</small></td> <td style="padding: 0.2em;"><small>6.9%</small></td> <td style="padding: 0.2em;"><small>76.3%</small></td> <td style="padding: 0.2em;"><small>19.4%</small></td> <td style="padding: 0.2em;"><small>Mediacurrent (342)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>3</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/157725">alexpott</a></small></td> <td style="padding: 0.2em;"><small>409</small></td> <td style="padding: 0.2em;"><small>0.2%</small></td> <td style="padding: 0.2em;"><small>97.8%</small></td> <td style="padding: 0.2em;"><small>2.2%</small></td> <td style="padding: 0.2em;"><small>Chapter Three (400)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>4</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/214652">Berdir</a></small></td> <td style="padding: 0.2em;"><small>383</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>95.3%</small></td> <td style="padding: 0.2em;"><small>4.7%</small></td> <td style="padding: 0.2em;"><small>MD Systems (365), Acquia (9)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>5</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/99777">Wim Leers</a></small></td> <td style="padding: 0.2em;"><small>382</small></td> <td style="padding: 0.2em;"><small>31.7%</small></td> <td style="padding: 0.2em;"><small>98.2%</small></td> <td style="padding: 0.2em;"><small>1.8%</small></td> <td style="padding: 0.2em;"><small>Acquia (375)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>6</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/155601">jhodgdon</a></small></td> <td style="padding: 0.2em;"><small>381</small></td> <td style="padding: 0.2em;"><small>5.2%</small></td> <td style="padding: 0.2em;"><small>3.4%</small></td> <td style="padding: 0.2em;"><small>91.3%</small></td> <td style="padding: 0.2em;"><small>Drupal Association (13), Poplar ProductivityWare (13)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>7</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/160302">joelpittet</a></small></td> <td style="padding: 0.2em;"><small>294</small></td> <td style="padding: 0.2em;"><small>23.8%</small></td> <td style="padding: 0.2em;"><small>1.4%</small></td> <td style="padding: 0.2em;"><small>76.2%</small></td> <td style="padding: 0.2em;"><small>Drupal Association (4)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>8</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2833651">heykarthikwithu</a></small></td> <td style="padding: 0.2em;"><small>293</small></td> <td style="padding: 0.2em;"><small>99.3%</small></td> <td style="padding: 0.2em;"><small>100.0%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>Valuebound (293), Drupal Bangalore Community (3)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>9</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2416470">mglaman</a></small></td> <td style="padding: 0.2em;"><small>292</small></td> <td style="padding: 0.2em;"><small>9.6%</small></td> <td style="padding: 0.2em;"><small>96.9%</small></td> <td style="padding: 0.2em;"><small>0.7%</small></td> <td style="padding: 0.2em;"><small>Commerce Guys (257), Bluehorn Digital (14), Gaggle.net, Inc. (12), LivePerson, Inc (11), Bluespark (5), DPCI (3), Thinkbean, LLC (3), Digital Bridge Solutions (2), Matsmart (1)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>10</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/205582">drunken monkey</a></small></td> <td style="padding: 0.2em;"><small>248</small></td> <td style="padding: 0.2em;"><small>75.4%</small></td> <td style="padding: 0.2em;"><small>55.6%</small></td> <td style="padding: 0.2em;"><small>2.0%</small></td> <td style="padding: 0.2em;"><small>Acquia (72), StudentFirst (44), epiqo (12), Vizala (9), Sunlime IT Services GmbH (1)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>11</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1485048">Sam152</a></small></td> <td style="padding: 0.2em;"><small>237</small></td> <td style="padding: 0.2em;"><small>75.9%</small></td> <td style="padding: 0.2em;"><small>89.5%</small></td> <td style="padding: 0.2em;"><small>10.1%</small></td> <td style="padding: 0.2em;"><small>PreviousNext (210), Code Drop (2)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>12</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2393360">borisson_</a></small></td> <td style="padding: 0.2em;"><small>207</small></td> <td style="padding: 0.2em;"><small>62.8%</small></td> <td style="padding: 0.2em;"><small>36.2%</small></td> <td style="padding: 0.2em;"><small>15.9%</small></td> <td style="padding: 0.2em;"><small>Acquia (67), Intracto digital agency (8)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>13</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1852732">benjy</a></small></td> <td style="padding: 0.2em;"><small>206</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>98.1%</small></td> <td style="padding: 0.2em;"><small>1.9%</small></td> <td style="padding: 0.2em;"><small>PreviousNext (168), Code Drop (34)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>14</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/3189199">edurenye</a></small></td> <td style="padding: 0.2em;"><small>184</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>100.0%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>MD Systems (184)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>15</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/35733">catch</a></small></td> <td style="padding: 0.2em;"><small>180</small></td> <td style="padding: 0.2em;"><small>3.3%</small></td> <td style="padding: 0.2em;"><small>44.4%</small></td> <td style="padding: 0.2em;"><small>54.4%</small></td> <td style="padding: 0.2em;"><small>Third and Grove (44), Tag1 Consulting (36), Drupal Association (4)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>16</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/744628">slashrsm</a></small></td> <td style="padding: 0.2em;"><small>179</small></td> <td style="padding: 0.2em;"><small>12.8%</small></td> <td style="padding: 0.2em;"><small>96.6%</small></td> <td style="padding: 0.2em;"><small>2.8%</small></td> <td style="padding: 0.2em;"><small>Examiner.com (89), MD Systems (84), Acquia (18), Studio Matris (1)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>17</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/205645">phenaproxima</a></small></td> <td style="padding: 0.2em;"><small>177</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>94.4%</small></td> <td style="padding: 0.2em;"><small>5.6%</small></td> <td style="padding: 0.2em;"><small>Acquia (167)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>18</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/3149657">mbovan</a></small></td> <td style="padding: 0.2em;"><small>174</small></td> <td style="padding: 0.2em;"><small>7.5%</small></td> <td style="padding: 0.2em;"><small>100.0%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>MD Systems (118), ACTO Team (43), Google Summer of Code (13)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>19</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/241634">tim.plunkett</a></small></td> <td style="padding: 0.2em;"><small>168</small></td> <td style="padding: 0.2em;"><small>14.3%</small></td> <td style="padding: 0.2em;"><small>89.9%</small></td> <td style="padding: 0.2em;"><small>10.1%</small></td> <td style="padding: 0.2em;"><small>Acquia (151)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>20</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/1177822">rakesh.gectcr</a></small></td> <td style="padding: 0.2em;"><small>163</small></td> <td style="padding: 0.2em;"><small>100.0%</small></td> <td style="padding: 0.2em;"><small>100.0%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>Valuebound (138), National Virtual Library of India (NVLI) (25)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>21</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/2659379">martin107</a></small></td> <td style="padding: 0.2em;"><small>163</small></td> <td style="padding: 0.2em;"><small>4.9%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>95.1%</small></td> <td style="padding: 0.2em;"> </td> </tr> <tr> <td style="padding: 0.2em;"><small>22</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/266527">dsnopek</a></small></td> <td style="padding: 0.2em;"><small>152</small></td> <td style="padding: 0.2em;"><small>0.7%</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>99.3%</small></td> <td style="padding: 0.2em;"> </td> </tr> <tr> <td style="padding: 0.2em;"><small>23</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/4420">mikeryan</a></small></td> <td style="padding: 0.2em;"><small>150</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>89.3%</small></td> <td style="padding: 0.2em;"><small>10.7%</small></td> <td style="padding: 0.2em;"><small>Acquia (112), Virtuoso Performance (22), Drupalize.Me (4), North Studio (4)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>24</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/208732">jhedstrom</a></small></td> <td style="padding: 0.2em;"><small>149</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>83.2%</small></td> <td style="padding: 0.2em;"><small>16.8%</small></td> <td style="padding: 0.2em;"><small>Phase2 (124), Workday, Inc. (36), Memorial Sloan Kettering Cancer Center (4)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>25</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/65776">xjm</a></small></td> <td style="padding: 0.2em;"><small>147</small></td> <td style="padding: 0.2em;"><small>0.0%</small></td> <td style="padding: 0.2em;"><small>81.0%</small></td> <td style="padding: 0.2em;"><small>19.0%</small></td> <td style="padding: 0.2em;"><small>Acquia (119)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>26</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/314031">hussainweb</a></small></td> <td style="padding: 0.2em;"><small>147</small></td> <td style="padding: 0.2em;"><small>2.0%</small></td> <td style="padding: 0.2em;"><small>98.6%</small></td> <td style="padding: 0.2em;"><small>1.4%</small></td> <td style="padding: 0.2em;"><small>Axelerant (145)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>27</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/551886">stefan.r</a></small></td> <td style="padding: 0.2em;"><small>146</small></td> <td style="padding: 0.2em;"><small>0.7%</small></td> <td style="padding: 0.2em;"><small>0.7%</small></td> <td style="padding: 0.2em;"><small>98.6%</small></td> <td style="padding: 0.2em;"><small>Drupal Association (1)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>28</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/86106">bojanz</a></small></td> <td style="padding: 0.2em;"><small>145</small></td> <td style="padding: 0.2em;"><small>2.1%</small></td> <td style="padding: 0.2em;"><small>83.4%</small></td> <td style="padding: 0.2em;"><small>15.2%</small></td> <td style="padding: 0.2em;"><small>Commerce Guys (121), Bluespark (2)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>29</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/959536">penyaskito</a></small></td> <td style="padding: 0.2em;"><small>141</small></td> <td style="padding: 0.2em;"><small>6.4%</small></td> <td style="padding: 0.2em;"><small>95.0%</small></td> <td style="padding: 0.2em;"><small>3.5%</small></td> <td style="padding: 0.2em;"><small>Lingotek (129), Cocomore AG (5)</small></td> </tr> <tr> <td style="padding: 0.2em;"><small>30</small></td> <td style="padding: 0.2em;"><small><a href="http://drupal.org/user/395439">larowlan</a></small></td> <td style="padding: 0.2em;"><small>135</small></td> <td style="padding: 0.2em;"><small>34.1%</small></td> <td style="padding: 0.2em;"><small>63.0%</small></td> <td style="padding: 0.2em;"><small>16.3%</small></td> <td style="padding: 0.2em;"><small>PreviousNext (85), Department of Justice &amp; Regulation, Victoria (14), amaysim Australia Ltd. (1), University of Adelaide (1)</small></td> </tr> </tbody> </table> <p>We observe that the top 30 contributors are sponsored by 45 organizations. This kind of diversity is aligned with our desire not to see Drupal controlled by a single organization. The top 30 contributors and the 45 organizations are from many different parts in the world and work with customers large or small. We could still benefit from more diversity, though. The top 30 lacks digital marketing agencies, large system integrators and end-users — all of whom could contribute meaningfully to making Drupal for them and others.</p> <h3>Evolving the credit system</h3> <p>The credit system gives us quantifiable data about where our community's contributions come from, but that data is not perfect. Here are a few suggested improvements:</p> <ol> <li>We need to find ways to recognize non-code contributions as well as code contributions outside of Drupal.org (i.e. on GitHub). Lots of people and organizations spend hundreds of hours putting together local events, writing documentation, translating Drupal, mentoring new contributors, and more — and <a href="https://www.drupal.org/node/2649100">none of that gets captured by the credit system</a>.</li> <li>We'd benefit by finding a way to account for the complexity and quality of contributions; one person might have worked several weeks for just one credit, while another person might have gotten a credit for 30 minutes of work. We could, for example, consider the issue credit data in conjunction with Git commit data regarding insertions, deletions, and files changed.</li> <li>We could try to leverage the credit system to encourage more companies, especially those that do not contribute today, to participate in large-scale initiatives. Dries presented some ideas two years ago in <a href="http://buytaert.net/state-of-drupal-presentation-september-2014">his DrupalCon Amsterdam keynote</a> and Matthew has <a href="https://www.lullabot.com/articles/better-then-bigger-cultivating-the-drupal-community">suggested other ideas</a>, but we are open to more suggestions on how we might bring more contributors into the fold using the credit system.</li> <li>We could segment out organization profiles between end users and different kinds of service providers. Doing so would make it easier to see who the top contributors are in each segment and perhaps foster more healthy competition among peers. In turn, the community could learn about the peculiar motivations within each segment.</li> </ol> <p>Like Drupal the software, the credit system on Drupal.org is a tool that can evolve, but that ultimately will only be useful when the community uses it, understands its shortcomings, and suggests constructive improvements. In highlighting the organizations that sponsor work on Drupal.org, we hope to provoke responses that help evolve the credit system into something that incentivizes business to sponsor more work and that allows more people the opportunity to participate in our community, learn from others, teach newcomers, and make positive contributions. We view Drupal as a productive force for change and we wish to use the credit system to highlight (at least some of) the work of our diverse community of volunteers, companies, nonprofits, governments, schools, universities, individuals, and other groups.</p> <h3>Conclusion</h3> <p>Our data shows that Drupal is a vibrant and diverse community, with thousands of contributors, that is constantly evolving and improving the software. While here we have examined issue credits mostly through the lens of sponsorship, in future analyses we plan to consider the same issue credits in conjunction with other publicly-disclosed Drupal user data, such as gender identification, geography, seasonal participation, mentorship, and event attendance.</p> <p>Our analysis of the Drupal.org credit data concludes that most of the contributions to Drupal are sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal.</p> <p>As a community, we need to understand that a healthy Open Source ecosystem is a diverse ecosystem that includes more than traditional Drupal agencies. The traditional Drupal agencies and Acquia contribute the most but we don't see a lot of contribution from the larger digital marketing agencies, system integrators, technology companies, or end-users of Drupal — we believe that might come as these organizations build out their Drupal practices and Drupal becomes more strategic for them.</p> <p>To grow and sustain Drupal, we should support those that contribute to Drupal, and find ways to get those that are not contributing, involved in our community. We invite you to help us figure out how we can continue to strengthen our ecosystem.</p> <p><em>We hope to repeat this work in 1 or 2 years' time so we can track our evolution. Special thanks to <a href="https://www.drupal.org/u/hestenet">Tim Lehnen</a> (Drupal Association) for providing us the credit system data and supporting us during our research.</em></p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2016-09-06T15:30:00+00:00" class="field field--name-created field--type-created field--label-hidden">Tue, 09/06/2016 - 10:30</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/drupal-planet" property="schema:about" hreflang="en">drupal planet</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> <li><a href="/tags/sponsorship" property="schema:about" hreflang="en">sponsorship</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Tue, 06 Sep 2016 15:30:00 +0000 mtift 153 at https://matthewtift.com Better, then Bigger: Cultivating the Drupal Community https://matthewtift.com/better-then-bigger-cultivating-drupal-community <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Better, then Bigger: Cultivating the Drupal Community</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>(This article was cross-posted on <a href="https://www.lullabot.com/articles/better-then-bigger-cultivating-the-drupal-community">lullabot.com</a>. The comments on this article are disabled in order to centralize all feedback in one place.)</em></p> <p>Each year at the largest Drupal conferences in the world, Dries Buytaert, the creator and project lead of Drupal, presents keynotes about the current “<a href="http://buytaert.net/tag/state-of-drupal">State of Drupal</a>.” These events are well known in the Drupal community as “Driesnotes” (Dries, obviously influenced by Steve Jobs, has quoted Jobs in his keynotes and has even ended <a href="http://buytaert.net/files/state-of-drupal-september-2007.pdf">multiple</a> <a href="http://buytaert.net/files/state-of-drupal-september-2014.pdf">Driesnotes</a> with “one more thing,” much like a <a href="https://en.wikipedia.org/wiki/Stevenote">Stevenote</a>). Frequently, Dries will clarify ideas from his keynotes on his personal blog, which was the case in a post from last year titled “<a href="http://buytaert.net/scaling-open-source-communities">Scaling Open Source communities</a>.” While his title suggests a focus on open source software, his more immediate ambition is <em>scaling Drupal</em>. Indeed, Dries conflates “Drupal” with “Open Source” in his article, concluding, “we can scale Drupal development to new heights and with that, increase Open Source’s impact on the world.” Dries would like to grow Open Source (he likes to capitalize these words) by growing Drupal.</p> <p>It was certainly not the first discussion about scaling <a href="http://chicago2011.drupal.org/sessions/scaling-drupal-community">the</a> <a href="http://london2011.drupal.org/conference/sessions/scaling-drupal-community">Drupal</a> <a href="http://www.midwesternmac.com/blogs/jeff-geerling/scaling-drupal-community-notes">community</a>, but when Dries first made his case for “scaling” in <a href="https://www.youtube.com/watch?v=4NN5EM4CYVE">Amsterdam in 2014</a>, many seasoned Drupalers immediately realized this was not a typical Driesnote. Dries referenced a variety of economic theories, covering topics such as “public goods,” the “free rider problem,” “self-interest theory,” “collective action theory,” “selective benefits,” and “privileged groups.” He was not talking about the average number of times Drupal had been downloaded each day or charting the number of contributed modules, as he often did in previous “states of Drupal” talks. Dries was engaging in <em>analysis</em>. He warned the audience that he had been reading “lots of economic papers,” admitted that “there’s an academic hidden inside me,” and pleaded, “please don’t fall asleep.” That such a talk required these disclaimers revealed the level of patience our community typically has had for academically-oriented analysis. Dries proceeded in his keynote (but not his blog post) to cite peer-reviewed articles from the economist Paul Samuelson and the American ecologist Garrett Hardin, and he extrapolated ideas from economist Mancur Olson’s well-known 1965 book, <em>The Logic of Collective Action</em>. Rather than just see Dries presenting, the audience witnessed Dr. Buytaert <em>historicizing</em>. The British journalist Will Self once remarked, “Visionaries, notoriously, are quite free from ratiocination and devoid of insight.” With his new ideas based on economic theories, Dries contested the stereotype. The reaction from the community was generally positive, with his talk garnering such accolades as “<a href="http://awebfactory.com.ar/node/529">historic</a>” and “<a href="https://twitter.com/dbeheydt/status/516865208351203328">the best Dries keynote ever</a>.”</p> <p>This Driesnote signaled a more nuanced critique from an entrepreneur more accustomed to <a href="http://buytaert.net/oreilly-drupal-book-in-the-mail">discussing</a> <a href="http://buytaert.net/pro-drupal-development-book-drupal6">books</a> <a href="http://buytaert.net/german-addison-wesley-drupal6-book">about</a> <a href="http://buytaert.net/building-powerful-and-robust-websites-with-drupal-6-book">Drupal</a> than books from <a href="http://www.hup.harvard.edu/catalog.php?isbn=9780674537514">academic presses</a>. More important, since Dries started promoting his ideas about economic theory, some of what he suggested has become reality. It probably comes as little surprise that this “<a href="http://www.computerworld.com.au/article/375567/dries_buytaert_talks_drupal_leadership_open_source">benevolent dictator</a>” can get things done. On his blog and in his talks he suggested various changes to <a href="http://drupal.org">Drupal.org</a>, such as improved organizational profile pages featuring more statistics and adding corporate attributions to individual commit credits in Drupal code (a topic he had <a href="http://buytaert.net/a-method-for-giving-credit-to-organizations-that-contribute-code-to-open-source">blogged about previously</a>). He offered other concrete suggestions that might very well still be in the works, including new advertising opportunities on Drupal.org in exchange for fixing bugs, the opportunity for organizations to get better visibility on the job board, and the ability to sort the marketplace page by contributions rather than just alphabetically. All of his suggested improvements were technical in nature, and ostensibly designed to benefit organizations.</p> <p>To his great credit, Dries maintains an openness to other ideas. In his Amsterdam keynote, Dries said, “these are not final solutions. These are just ideas, and I hope they will be starting points for discussion” (34:53). He said, “this is just me brainstorming” (43:49), and that we should keep working at building our community, “even if it takes us years to get it right” (47:27). Accordingly, here I try to adopt a constructivist approach that <em>adds to</em> – rather than <em>subtracts from</em> – what Dries suggested. I am here to assemble, not debunk. I bring the same attitude that I aspire to when dealing with any of my colleagues, which is to <em>assume positive motivation</em> – I assume that Dries, like my co-workers, has good intentions (others of Dries’s critics seem to forget this). Like Dries, I care deeply about the Drupal community and I would like to understand more about the problems we face, what Drupal means, and how various changes might affect our community dynamics. In the remainder of this article, I will spend most of my effort dissecting Dries’s suggestions, the logic behind them, and how they compare to the theories of the economic theorists he cites. Finally, I will offer a few of my own suggestions. I believe that we will be most successful not merely by convincing more people to work with us through technological manipulations, but instead by focusing on improving interactions within the community and a goal of cultivating social solidarity. In other words, I will argue that instead of using technology to grow our community, we should focus our efforts on adjusting our culture in order to improve our technology.</p> <h2>What Is the Problem?</h2> <p>Before we can discuss solutions, we should consider the problems that need solving. Dries mentions generalized goals of attracting “more contributors” to the Drupal project in order to “try more things and do things better and faster,” without interrogating what “better” means or why “faster” should be a goal. His solutions seem to suggest that we should lure organizations to get more involved by hiring Drupal core developers, although Dries admits that “hiring Drupal talent is hard.” That Dries does not make explicit the benefits of growing the community beyond increasing our capacity to do things “better and faster” indicates that he understands the problem to be obvious. But is the problem actually that straightforward? Does bigger mean better? Should we consider goals beyond <em>growing</em> the community?</p> <p>Evgeny Morozov, a rigorous thinker with a combative style, would label Dries’s approach “solutionism.” In <em>To Save Everything, Click Here: The Folly of Technological Solutionism</em>, Morozov writes, “Solutionism presumes rather than investigates the problems that it is trying to solve” (6). Morozov is frustrated by the prevalence of solutionism in technology debates and he dislikes any debate that presupposes the inherent worth of technologies such as “the Internet” (nowadays, Morozov always puts “the Internet” in scare quotes) or Open Source. I agree, and for our purposes, we should not assume that scaling open source, or Drupal, is a venture of unquestionable worth. Do we grow Drupal for social reasons? Are we politically motivated? Is this activism? Is this a philosophical debate? Or should we all just assume economic motivations? Whatever the impetus, I feel that when we talk about growing Drupal, we should not approach this activity as one with absolute value.</p> <p>One potential benefit might be to increase business. Perhaps Dries feels it unnecessary to explain his motives. Dries is not just a developer, he’s also a successful entrepreneur. Dries discusses his ideas about “scaling” on <a href="http://buytaert.net">his blog</a>, which is also the place where he posts his annual “<a href="http://buytaert.net/acquia-retrospective-2014">retrospectives</a>” about his Drupal company, <a href="https://www.acquia.com">Acquia</a>. In other words, Dries uses his blog not just to share personal information and news related to the Drupal project, he also uses his blog for business. So it seems quite probable that he wants to do more than <em>grow the community</em>, and that his goal is also to <em>grow his company</em>. Dries has fully committed himself to Drupal, and as the value of the Drupal software increases, so does the value of his Drupal company. One can hardly fault someone who has to answer to <a href="http://www.acquia.com/investors">investors</a> and who seeks to <a href="http://www.zdnet.com/article/50m-fundraising-boosts-acquias-ipo-chances">take his company public</a>.</p> <p>Another possibility is that Dries needs to <em>defend his company</em>. Dries is keenly aware that Acquia contributes disproportionately more to the Drupal project than any other company, and he understandably seeks to change this situation. Indeed, multiple times during his presentation Dries discusses the <em>ratio</em> of contributors. Dries says that it is “all about this ratio” (26:29 minutes into his talk) and that changing the ratio “will fundamentally change the dynamics of the community” (26:40). I agree with the latter part of his suggestion in that growing the community beyond Acquia will ease the “exploitation” of Acquia. While “exploitation” may seem a bit strong in this context, I borrow this word from one of Dries’s primary informants, Mancur Olson, who uses it repeatedly in <em>The Logic of Collective Action</em>. Olson believes there exists a “systematic tendency for ‘exploitation’ of the great by the small” (29). So applying Olson’s idea to Dries’s subject, we could understand why Acquia – run by the founder of Drupal, offering Drupal services, and employing more Drupal contributors than any other organization – has to carry the most weight. We should not feel too bad, however, because while it may be that Acquia contributes disproportionately to Drupal, it is also true that Acquia <em>benefits disproportionately</em> as Drupal gets better. Arguably, Dries and his company have the most to gain when others participate in Drupal.</p> <p>While Acquia grows with Drupal, there are certainly many others in the Drupal community that stand to benefit as well, especially the many other Drupal “agencies” (including Lullabot, where I work) as well as Acquia’s many <a href="https://www.acquia.com/partners">partners</a>. Dries writes, “my company Acquia currently employs the most full-time contributors to Drupal but does not receive any exclusive benefits in terms of monetizing Drupal. While Acquia does accrue some value from hiring the Drupal contributors that it does, this is something any company can do.” Certainly another part of Dries’s project is to <em>entice Drupal agencies</em> to contribute. But doesn’t this happen already? Don’t agencies understand that the prospect of scaling Drupal will lead to more clients and that it is in their best interest to contribute to Drupal? This topic of individuals contributing to groups is, in fact, one of the main subjects in Olson’s book, with his main point being that as groups get larger, rational individuals are <em>less</em> likely to participate. Olson’s thesis is that in large groups, “rational, self-interested individuals will not act to achieve their common or group interests” (2). Consequently, it is not difficult to understand why Dries was drawn to Olson’s theories – Olson’s study offers multiple perspectives on why individuals do not contribute to large groups, which Dries can use to help understand why all of these Drupal agencies do not fund as many Drupal core developers as Acquia. Even better, it offers multiple ideas about how to entice these agencies to help make Drupal “better and faster.”</p> <p>While it would seem that Dries is focused primarily on growing Acquia and other Drupal businesses, he would also like to attract individuals. He later clarified his goal <a href="http://awebfactory.com.ar/node/529#comment-9652">in a comment of a curious blog post</a>, maintaining that he “proposed ways to increase the social capital of both individuals and organizations.” His most immediate goal is not, in fact, to “scale Open Source.” Rather, he seeks to encourage individuals and organizations to contribute to Drupal. And from Olson, Dries learns more methods for <em>coercion</em>, another term that Olson uses frequently in his book. Olson believes that members of a group will not “act to advance their common or group objectives unless there is coercion to force them to do so, or unless some separate incentive, distinct from the achievement of the common or group interest, is offered to the members of the group individually on the condition that they help bear the costs or burdens involved in the achievement of the group objectives” (2). Olson talks at length about various types of incentives – social, selective, economic, etc. – that would make participation in a group more rational.</p> <p>It can be quite tricky to grok the motivations of the organizations and individuals that contribute to the Drupal project. Olson focuses primarily on individuals who are <em>rational</em> and <em>self-interested</em>. Olson’s subjects are individuals that “rationally seek to maximize their personal welfare” (2). In a similar manner, Dries believes “modern economics suggest that both individuals and organizations tend to act in their own self-interest,” even as he admits that contributions to Drupal are “often described as altruistic.” Dries’s discussion of “self-interest” hints at the difficulties in characterizing the motivations for participating in our community, and the need for subtlety. Especially with Drupal agencies, it can be difficult to generalize motivations. For example, I was recently talking with a senior member of the Drupal community, and a former Lullabot employee, who described Lullabot as a “lifestyle company” that seemingly puts the needs of its employees ahead of profit, and that is extremely selective when <a href="https://www.lullabot.com/articles/lullabots-hierarchy-of-qualification">evaluating potential projects</a>. His description of Lullabot feels apt, and by no means exclusive to Lullabot. <a href="http://fourkitchens.com">Four Kitchens</a> takes a similar approach with its employees by striving to cultivate a “<a href="https://events.drupal.org/losangeles2015/sessions/creating-culture-empowerment">culture of empowerment</a>.” <a href="http://thinkshout.com">Think Shout</a> goes a step further, having recently become a <a href="http://thinkshout.com/blog/2015/08/our-road-to-bcorp">B Corp</a>, which is a type of for-profit company that is <a href="http://benefitcorp.net/what-is-a-benefit-corporation">required to make a positive impact on society and the environment</a>. Or consider <a href="http://www.enjoycreativity.com/">Enjoy Creativity</a>, a nonprofit organization – required to act for the public good – that builds Drupal sites for churches and ministries. These kinds of Drupal agencies seem motivated by goals that are different from – if not in conflict with – traditionally capitalist goals where “the common good” is, as Ayn Rand put it, “merely a secondary consequence.” We might conclude that sometimes we just help others for no rational reason, and that, as Nietzsche famously observed, “in everything one thing is impossible: rationality.” Or we might adopt a more optimistic view, <a href="http://thenextweb.com/entrepreneur/2014/09/06/end-ownership-zero-marginal-cost-economy">as Dries did in The Next Web</a>, and conclude that “capitalism is starting to become more collaborative rather than centered around individual ownership.”</p> <p>So it seems there exists a wide variety of potential problems that need solving, although few of them feel urgent. First, Acquia has too much control. One of our goals should be to ensure that Drupal is understood as institutionally independent and that no single company dictates its future. I agree with Dries in that we should work to change the ratio of developers contributing code to Drupal. Second, we should ensure that Drupal continues to welcome a wide variety of individuals and organizations, both those that have the resources to contribute to core and those that do not. Drupal must not be construed as something only for business. After all, we do not know if Drupal will survive without individual contributors. Finally, we should strive to adapt to change and continue to make decisions that are understood as <a href="https://www.drupal.org/node/2471925">welcoming</a> as well as <a href="http://blog.phpdeveloper.org/2015/06/03/why-drupals-bug-bounty-is-important">benefiting a broader community</a>. It is fine to desire more individual and organization participation, but not if that means alienating significant groups within the community. In other words, rather than asking if a change will <em>grow</em> the Drupal project, we should ask if it will <em>improve</em> the Drupal project.</p> <h2>Drupal: Public Good or Collective Good?</h2> <p>Perhaps even more confounding than articulating Drupal’s problems is the task of determining what Drupal is. Previously I explored the “<a href="https://www.lullabot.com/articles/the-cultural-construction-of-drupal">cultural construction of Drupal</a>” and various narratives about Drupal in our community. Dries offers yet another narrative when he states clearly his belief that “Open Source projects are public goods.” He arrives at this conclusion because he feels that open source meets the two relevant criteria of “non-excludability” (“it is impossible to prevent anyone from consuming that good”) and “non-rivalry” (“consumption of this good by anyone does not reduce the benefits available to others”). Again, this is Dries borrowing from economic theory, and on the surface this seems like a useful way of thinking about Drupal, as well as free software.</p> <p>Dries’s use of the term “public good” is not problematic in that a large body of research uses this term. However, returning to Olson, it seems unlikely that he would call Drupal a “public good” and that he would have instead used the term “collective good” or “common good.” Olson characterizes public goods as government goods. I arrived at this conclusion not only because Olson based his research on Paul Samuelson’s work – whose essay mentioned “collective,” not “public,” goods – or because the title of Olson’s book is the <em>Logic of Collective Action</em>, but also because Olson made statements like this in his book: “The common or collective benefits provided <em>by governments</em> are usually called ‘public goods’ by economists” (14, emphasis added). Olson was actually quite specific about this distinction between “public” and “collective” goods: “A state is first of all an organization that provides public goods for its members, the citizens; and other types of organizations similarly provide collective goods for their members” (15). Even so, Dries very clearly compared Drupal to other public goods that eventually became the purview of the government – on one slide he placed Drupal alongside roads, schools, parks, streetlights, and defense. He was clear that each of these goods went from “invention” to “product” to “utility,” and that each was controlled by “volunteers,” then “business,” then “government.”</p> <p>While Dries certainly was not suggesting that the government take over control of Drupal, it seems a curious choice to compare Drupal to government projects. It makes for an interesting thought experiment to consider what happens when we understand Drupal as a public good, controlled by the government. Olson’s study, after all, concerns groups (representing individuals) that work for common interests. So to begin, it would make sense that the Drupal Association – a nonprofit “dedicated to helping the open-source Drupal CMS project flourish” – would be the group that represents we, the Drupal community. Partially akin to one of Olson’s labor unions, the Drupal Association works for a common interest. But what branch of the government would control Drupal? Would this also be the Drupal Association, with Dries as its president, moving under the purview of the government? Or would the government hire the core committers, with Dries still in his role as the benevolent dictator? But enough of that. One could (and should) object that comparing Drupal to the government is obtuse, and that it suggests a kind of economic determinism in which Drupal would become a government utility, which is clearly not anyone’s goal. I would agree, and while this may seem silly to construct a building with the lights on and nobody home, it helps to reveal what we already know – we do not actually want the government involved in Drupal. Many people in our community, including Dries, do not really consider Drupal to be like other government projects. Drupal is <em>our project</em>. We make it what we want and we do not want to (nor can we, really) hand the keys over to the government.</p> <p>So what happens when we shift the focus to free software as a “collective” good? To be clear, this use of “collective” does not signify “the collective life of humanity” (as Philip Gilbert Hamerton once put it), but rather <em>a group of individuals acting together</em>. Conceiving of Drupal as a “collective” rather than a “public” can be helpful for a variety of purposes. For one, it helps to explain why Holly Ross, the executive director of the Drupal Association, <a href="https://www.lullabot.com/podcasts/hacking-culture/holly-ross-on-the-drupal-association">talks openly and thoughtfully</a> about why she is starting to question whether the most appropriate tax classification for the Drupal Association is 501c3 – an organization that exists <em>for the public good</em> – or if it should more appropriately be classified as a 501c6, a trade organization whose purpose is to <em>grow the businesses</em> that support it. While I was quite taken aback when she admitted this to me, I can understand the thesis. It seems quite likely that our community is moving away from the notion of Drupal as something <em>for the public</em> and instead something <em>for our collective</em>. The internal deliberations of the Drupal Association are yet another indication that our group is gradually becoming more business focused.</p> <p>In the end, it does not especially matter if Drupal is a public good or a collective good if our focus is on improving the Drupal project. Our group, like the large organizations that Olson analyzes, is growing not just in members and contributors, but also in complexity of problems. We have a wide variety of ways to understand our community and its corresponding problems. A growing percentage of our membership is both self-interested and economically motivated, while other factions lean toward the selfless or the seemingly irrational. How one understands our community, and the problems that need solving, greatly informs how we go about finding solutions.</p> <h2>The Trouble with Technical Fixes</h2> <p>Dries likes to fix problems with technology because, like countless entrepreneurs before him, Dries has great faith in technology. He writes, “We truly live in miraculous times. Open Source is at the core of the largest organizations in the world. Open Source is changing lives in emerging countries. Open Source has changed the tide of governments around the world.” Talk of “miraculous times” is a bold assertion. It’s also an example of an attitude that Morozov, that pugnacious and insightful technology critic, describes in his book, <em>To Save Everything, Click Here</em>, as “epochalism”, or “to believe one is living in truly exceptional times” (36). The problem with this attitude, Morozov claims, is that it leads to unhealthy beliefs about technology. What Dries claims for Open Source is quite similar to what others had envisioned for the telegraph, radio, telephone, television, personal computers, and countless other technologies, which Morozov takes up in his book, <em>The Net Delusion</em>. Morozov cites a bevy of ideas with eerily familiar conjecture, some of which are worth noting here. For example, in 1858, a <em>New Englander</em> editorial proclaimed: “The telegraph binds together by a vital cord all the nations of the earth” (276). In 1921 the president of GE predicted that radio would be “a means for general and perpetual peace on earth” (278). And just a few years later, the <em>New York Times</em> critic Orrin Dunlap would foresee that “Television will usher in a new era of friendly intercourse between the nations of the earth” (280). Fast forward to 2014 and we read Dries making similar prognostications about open source changing organizations and governments. This belief in technology entices us into using it for new purposes.</p> <p>Dries’s choice of a technical solution is confusing. In addition to works by Samuelson and Olson, Dries cites in his keynote a well-known article by Garrett Hardin titled “Tragedy of the Commons” (20:45). Dries is vague about how he understands this article (he accidentally calls it a “book”), which makes it all the more curious why he would mention it. The epigraph of the article reads, “The population problem has <em>no technical solution</em>; it requires a fundamental extension in morality” (emphasis added). What is more, Hardin’s first sentence contains the following quotes from Weisner and York: “<em>It is our considered professional judgment that this dilemma has no technical solution</em>. If the great powers continue to look for solutions in the area of science and technology only, the result will be to worsen the situation” (1243). Hardin was bullish in his suspicion of “technical solutions,” reiterating his position four years later in the preface to his 1972 book, <em>Exploring New Ethics for Survival</em>: “For too long have we supposed that technology would solve the ‘population problem.’ It won’t.” Like Morozov, Hardin is suspect of technical fixes to complex problems. Since Hardin’s essay focused on “a class of human problems” that he described as “no technical solution problems,” perhaps there was another aspect that Dries found helpful.</p> <p>Hardin, who contends “it takes courage to assert that a desired technical solution is not possible” (1243), had agonized over how to convey his conclusions. Hardin also believes that we cannot succeed by appealing to conscience or by making people feel guilty. Hardin, like Olson, speaks of “coercion” to counteract the effects of self-interest. Hardin recommends that we cannot appeal to a person’s “sense of responsibility” but rather that in order to make changes we instead need a “mutually agreed upon coercion,” and that it may require infringing on personal liberties. He talks of the need to take <em>away</em> freedoms for the common good. Thirty years later, <a href="http://www.sciencemag.org/content/280/5364/682">in 1998</a>, Hardin would describe the ideas he presented in his earlier essay as his “first attempt at interdisciplinary analysis.” He felt that he was trying to solve a problem so large – the human overpopulation problem – that he could not employ simple, technological fixes, and that it would be necessary to draw on conclusions derived from multiple disciplines. People, not computers, would have to work together.</p> <p>Moreover, there are pitfalls with technological fixes beyond what Hardin construes (and again, I draw inspiration from Morozov and others). For example, introducing technological fixes can irritate existing social conflicts. Organizations that have long flourished in the Drupal community might be embarrassed by the new profile pages and might be less inclined to contribute, not more. Technological fixes can also distract, or act as mechanisms for denying the existence of deeper social problems – higher listings on the marketplace page, for example, will not distract individuals and organizations that are upset by <a href="https://www.acquia.com/comment/283576">Acquia’s sales techniques</a> or who have <a href="https://assoc.drupal.org/node/17853">concerns about its influence on Drupal Association webinars</a>. When technological fixes do not work, they can have the effect of making us think that we just need a different technological fix. Dries seems to express just this attitude when he writes, “There are plenty of technical challenges ahead of us that we need to work on, fun ideas that we should experiment with, and more.” If these are intellectually challenging problems that require serious discussions, and not just “fun ideas,” we will never get to the point of solving our problems.</p> <p>Perhaps the most troublesome trait of technological fixes is when they close down thoughtful contributions by people with knowledge about addressing social and political problems. Dries broaches the topic of “social capital” in his Amsterdam keynote (28:24), saying, “this is where we are good.” But he follows that up, suggesting that “altruism” and “social capital” are not scalable (31:37) and that these are not solutions for Drupal (31:55). Why close down discussion of these topics and abandon ideals that have served the community so well? What would happen if, rather than discarding these modes of investigation, we dug deeper to find alternative answers? What if the solution to scaling Drupal lies not with technology? What if, rather than use technology to change our community and culture we reverse our efforts and instead focus on making adjustments to our culture in order to improve our technology? Or perhaps we should only consider technological fixes that support broader efforts to improve the Drupal project rather than simply grow it? As the German philosopher Martin Heidegger put it, “the essence of technology is by no means anything technological.”</p> <h2>Sprouting Social Solidarity</h2> <p>When I suggest we need to look beyond technical solutions, this is not necessarily <em>contra</em> Dries. In another, much shorter blog post on “<a href="http://buytaert.net/open-source-and-social-capital">Open Source and social capital</a>” – posted less than a month before his post about “scaling Open Source” – Dries concluded, “social capital is a big deal; it is worth understanding, worth talking about, and worth investing in. It is key to achieving personal success, business success and even happiness.” Plus, Dries has written about “<a href="http://buytaert.net/fostering-inclusivity-and-diversity">fostering inclusivity and diversity</a>” on his blog. Like Dries, I do not believe that there is only one way to grow the Drupal community. We can use technology to support our broader goals, so discarding all technological fixes is not my objective. Rather, I am suggesting an approach to cultivating our community that mirrors how we make changes to Drupal code – we carefully consider how each change will improve the overall project, never assuming that more automatically means better.</p> <p>What is more compelling to me than technological fixes is to examine how Drupal and cultures around the globe shape each other, and how we can create more situations where more individuals make the choice to start participating in our community. This mode of investigation requires a multidisciplinary approach, a broader understanding not just of economic transactions, but also human interactions. I agree with Lars Udéhn’s assessment that “Olson’s theory of collective action has proved inadequate and must be replaced by a theory assuming mixed motivations” (239). The last time I checked, Drupal’s unofficial slogan is not “come for the code, stay for the economy” – it’s about community, and that is where I believe we should concentrate our efforts.</p> <p>While I found Dries’s turn to analysis refreshing, I also question that his informants offer the most helpful of ideas. Hardin changed his mind many times over his career, a fact he readily admits, so it would seem reasonable to explore his later ideas. Samuelson’s article, with its thick prose and mathematical formulas, feels quite unrelated to Drupal. It seems reasonable that someone like Dries, with all his responsibilities, should not be compelled to trace the history of theories of rationalism and social action from Aristotle to Descartes to Kant to Max Weber and beyond – especially not in a single Driesnote. If only we did not have those pesky clients to help and 529s to fund, we could explore more of these ideas. All of this is but a reminder that Dries’s sources are certainly not the last words on these subjects.</p> <p>Not to pick on Olson, but it also does not seem as though he considered the full force of <em>social solidarity</em> to Marx’s thinking about motivation. In his <em><a href="https://www.marxists.org/archive/marx/works/1844/epm/3rd.htm">Economic and Philosophical Manuscripts</a></em>, Marx writes of workers who get together to further their shared goal, “but at the same time, they acquire a new need – the need for society – and what appears as a means had become an end.” For Marx, building relationships was another form of production, and social solidarity was a key component for bringing about change (for more detailed critiques of Olson’s interpretation of Marx, see, for example, Gomberg or Booth below). Likewise, social solidarity is a significant force in the Drupal community. In my <a href="http://groups.drupal.org/twin-cities/events">local Drupal community</a> we not only have a monthly “user group” meeting, but every month we also have a “jam session” (coder meetup), community “lab hours,” and a social meetup at a bar. Many individuals in our community help organize the Twin Cities DrupalCamp, attend the nearby DrupalCorn or DrupalCamp Midwest, and travel to the annual North American DrupalCon (DrupalCons, organized by the Drupal Association, are the largest Drupal conferences in the world). The people we interact with become important to our lives – not just collaborators, but friends. “It is not the consciousness of men that determines their existence,” Marx wrote in <em><a href="https://www.marxists.org/archive/marx/works/1859/critique-pol-economy/preface.htm">A Contribution to the Critique of Political Economy</a></em>, “but their social existence that determines their consciousness.”</p> <p>We, as a community, would benefit from questioning our own unexamined beliefs, no matter what discomfort it may cause. We should continue to ask if successful programs like <a href="https://assoc.drupal.org/d8accelerate">D8 Accelerate</a> – a project that funds Drupal core development through grants – truly benefit our community, or if they might foster a collective motivated primarily by money. The way Drupal production is organized affects our understanding of it, and how we choose to coerce individuals matters. While many would prefer economic incentives and hard science over humanities, some in our community are marginalized and brushed aside by such priorities. Perhaps we will determine that it is in our best interest to ensure that our community exists more for the public than for our collective. It could be that programs like D8 Accelerate negatively affect solidarity.</p> <p>If IRC and issue queues online beget lively debates at conferences and code sprints in person, we should continue to examine each of those interactions. For instance, I agree with Larry Garfield when <a href="https://twitter.com/Crell/status/599334831793643521">he writes</a>, “The new contributor first commit is one of #DrupalCon’s most important rituals.” At the end of a week-long conference, the community code sprint occurs on the final day. During this sprint, veteran Drupalers train new contributors about the peculiarities of contributing code to the Drupal code base. Near the end of the day, one or more lucky individuals are picked to go in front of everyone else where Dries commits that person’s contribution. Personally, it was this event that got me hooked on the Drupal community. This symbolic act welcomes people to our community, demonstrates their worth, and gives future contributors some extra motivation as they work toward finding problems to solve.</p> <p>Moreover, we should promote a wide variety of events, encouraging more meetups, social events, and quasi-productive gatherings where code and conversation flow freely. The Drupal Association has already made steps in the right direction when they announced the results of their survey and their resulting “<a href="https://assoc.drupal.org/blog/holly.ross.drupal/announcing-new-approach-community-drupalcon">new approach to community at DrupalCon</a>.” The community theme in this announcement was comprehensive: “Community Keynote,” “Community Kickoff,” “Community BoFs,” “Community Training,” and “Community Sprints.” One could argue that the Drupal Association is bringing these activities <em>back</em>, and that previously they did not require the “community” prefix.</p> <p>Finally, I hope to see more thoughtful writing from our community about our community. The complexity of our community makes this a difficult task for an outsider. In addition to recommendations about “how to configure a View” and “how to make a page load faster” on <a href="https://www.drupal.org/planet">Planet Drupal</a>, many of us would like to know how other local Drupal communities work. What has been successful? How do they grow their membership? What does it mean to grow membership? The problem is not that we never discuss these issues, it is that we tend not to interrogate these issues more thoroughly “in print.” <a href="https://drupalwatchdog.com">Drupal Watchdog</a> is a step in the right direction, with its slightly longer form articles that allow the community to share their ideas in a more considered manner than a traditional blog post. While sharing ideas is nice, it can be even more helpful to share our ideas after they have been improved by an editor. While there are many issues of Drupal Watchdog that contain content that I find less engaging, I am glad that it allows for a wider range of voices.</p> <p>All too often we incorrectly describe Drupal as a means to an end, detached from a political agenda. We forget that organizations use Drupal not only as a tool, or even because of the community. Some organizations, such as the Free Software Foundation, clearly choose their software, including Drupal, for philosophical reasons first. Or consider the <a href="http://www.bookweb.org">American Booksellers Association</a> (ABA), an organization engaged in political and trade-related efforts geared toward helping independently owned bookstores. The ABA’s hundreds of Drupal websites represent just one component of their larger political project. Like so many nonprofits, the ABA has a staff of passionate individuals dedicated to the cause, and their conception of Drupal must not conflict with their ideals. Consequently, I would like to see more posts on Planet Drupal that test the boundaries of the <a href="https://www.drupal.org/planet/guidelines">guidelines</a>, which discourage “posts that don’t provide valuable, actionable content.” It would be nice to see more thoughtful articles that discuss political agendas and activities, and then describe how Drupal supports those activities. Countless people are inspired to use Drupal for reasons that have nothing to do with technology, and we should consider encouraging more of these stories.</p> <p>While I have many other ideas that I am tempted to suggest here, those ideas are more properly topics for another article. That said, I think we can certainly benefit from studying other free software communities. When I was sitting in the audience for the DriesNote at DrupalCon Los Angeles in May, I <a href="https://twitter.com/matthewtift/status/598176844064493568">suggested on Twitter</a> that it “sounds like @Dries gets lots of inspiration from proprietary products (Pinterest, Pandora), rather than from other free software.” Dries later saw my tweet and clicked the “Favorite” button. I think we would benefit not just from discussing other free software projects, but also interrogating the thinking about them. The kind of scholarship that I have found most illuminating is not that of economists, but rather work like Gabriella Coleman’s anthropological studies of the <a href="http://amzn.com/0691144613">Debian community</a> and <a href="http://amzn.com/1781685835">groups associated with Anonymous</a>, as well as Christopher Kelty’s <a href="http://amzn.com/0822342642">ethnographic research into free software</a>. There is a great deal to be gained by considering our ideas about Drupal in light of what we know about the Linux community, the Fedora project, OpenStack, and other large free software communities, while acknowledging that the Drupal community is complex and that there are no easy answers or solutions.</p> <p>The distinguished literary theorist Terry Eagleton has remarked, “most people are too preoccupied with keeping themselves afloat to bother with visions of the future. Social disruption, understandably enough, is not something most men and women are eager to embrace” (194). I understand why many in our community would not be quick to embrace any sort of radical change, but I also think it’s important that we talk about these issues. We cannot offload all of our problem solving to technology. To change what we think, we must change what we do. Making the case that the Drupal project should focus on its community and culture might seem less exciting than innovative technical solutions, but I hope to have highlighted just a few of the approaches to understanding our community that could prove beneficial, and that we should be careful as we consider which of them to adopt. Dries, in his recent turn to historicizing, is on the right track, and I hope the conversation continues.</p> <p><strong>Works Cited</strong></p> <p>Booth, Douglas E. “Collective Action, Marx’s Class Theory, and the Union Movement.” <em>Journal of Economic Issues</em> 12 (1978): 163-185.</p> <p>Coleman, Gabriella. <em>Coding Freedom: The Ethics and Aesthetics of Hacking</em>. Princeton: Princeton University Press, 2012.</p> <p>Coleman, Gabriella. <em>Hacker, Hoaxer, Whistleblower, Spy: The Many Faces of Anonymous</em>. New York: Verso, 2014.</p> <p>Eagleton, Terry. <em>Why Marx Was Right</em>. New Haven: Yale University Press, 2011.</p> <p>Gomberg, Paul. “Marxism and Rationality.” <em>American Philosophical Quarterly</em> 26 (1989): 53-62.</p> <p>Hamerton, Philip Gilbert. <em>The Intellectual Life</em>. New York: Macmillan, 1875.</p> <p>Hardin, Garrett. <em>Exploring New Ethics for Survival: The Voyage of the Spaceship Beagle</em>. New York: Viking Press, 1972.</p> <p>Hardin, Garrett. “Extensions of ‘The Tragedy of the Commons.’” <em>Science</em> 280 (1998): 682-683.</p> <p>Hardin, Garrett. “The Tragedy of the Commons.” <em>Science</em> 162 (1968): 1243-1248.</p> <p>Heidegger, Martin. <em>The Question Concerning Technology and Other Essays</em>. New York: Garland, 1977.</p> <p>Kelty, Christopher. <em>Two Bits: The Cultural Significance of Free Software</em>. Durham: Duke University Press, 2008.</p> <p>Morozov, Evgeny. <em>The Net Delusion: The Dark Side of Internet Freedom</em>. New York: PublicAffairs, 2011.</p> <p>Morozov, Evgeny. <em>To Save Everything, Click Here: The Folly of Technological Solutionism</em>. New York: Public Affairs, 2013.</p> <p>Nietzsche, Friedrich. <em>The Portable Nietzsche</em>. Translated by Walter Kaufmann. New York: Penguin Books, 1977.</p> <p>Olson, Mancur. <em>The Logic of Collective Action: Public Goods and the Theory of Groups</em>. Cambridge, Mass.: Harvard University Press, 1971.</p> <p>Rand, Ayn. <em>Capitalism, the Unknown Ideal</em>. New York: New American Library, 1966.</p> <p>Samuelson, Paul. “The Pure Theory of Public Expenditure.” <em>The Review of Economics and Statistics</em> 36 (1954): 387-389.</p> <p>Self, Will. <em>How the Dead Live</em>. New York: Grove Press, 2000.</p> <p>Udéhn, Lars. “Twenty-Five Years with ‘The Logic of Collective Action.’” <em>Acta Sociologica</em> 36 (1993): 239-261.</p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2015-09-16T15:02:10+00:00" class="field field--name-created field--type-created field--label-hidden">Wed, 09/16/2015 - 10:02</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> <li><a href="/tags/culture" property="schema:about" hreflang="en">culture</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 16 Sep 2015 15:02:10 +0000 mtift 148 at https://matthewtift.com What I Learned about Drupal at a Go/Rust User Group https://matthewtift.com/what-i-learned-about-drupal-gorust-user-group <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">What I Learned about Drupal at a Go/Rust User Group</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Last night I had the pleasure of attending the first joint meeting of <a href="http://www.meetup.com/golangmn/events/221703765">Minnesota Go and Rust users</a>, and arrived home inspired -- not just by Go and Rust, but also about Drupal and its community.</p> <p>Attending a wide variety of local meetups is something I really enjoy. Since I moved back to the Twin Cities area nearly seven years ago, I have attended meetings related to <a href="http://www.meetup.com/mn-php">PHP</a>, <a href="http://www.mn-linux.org">Linux</a>, <a href="http://www.meetup.com/Concrete5-Minnesota">Concrete5</a>, <a href="https://www.joyent.com/noderoad/cities/minneapolis-6-17-2014">NodeJS</a>, <a href="http://www.meetup.com/tcdnug">.NET</a>, <a href="http://www.meetup.com/JavaScriptMN">JavaScript</a>, <a href="processing-processing">Flash</a>, and more. Each of these groups has a unique community and way of doing things, although just about every one of them involves pizza, beer, and predominantly white, male participants.</p> <p>Given the fact that Rust and Go are both C-like low-level languages, it might not come as a surprise that this Go/Rust user group meeting was quite technical. There were three presentations and lots of terminals on the big screen. The first speaker introduced Rust by illustrating the process for generating the Fibonacci sequence. The end result looked something like this:</p> <pre><code>struct Fibonacci { curr: u32, next: u32, } impl Iterator for Fibonacci { type Item = u32; fn next(&amp;mut self) -&gt; Option { let new_next = self.curr + self.next; self.curr = self.next; self.next = new_next; Some(self.curr) } } fn fibonacci() -&gt; Fibonacci { Fibonacci { curr: 1, next: 1 } } fn main() { for i in fibonacci().take(30) { println!("{}", i); } }</code></pre> <p>At other local meetups I have attended, this could have made for a dry, boring talk. However, at this Go/Rust meetup, each aspect of this Fibonacci program was followed by remarkably sophisticated audience questions and answers about language architecture, Rust's underlying assumptions, and frequent references to how Rust compared to C, Python, Go, and other languages. I learned a lot and found it very entertaining. (Incidentally, while I personally prefer Go, I think this is a great article comparing <a href="http://jaredly.github.io/2014/03/22/rust-vs-go/index.html">Go and Rust</a> -- the author likes Rust).</p> <p>I have attended a lot of DrupalCon and DrupalCamp sessions over the past five years or so, and I don't recall any of them feeling like this Go/Rust meetup. Perhaps there are a lot of more technical sessions and I just avoided them. Perhaps sessions like the (Drupal) Core Conversations are very technical, but I just don't notice it as much. Whatever the case, these Rust and Go talks got me thinking about Drupal and its community.</p> <p>Drupal meetings, especially in the <a href="https://groups.drupal.org/twin-cities">Twin Cities</a>, tend to be focused on bringing in new users and not leaving anyone out of the conversations. That often means less technical presentations. Furthermore, every year at the Twin Cities DrupalCamp we have made it an explicit goal to welcome new users into our community.</p> <p><a href="http://www.garfieldtech.com/blog/off-the-island-2013">Getting off the Drupal island</a> to go to this Go/Rust group was a nice reminder of just how much Drupal lets me do without ever having to think about these low-level issues. For comparison, in PHP (Drupal is written in PHP), we might do something more simpler looking to create the Fibonacci series:</p> <pre><code>$fib = [1,0]; for ($i = 0; $i &lt; 30; $i++) { $next = array_sum($fib); array_shift($fib); array_push($fib,$next); echo $next.', '; }</code></pre> <p>Or perhaps more relevant is the fact that I can just spin up a Drupal blog for one of my friends or one of my kids, easily download themes to radically change the appearance, and quickly add sophisticated integrations without writing code. And at that point get on with my hacking, or not. My code, my data, my content. Sometimes I lose track of that when I'm working on a project with teams of people I've never met, testing my code in ways I never would have anticipated, making spectacularly complex, cool websites.</p> <p>The Go/Rust meetup had the unexpected effect of reminding me that Drupal can be very laid-back and non-technical, and that the web can be the same. Not all websites will need the sophistication of Drupal 8's <a href="http://drupal8cmi.org">fancy new configuration system</a>, and its ability to facilitate development, testing, and production environments. Drupal allows me to come home, emboldened by a meetup, and quickly jot down my unfiltered, half-baked thoughts for all the world to see, without having to think about the complexities of immutable references or garbage collection. This Drupal site lets me spill out these ideas in short order.</p> <p>As Drupal becomes an increasingly capable and accommodating entrance onto the wonderfully diverse information superhighway, it's nice to be reminded once in a while of the fact that Drupal also can do a darn good job of hiding complexity and letting us get on with creating and managing our content of all shapes, sizes, and qualities.</p> </div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/mtift" typeof="schema:Person" property="schema:name" datatype="">mtift</span></span> <span property="schema:dateCreated" content="2015-04-30T17:11:56+00:00" class="field field--name-created field--type-created field--label-hidden">Thu, 04/30/2015 - 12:11</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above clearfix"> <h3 class="field__label">Tags</h3> <ul class="links field__items"> <li><a href="/tags/drupal" property="schema:about" hreflang="en">Drupal</a></li> <li><a href="/tags/drupal-planet" property="schema:about" hreflang="en">drupal planet</a></li> <li><a href="/tags/go" property="schema:about" hreflang="en">go</a></li> <li><a href="/tags/rust" property="schema:about" hreflang="en">rust</a></li> <li><a href="/tags/community" property="schema:about" hreflang="en">community</a></li> </ul> </div> <section rel="schema:comment" class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Thu, 30 Apr 2015 17:11:56 +0000 mtift 138 at https://matthewtift.com