"Why should I come to BADCamp?" you may be asking. Well, if you can get to San Francisco, one of the biggest and free-est tech events on the calendar awaits you: free training, free food and drink, free summits, free sessions, amazing keynotes (free), a party (entry fee ... probably zero), "fancy coffee", and opportunities galore all await you!
I gave my traditional State of Drupal presentation this week at DrupalCon Amsterdam. I decided to talk about the sustainability and scalability of the Drupal community. In case you didn't attend DrupalCon Amsterdam, you can watch the recording of my keynote, download a copy of my slides (PDF, 17 MB) or read my blog post on the topic.
Today was day 3 of Drupalcon Amsterdam, and it started with a bang with Cory Doctorow as the keynote speaker. Cory is a noted Open Source activist, journalist, and blogger, and he has a long history of involvement with the Drupal community. He spoke passionately about the importance of transparency in software in an age when computers pervade every aspect of our lives. “we should be concerned about making free software because people want to be free, and people cannot be free in an information age without freedom of access to information,” he declared. The speech was inspiring for the crowd here, and I recommend that you give it a watch.
The buzz around the keynote was quickly replaced by much bigger news: Drupal 8 Beta has finally been released! The official announcement is available on drupal.org: https://www.drupal.org/drupal-8.0.0-beta1. We are proud and honored that so many Forum One developers have been among the 2,300 people who have contributed to Drupal 8.
Campbell and I devoted a large chunk of today prepping for our session, Coder vs. Themer, and the associated BOF (Birds of a Feather) workshop. In the session we explore the division in most development teams between the two kinds of developers. We take the style of a kung fu battle as we race each other to “live code” a working site in front of the audience. In the workshop we divide participants into teams to take the same challenge, and try different collaboration styles throughout the session. For those who have not seen our promo video, here it is again: https://www.youtube.com/watch?v=gRhLHBxYg-0
We capped off the evening by taking part in the musical portion of Cultural Night. Jam (HornCologne) led off with a trio of pieces for Alphorn. Yes, Alphorn. Like in the Ricola commercials! Then Campbell and I sang a rendition of the famous duet from Mozart’s Don Giovanni, La ci darem la mano. However, we did replace the Italian words with Drupal lyrics, “Panels handles layouts…”. We were accompanied by organizer Peter Grond’s excellent string quartet, who played beautifully but also with a great sense of fun. For example, they followed our operatic duet with the theme from the Mario Bros video game! They also played a few fusion jazz/classical pieces that I later found out were composed by members of the quartet. The evening was so inspirational that we plan to make Drupal Musical Night a regular part of the Drupalcon experience!
And now to sleep, Campbell and I present Coder vs. Themer at 10:45am tomorrow morning in the main auditorium!
Phase2 ran a hackathon yesterday at DrupalCon Amsterdam to encourage Drupal app and distribution development.
Although Drupal distributions can offer a lot of value, one of the Drupal project's biggest challenges right now is awareness of its capabilities and value.
This competition was setup to provide an incentive to get developers working on a distribution for Drupal or an app for Panopoly or Open Atrium.Why do we need distributions?
Drupal is aimed at a wide audience and needs configuration after installation to meet users' specific needs. Distributions help non-technical people build websites faster.The lowdown
A distribution is a package which includes both Drupal Core and a collection of other modules, libraries, themes and configuration scripts. Together these provide a fully working site configured for a very specific use case.
A great example of a distribution is Commerce Kickstart which provides a fully fledged off-the-shelf eCommerce website, something which would take some time to configure if you started with Drupal alone.
Drupal apps provide small bundles of functionality which can be added via a point and click method to an existing site. So, if you want to add an image gallery to your site then installing the image gallery app would create the necessary content types and install the right modules to make this happen.Getting started
I heard about the Drupal distribution hackathon competition at DrupalCon Amsterdam and got the details from the helpful people at Phase2. I headed there on my own and was welcomed into a team of three other animated developers where we started discussing ideas.The idea
Two of the other developers had an interesting idea about building a Drupal distribution for non-technical people which would help them build a website to deliver presentations online.
We decided to have a go at building this in Drupal 8 because it’s exciting to use a new and evolving platform.Introducing Promokit...
In seven short hours, we built a themed installation profile which configured Drupal with minimal effort from the end user. Nifty.
We called our idea PromoKit. It includes a first-time run wizard which helps you build your first presentation quickly and doesn't assume you know how to use Drupal.
We also added some additional niceties, such as an editing dashboard to manage and order the presentation’s slides.
When you access the site as an anonymous user, you are shown slide 1 of the presentation which displays to full screen. You can also page through the slides using the forward and back keys.The hack
We had a lot of fun diving deep into the Drupal 8 eco-system to understand how to build modules, themes and installation profiles. Although the finished product needs some more polish, we achieved much of our original ambition and were able to add some visual improvements, such as theming the Drupal 8 installation wizard.
Around 10pm, each team delivered a short presentation on their work. We demonstrated how Promokit used Drupal distributions to make it really easy for end users to achieve their goals. We were overjoyed when our team was awarded first prize by Phase2's CTO Frank Febbraro.Thank you Phase2
Huge thanks to Phase2 for organising the competition and putting on the food and drink to keep us going. Also, well done to all the other teams. I hope everyone had a great time like I did!
Our new An Effective Development Workflow in Drupal 8 training just made its debut at DrupalCon Amsterdam. An important part of the training is dedicated to shorten the trial-and-error period developers necessarily need to go through when converting their practices from Drupal 7 to Drupal 8: we want that proficient Drupal 7 (and Features) developers with zero, or very limited, Drupal 8 knowledge, gain a rather comprehensive knowledge of Drupal 8 (focused on configuration management) that allows them to be immediately productive when Drupal 8 is released.
As a gift to those who couldn't attend the training because it was sold out, and to all lovers of Drush, Features and code-driven development in general, we are sharing a "Drupal 7 to Drupal 8" cheatsheet that was part of the training materials. Please find it attached to this post, in PDF format.
We still have some printed copies available to give away; find us at DrupalCon and feel free to ak us for some copies!Tags: Drupal Planet, Drupal 8, Code Driven DevelopmentAttachments: Drupal-7-to-Drupal-8-Cheatsheet.pdfImage:
Today we announced Drupal 8 beta 1! This key milestone is the work of over 2,300 people who have contributed more than 11,500 committed patches to 15 alpha releases, and especially the 234 contributors who fixed 178 "beta blocker" issues. A massive thank-you to everyone who helped get Drupal 8 beta 1 done.
Betas are for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs, and who are prepared to rebuild their test sites from scratch if necessary. Beta releases are not recommended for non-technical users, nor for production websites.
Drupal 8.0.0-beta1 has just been released for testing and feedback! This key milestone is the work of over 2,300 people who have contributed more than 11,500 committed patches to 15 alpha releases, and especially the 234 contributors who fixed 177 "beta blocker" issues. To read about the new features in Drupal 8, see Drupal.org's Drupal 8 landing page.Drupal 8 beta 1 for testers
Betas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs, and who are prepared to rebuild their test sites from scratch if necessary. Beta releases are not recommended for non-technical users, nor for production websites.
Start by downloading Drupal 8.0.0-beta 1 and installing it! Drupal 8 definitely still has bugs, and we need your help to discover them. Let us know what bugs you find in the Drupal core issue queue. (Please search the known issues before filing.)Drupal 8 beta 1 for module and core developers
The main differences between the previous Drupal 8 alphas and the new beta are:
- The fundamental APIs in Drupal 8 (like the entity, configuration, and menu APIs) are now stable enough so that contributed module and theme authors can start (or resume) their #D8CX pledges and port their projects to Drupal 8.
- We have locked down Drupal 8's data model enough that developers should generally not need to perform data migrations between beta releases of Drupal 8. We will start providing a beta-to-beta upgrade path in a later beta release.
- Limited API and data model changes will still happen, though core maintainers will try to isolate these changes to only non-fundamental APIs or critical bug fixes.
Drupal 8's user interface, interface text, and markup are not finalized until the first release candidate, so it's too early to focus on user-facing documentation, translations, or themes (though by all means, adventurous contributors should start now to provide feedback while we can still fix things). Note that localize.drupal.org does not yet support the full Drupal 8 API and does not have all translatable strings.When does 8.0.0 get released?
Beta 1 will be followed by a series of additional beta releases with bug fixes, performance improvements, and improved stability.
The release version of Drupal 8.0.0 will be ready after there are no more critical issues (as of today, there are 97 remaining) and we've had at least one release candidate (RC) without adding any more critical issues to the list.
When will that be? "When it's ready." The more people help, the faster we can find and fix bugs, and the faster 8.0.0 gets released. The faster 8.0.0 gets released, the faster we can start adding new features for Drupal 8.1.0. So help out where you can, and let's deliver the best release of Drupal ever! :)Thank you!
A massive thank-you to everyone who helped get Drupal 8 beta 1 done, especially the contributors who have focused on beta-blocking issues (pictured below).Front page news: Planet DrupalDrupal version: Drupal 8.x
In the style of the ALS Ice Bucket challenge, we'll lick those bugs, one at a time! The three people I nominate to also take the challenge are Tom Erickson, Dries Buytaert, and Josh Koenig. You've got 24 hours!
Prior to the DrupalCon Amsterdam Prenote (where this video was shown), I had captured a few reactions from some of my friends (a sort of market testing, if you will).
Jam and friends react.
Mike reacts.Tags: Drupal PlanetDrupalDrupalCon
- What’s your role with regards to this DrupalCon?
- What is a DrupalCon? (I’d like to start out by getting a brief overview of what DrupalCon is for anyone that might be listening who hasn’t been to one. Maybe explain that there are sessions, BOFs, Day stage, vendors, pre-conference trainings, post-conference sprints etc.)
- Where is the DrupalCon going to be?
- Why Bogotá?
- Central place, cosmopolitan city. Easy access for most Countries and a technology hub for the region.
- When is it?
- 10-12 February 2015
- With sprints before and after
- What will be the spoken languages? What percentage of talks will be each language?
- The languages in Drupalcon Latin America will be English, Spanish and portuguese.
- Do we know who any of the keynote speakers will be, and what will they talk about?
- Dries And Larry Garfield
- What track will be represented?
- What events are happening, and where can people find out more about them?
- We haven’t started planning these events, Something interesting happening on the weekend right after DrupalCon is the Barranquilla Carnival.
- Trivia night (We hope)
What does the tech community look like there?
The tech community is big in Colombia, the central government has a full ministry dedicated to promote and work with technology in several areas. Bogota is a technological Hub in Latin America and a place where companies like google, facebook and PayU Latam set their main offices for Latin America and the Caribbean.
What does the Drupal community look like?
When we talk about the community we cannot talk about just Bogota or Colombia, this is Latin America opening their doors to everyone. The Latin American community is very active, matter of fact in the next 2 months we are having three big camps: Central America, Ecuador and Bolivia. Is a community that beside the local meetings does Summits from all latin America, being the last one Drupal Picchu in January this year. we also have Important camps in Mexico and other countries as mentioned before.
What’s the Drupal adoption look like in Bogotá?
The local government in Bogota is moving or has moved all their webpages to Drupal. Several newspapers, including the biggest one, and the biggest Video on Demand service in Colombia are Drupal as well as many Universities, among others.
- Who’s going to be the “boots on the ground” in Bogotá playing “host”?
- Seed (http://www.seed.com.co/en) Is the company helping us locally in Bogota.
- Where is the best place to eat?
- Zona T, just by the venue is the zone with several fancy restaurants. Usaquen is another zone, 93th street park and the “pink Zone” which is party and bars hub in Bogota just blocks from the venue also.
- Where is the best place to drink?
- Coffee - Juan Valdez (better than Starbucks)
- Beer - Bogota Beer Company. But Don;t forget Aguardiente.
- What should anyone who’s not been before, make sure to do?
Go to the Carnival
Explore the city
Go to Zona G (http://www.bogotatravelguide.com/places-to-go-in-bogota/zona-g.php)
Go to the Salt Cathedral of Zipaquira.
Visit PANACA and the coffee zone (http://www.bogotatravelguide.com/tour-del-cafe-bogota.php)
There is too much to see and love about Colombia! http://www.bogotatravelguide.com/index_en.html
Today started out bright and early for our Forum One team, setting up for our part in the famous DrupalCon Prenote. This is one of the best-known “secrets” of DrupalCon. As Drupal founder Dries Buytaert puts it, “If you only get up early once during DrupalCon, this is the morning to do it.” In past years we’ve taught the audience how to pour beer (DrupalCon Munich), conducted the crowd in the “Drupal Opera” (DrupalCon Prague), and explored the funny and strange talents of the Drupal community (DrupalCon Portland). Of course, no one could forget our famous Coder/Themer Wonder Twins appearance at the Drupal Superheroes Prenote from DrupalCon Austin!
This year, the Prenote theme was Drupal memories. We heard from many of the famous Drupal core contributors about how they became involved in the community and how it ultimately changed their lives. A beautiful highlight was Nancy Beers sharing the romantic video her husband sent her from Drupal Camp in Seville, shortly after they met at DrupalCon in London. After showing the video, Nancy got down on one knee on stage and proposed!
Adam and I got to re-enact the founding of Acquia, one of Drupal’s biggest service providers. We re-enacted that first partnership between Dries Buytaert and Jay Batson in a great Star Wars-themed parody. “Join me, and together we can rule the Internets as CEO and CTO,” intoned Jay in a Darth Vader mask. The audience loved it, and, of course, Adam and I thoroughly enjoyed our parts as well.
At the end of the reminiscing, we directed the audience to stand up and take “selfies” of themselves with the stage in the background, while the core contributors up front took their own “selfies” to match. Then I took the microphone with my opera singing, Drupalist wife, Bryn Vertesi, to sing a Drupal-lyrics version of “Memories”, from the musical CATS. “Once we’re Beta, you’ll understand what happiness is,” became the catchphrase for the day!
The Dries keynote was exciting as well, mostly because of the announcement that Drupal 8 is going to Beta at the end of the convention! This is great news for developers and clients alike, as the Drupal 8 API brings enormous improvements in flexibility, scalability, and usability. Forum One’s own Kalpana Goel has been hard at work, not just helping to write Drupal 8, but mentoring others as well. She spent her day in the sprint room, where the core contributors mixed celebrating the milestone with planning sessions for the next development phase.
Today I also got to try out a new session, introducing the fundamental layout concepts in Drupal 7 and 8, and teaching people how to combine them for the best effect. Panels, Display Suite, and Context – oh my! ran overtime with a full room, and finally I decided we had to move the discussion to a “Birds of a Feather” workshop, tomorrow. I’m looking forward to it!
This was a long and eventful day for us here at DrupalCon Amsterdam. We’ll finish it off with a well-deserved beer at one of Holland’s famous breweries, hopefully somewhere along one of the many beautiful canals that dot this city. We’ll report back with more tomorrow!
If you’re reading this blog post then you probably know what Drupal is...and I’m pretty sure that you are from the “Drupal world”. But just in case you don’t know - Drupal is an awesome open-source content management system. And for me, the best thing about Drupal is the community! With over 1 million members, and 30,000+ developers, it is one of the largest and most dedicated open-source tech communities in the world. For some people “Drupal community” means their developer friends around the world, for others it’s all about giving back to the Drupal project. No matter what you think - everyone must admit that DrupalCon is one of the main symbols of our community! DrupalCons are the most important conferences of the year for the Drupal community, and an event that Propeople supports as a sponsor year after year.
Unfortunately, DrupalCon is also one of the most expensive Drupal events of the year, specially when compared with small Drupal camps and events (e.g. DevDays in Szeged or a local DrupalCamp). Companies attending the conference will usually be represented by team leads and other senior team members. All the while, there are many, more junior Drupalists that would like to attend, but are not able to. For DrupalCon Amsterdam, we have decided to give some of our younger team members here in Propeople the opportunity to go to the event.
In order to do this, we had the idea of setting up a contest for our team. After all, some friendly competition is always fun! And what’s the most useful, interesting, and honest thing to base a DrupalCon contest around? Contributions to Drupal, of course! Whoever had the most Drupal contributions and patches to their name at the end of the contest would win a ticket to attend their first Con! Actually, our formula was a bit more complex than just a sum total of contributions. We accounted for the final status of the task or issue (if it was committed to Drupal - then max points, if it’s in the “needs review” stage - then no points); kind of project (Drupal core - max points, small sandbox - minimum points); and whether the patch was just a reroll or full of new logic. Other small multipliers were also used to “keep score”. Also we had some ground rules: contributions to documentation did not count, and there was only one month.
Personally, I think that the best and the easiest way to begin contributing is to find an interesting task, grab a laptop and start writing code. Similarly, I also think that the best and easiest way to become familiar with Drupal 8 (the upcoming version of Drupal) is to start contributing to the Drupal 8 core, or to port a module from Drupal 7. And even with tasks as simple as “Replace file_load() with File::load()”(https://www.drupal.org/node/2321969) you could learn a bit about EntityAPI, new FieldAPI, internal storage API, Unit test API and even fix some non-ideal code or remove external dependency to keep the DI pattern!
As a result of our month-long competition, those who competed were involved in 80+ Drupal 8 issues, and many of them have been resolved and committed to the Drupal core! Keep in mind that those who took part in the competition didn’t have any previous experience with Drupal 8.
So here are the results of our top-three contestants, who are in attendance at DrupalCon Amsterdam this week!
Temoor Gilmutdinov (https://www.drupal.org/u/temoor) - 25 issues: 10 were committed
Yaroslav Kharchenko (https://www.drupal.org/user/2312280) 30 issues: 12 were committed
Mike Sokolovskiy (https://www.drupal.org/u/lokeoke) - 23 issues: 12 were committed
These young developers were not alone. Afterall, when you help the community, the community helps you in return. Thank you to the great mentors that helped throughout:
And of course, a big THANK YOU to our core committers:
@Webchick and @alexpott!
Overall, this was a great internal initiative for our team, motivating a number of our developers to contribute to Drupal 8. In addition to the opportunity to attend DrupalCon, they have also earned valuable experience that will be put to good use in the coming months, as we continue to be involved with the development of Drupal 8. When Drupal 8 launches, initiatives such as this will ensure that Propeople will be in a good place to continue to provide the professional Drupal services that we are so proud of!Tags: DrupalCon AmsnterdamService category: TechnologyCheck this option to include this post in Planet Drupal aggregator: planetTopics: Community & Events
Icon fonts are a flexible solution for adding icons to your website. Having the icon contained in the font allows you to switch size and scale, color and add effects easily without having to redraw an image. In addition a font needs to be only loaded once, rather than 1 call per image (unless you are using a sprite like a fancy person, but sprites don't have the previously mentioned font benefits)...
Drush Recipes has come a long way since the project was first announced on planet a month ago.
How do you get to DrupalCon? Well, apparently you just follow the signs!
I’d never thought about it, but nothing makes one happier than official street signs guiding me from the hotel to the venue!
But even with such a welcome, I love the first day of DrupalCon, and I don’t mean trainings, community summit, or sprints, although they are important and valuable. More than all of that I love reconnecting with friends, colleagues, and collaborators.
We discuss the state of Drupal 8, and celebrate recent accomplishments, like the acceptance of the pagination dream markup (https://www.drupal.org/node/1912608) into Drupal 8 core!
This particular issue is one I’ve been working on consistently since Drupal Dev Days last March, but it’s not my victory alone, seven of us worked heavily on the ticket and even more contributed in smaller chunks.
We talk about which sessions we’ll attend and promote our own, namely Campbell’s and my Coder vs. Themer!
We also discuss new challenges and next steps, and in the sprint area we collaborate and problem solve together. Forum One’s Kalpana Goel is immensely passionate about core contribution and sprinting and received a scholarship from Drupal Association to come to Amsterdam and do just that.
Last but not least, we talk about the after parties and the social activities. But ultimately, it’s not about the hippest new nightclub or sushi at a shi-shi restaurant, it’s about people. I vastly prefer collecting colleagues and friends old and new into a semi-spontaneous dinner group, and so that’s what we did.
So that’s completes my recap of Day 1 in Amsterdam. Stay tuned for more updates soon!
Ever been in a situation where you wished your Drupal Commerce installation could operate more like a Point of Sale system? Especially for nonprofits, taking donations and charging admission to events are prime examples of times when swiping a customer's credit card would be a great time saver.
Setting things up is easy:
- Upgrade to Commerce iATS 2.5
- Edit the Commerce iATS credit card payment method by selecting Store, Configuration, then Payment methods from your Drupal admin menu
- Check the "Use encrypted USB card reader" option of the credit card payment method (see screenshot below)
- Select the name of the USB card reader you're using
- Save the changes to the payment method and you're good to go
The USB card reader option is only available to Drupal admin users, not regular customers, so you'll need to create an order manually through the Drupal Commerce admin interface before you can process a payment by swiping a credit card.
The next time you add a credit card payment to an order, you'll see something like this:
That code is the encrypted credit card data fed into Drupal by the USB card reader. Or it might be the Matrix, we're still not entirely sure.
In addition to the convenience of not having to type in credit card details, the USB card readers are fully PCI compliant. All sensitive credit card information is encrypted by the reader before it reaches Drupal, meaning you never need to pass unencrypted card data through your server.
For the developers out there, the USB card readers can hook into three of iATS Payments' API services:
- Process a credit card transaction without storing any data locally.
- Create a customer code without a charge. This is a great way to store a customer's credit card to bill later. Fully PCI compliant as only the iATS Payments customer code is stored on your server, not the credit card information.
- A combination of the above two services, charge a credit card and create a customer code at the same time.
You can see some example card data in iATS Payments' developer documentation. If you're ready to start swiping credit cards, the documentation includes links to sites where you can purchase one of the two encrypted USB card readers supported by iATS Payments.
As a hosting company, we're interested in the hosting needs of the Drupal community. We are doing some infrastructure and software planning at the moment, and we thought it would be great to get some feedback from the Drupal community as a whole.
We are conducting this as an open source survey - that is, we're planning on making the results publicly available after the survey closes. We're planning on leaving the survey up through the end of October, so if you're interested in informing the decisions of hosting companies catering to Drupal, please come fill out the survey.
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. And yet, Open Source can be really difficult. Open Source can be largely a thankless job. It is hard to find volunteers, it is hard to find organizations to donate time or money, it is hard to organize the community, it is hard to learn, it is hard to attract full-time contributors, and more. As the project lead for Drupal, one of the largest Open Source projects/communities in the world, I live these challenges every day. In this blog post, I will analyze the challenge with scaling Open Source communities and recommend a solution for how to build very large Open Source communities.Open Source projects are public goods
In economic terms, for something to be a "public good", it needs to match two criteria:
- 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.
Examples of public goods include street lighting, national defense, public parks, basic education, the road system, etc. By that definition, Open Source software is also a "public good": we can't stop anyone from using Open Source software, and one person benefiting from Open Source software does not reduce the benefits available to others.
The realization that Open Source is a public good is a helpful one because there has been a lot of research about how to maintain and scale public goods.Public goods and the free-rider problem
The biggest problem with public goods is the "free rider problem". A free rider is someone who uses a public good but who does not pay anything (or pay enough) towards its cost or production. If the maintainers of a public good do not address the free-rider problem it can lead to the non-production or under-production of a public good. This is generally known as the "Tragedy of the Commons".
In Open Source, a free-rider is someone who uses an Open Source software project without contributing to it. If too few people or organizations contribute to the project, the project can become unhealthy, and ultimately could cease to exist.
The free-rider problem is typical for public goods and does not usually arise with private businesses. For example, community-maintained software like Drupal may have many free riders but proprietary competitors like Adobe or Sitecore have no problem excluding those who will not pay a license fee.
To properly understand the free-rider problem and public good provision, we need to understand both self-interest theory and the theory of collective action. I'll discuss both theories and apply them to Open Source.Self-interest theory
Open Source contributors do amazing things. They contribute to fixing the hardest problems, they volunteer to help others, they share their expertise, and more. Actions like these are often described as altruistic, in contrast to the pursuit of self-interest. In reality, generosity is often driven by some level of self-interest: we provide values to others only on terms that benefit ourselves.
Many reasons exist why people contribute to Open Source projects; people contribute because they enjoy being part of a community of like-minded people, to hone their technical skills, to get recognition, to try and make a difference in the world, because they are paid to, or for different forms of "social capital". Often we contribute because by improving the world we are living in, we are making our world better too.
Modern economics suggest that both individuals and organizations tend to act in their own self-interest, bound by morals, ethics, the well-being of future generations and more. The theory of self-interest goes back to the writings of the old Greeks, is championed by early modern economists, and is still being adhered to by late-modern economists. It follows from the theory of self-interest that we'd see more individuals and organizations contribute if they received more benefits.
While contributing to Open Source clearly has benefits, it is not obvious if the benefits outweigh the cost. If we can increase the benefits, there is no doubt we can can attract more contributors.Collective action theory
The theory of self-interest also applies to groups of individuals. In his seminal work on collective action and public goods, economist Mancur Olson shows that the incentive for group action diminishes as group size increases. Large groups are less able to act in their common interest than small ones because (1) the complexity increases and (2) the benefits diminish.
We see this first hand in Open Source projects. As an Open Source project grows, aspects of the development, maintenance and operation have to be transferred from volunteers to paid workers. Linux is a good example. Without Red Hat, IBM and Dell employing full-time Linux contributors, Linux might not have the strong market share it has today.
The concept of major public goods growing out of volunteer and community-based models is not new to the world. The first trade routes were ancient trackways, which citizens later developed on their own into roads suited for wheeled vehicles in order to improve commerce. Transportation was improved for all citizens, driven by the commercial interest of some. Today, we certainly appreciate that full-time government workers maintain the roads. Ditto for the national defense system, basic education, etc.
The theory of collective action also implies that as an Open Source project grows, we need to evolve how we incent contributors or we won't be able to attract either part-time volunteers or full-time paid contributors.Selective benefits
Solutions for the free-rider problem and collective action problem exist, and this is where Open Source can learn from public goods theory and research. The most common solution for the free-rider problem is taxation; the government mandates all citizens to help pay for the production of the public good. Taxpayers help pay for our basic education system, the road system and national defense for example. Other solutions are privatization, civic duty or legislation. These solutions don't apply to Open Source.
I believe the most promising solution for Open Source is known as "privileged groups". Privileged groups are those who receive "selective benefits". Selective benefits are benefits that can motivate participation because they are available only to those who participate. The study of collective action shows that public goods are still produced when a privileged group benefits more from the public good than it costs them to produce it.
In fact, prominent "privileged groups" examples exist in the Open Source community; Automattic is a privileged group in the WordPress community as it is in a unique position to make many millions of dollars from WordPress.com. Mozilla Corporation, the for-profit subsidiary of the Mozilla Foundation, is a privileged group as it is in a unique position to get paid millions of dollars by Google. As a result, both Automattic and Mozilla Corporation are willing to make significant engineering investments in WordPress and Mozilla, respectively. Millions of people in the world benefit from that every day.
Drupal is different from Automattic and Mozilla in that no single organization benefits uniquely from contributing. For example, 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.Better incentives for Drupal contributors
It's my belief that we should embrace the concept of "privileged groups" and "selective benefits" in the Drupal community to help us grow and maintain the Drupal project. Furthermore, I believe we should provide "selective benefits" in a way that encourages fairness and equality, and doesn't primarily benefit any one particular organization.
From the theory of self-interest it follows that to get more paid core contributors we need to provide more and better benefits to organizations that are willing to let their employees contribute. Drupal agencies are looking for two things: customers and Drupal talent.
Many organizations would be eager to contribute more if, in return, they were able to attract more customers and/or Drupal talent. Hence, the "selective benefits" that we can provide them are things like:
- Organizational profile pages on drupal.org with badges or statistics that prominently showcase their contributions,
- Advertising on the drupal.org in exchange for fixing critical bugs in Drupal 8 (imagine we rewarded each company that helped fix a critical Drupal 8 bug 10,000 ad views on the front page of drupal.org),
- Better visibility on Drupal.org's job board for those trying to hire Drupal developers,
- The ability to sort the marketplace by contributions, rather than just alphabetically
I'm particularly excited about providing ads in exchange for contributing. Contributing to Drupal now becomes a marketing expense; the more you contribute, the more customers you can gain from drupal.org. We can even direct resources; award more ad views in exchange for fixing UX problems early in the development cycle, but award critical bugs and beta blockers later in the development cycle. With some relatively small changes to drupal.org, hiring a full-time core developer becomes a lot more interesting.
By matching the benefits to the needs of Drupal agencies, we candirect more resources towards Drupal development. I also believe this system to be fair; all companies can choose to contribute to Drupal 8 and earn advertising credits, and all participants are rewarded equally. We can turn Drupal.org into a platform that encourages and directs participation from a large number of organizations.
Systems like this are subject to gaming but I believe these challenges can be overcome. Any benefit is better than almost no benefit. In general, it will be interesting to see if fairness and heterogeneity will facilitate or impede contribution compared to Open Source projects like WordPress and Mozilla, where some hold unique benefits. I believe that if all participants benefit equally from their contributions, they have an incentive to match each other's contributions and it will facilitate the agreement and establishment of a contribution norm that fosters both cooperation and coordination, while minimizing gaming of the system. In contrast, when participants benefit very differently, like with WordPress and Mozilla, this decreases the willingness to cooperate, which, in turn, could have detrimental effects on contributions. While not necessarily the easiest path, I believe that making the system fair and heterogeneous is the "Drupal way" and that it will serve us in the long term.Conclusions
There are plenty of technical challenges ahead of us that we need to work on, fun ideas that we should experiment with, and more. With some relatively small changes, we could drastically change the benefits of contributing to Drupal. Better incentives mean more contributors, and more contributors mean that we can try more things and do things better and faster. It means we can scale Drupal development to new heights and with that, increase Open Source's impact on the world.
INTERIOR. RONNIE’S APARTMENT – EVENING
(RONNIE paces, on the phone.)
RONNIE: Jeremy, I have a bit of a problem. My Drupal guru-guy got two million dollars seed capital for his start-up and moved to Palo Alto. But I was thinking, maybe you should send me to DrupalCon Austin... Why? So I can experience the whole Drupal community-thing first-hand... Really?... Awesome!
EXTERIOR. CONVENTION CENTER – ESTABLISHING SHOT – MORNING
(RONNIE enters the massive Neal Kocurek Memorial Austin Convention Center, along with hundreds of enthusiastic Drupalists.)
[TITLE: DRUPALCON. DAY ONE]
INT. CONVENTION CENTER, REGISTRATION AREA
(Ronnie approaches a heavily costumed gentleman and explains that he is interviewing attendees for an article in Drupal Watchdog. HILMAR HALLBJÖRNSSON, a Drupal developer from Iceland, readily agrees to be questioned. Ronnie sets his cellphone to Record.)
RONNIE: Hilmar, why the helmet and horns?
HILMAR: Three days before I came here, I saw Morten DK announcing a big Vikings party and claiming that Vikings came from Denmark.
HILMAR: Well, everyone with a little knowledge of Vikings knows there are as many genuine Vikings in Denmark as there are high mountains. Which is: none.
HILMAR: So I decided to show him who was the boss.
RONNIE: And you showed him?
HILMAR: He was defeated and knelt before me.
INT. CONVENTION CENTER – LATER
(Exiting Exhibit Hall, Ronnie keeps up with a scurrying man-on-a-mission: JASON MOSS, an applications developer for the University of North Carolina in Chapel Hill.)
JASON: This is my fourth DrupalCon and what makes it most favorable over the last three is that it’s in a warm place.
RONNIE: Uh-huh. But aside from the weather –
JASON: – I always get a lot of little tidbits and useful tips at Drupalcon. It’s what keeps me coming.
RONNIE: Did you hear Dries’s keynote speech?
The monthly Drupal core bug fix release window is scheduled for this Wednesday. However, due to DrupalCon and other scheduling conflicts, there will be no release on this date.
Upcoming release windows include:
- Wednesday, October 15 (security release window)
- Wednesday, November 5 (bug fix release window)