In the context of WP Engine vs Matt/Automattic/WordPress, Drupal co-founder Dries Buytaert published a blogpost that caught my eye.
This post is not specifically about the conflict between Matt and WP Engine, but rather about the identification and valorization of companies contributing to an open-source ecosystem.
This was, after all, the public starting point of the conflict.
In this article, Dries discusses the Maker-Taker concept to identify companies that are simply taking advantage of the system and those that are really contributing to it. For the past 10 years, Drupal has been promoting Makers within the ecosystem, directly highlighting these companies both on Drupal ecosystem websites and events.
There is a major difference in the credit system used by WordPress and Drupal ecosystems to recognize contribution efforts:
Even though WordPress encourages companies to contribute via the Five for the Future initiative, our open-source project only officially recognizes individual contributions and not those from companies.
Before we can consider taking “actions” against companies that are more takers than makers – and this decision remains to be discussed – we need to be able to formally identify the companies that actually contribute significally.
I’m going to apply this to WordPress Core contributions, but it potentially applies to any type of contribution. Core contribution, however, is a central node of the WP contribution system, so it’s interesting to start there, even if it potentially applies to all contribution teams.
The Drupal approach: managing company credits directly in commit messages
At WordPress, only individuals are credited in commit messages.
Official company profiles that may be present in commits are manually sorted when each version is released, and are systematically eliminated from the list of credits for each version.
Only individual accounts appear in the version credits list.
This is a major difference from Drupal’s contribution system, which does the opposite by directly recognizing in commit messages the individual, their company and even, where applicable, the customer in whose context the development or bug was reported.
Example of a Drupal commit message:
$ git commit -am "Issue #42 by Sam@Acquia, Megan, Tim*Pfizer: fixed performance bug."
In this example, the following are credited: Sam (individual) from the Acquia agency (Sam’s employer), Megan (individual), Tim (individual) and Pfizer (the customer associated with Tim, who reported the bug).
Source: A method for giving credit to organizations that contribute code to Open Source
Interesting.
In order to make public this information on the contribution of companies to WP, I regularly publish some statistics (including graphs) showing the involvement of companies on major WP versions, and annually in the “Year in Core” articles.
Examples:
Alas, these stats are very limited: they only consist in scraping individual contributions made by people who have indicated an employer on their WordPress.org profile.
On one hand, there’s a margin of error in scraping, and on the other, people have an annoying tendency to switch from one company to another from time to time… and their past contributions are then fully attached to their current (and future) employer.
I think it’s important to know how much each company really contributes, so we can showcase it, just as the Drupal ecosystem does.
But how can this be done using the mechanisms currently available on WordPress.org?
Proposal for an alternative approach to WordPress, based on the Five for the Future initiative
We don’t necessary have to act directly in commit messages, as Drupal does, we can do it via the Pledges that already exist in the Five for the Future initiative.
As we know the employer of each individual who has made a contribution (as long as the corresponding field is filled in), we can probably “easily” automatically put it together on the company page, to show the complete list of contributions made by people who are sponsored or belong to the company, at the time the contribution was made.
Then we can archive it, like a feed similar to the one currently shown on individual profiles.
This would make it much simpler to know the real amount of contributions of each company, and above all: it would solve the well-known problem of people who switch from a company to another one over time and whose contributions seem to be attached only to their current company/sponsor.
This is a subject that has already been brought to my attention by Peter Wilson or Johny Harris in the past: when people change companies, it distorts the contributions of both the old and the new company, by attributing the volume of the person’s contribution to their current company.
This would make it possible to keep a history of contributions on the organization’s page, while allowing the individual who is the author of the contribution to decide whether to attribute their new contributions to their current employer.
If we can manage to get more precise stats, it will actually be easier to see which companies are really involved in contributing to our ecosystem, and by deduction to see those who contribute little or nothing. Today, it’s not really possible to make this information publicly available.
Even with this proposal, it will still be a little less precise than the system implemented by Drupal, but it’s something that can be “easily” implemented in short term.
Of course, I’m available to work with the Make/Meta team on the starting blocks of this potential implementation.
3 replies on “Appreciating company contributions to the WordPress ecosystem: A proposal inspired from… Drupal”
I think an ideal FFTF system would allow individuals to give a % of their karma to different organizations, and organizations could credit some of their karma to other organizations.
So someone could work for Automattic, but their .org contributions are on their own time, so they don’t count towards Automattic.
Someone else could choose to credit all their hours to an org because they’re paid full-time to work on something.
Automattic could credit Newfold some of its contributions because they have a trademark license, which helps us pay for our FFTF.
[…] To delve further into these issues, I encourage readers to explore the recent reflections shared by Jean-Baptiste Audras (JB, WordPress core committer) and Dries Buytaert (the founder of Drupal). Note: I’m aware of […]
That would be a nice improvement. Do you know if Drupal committers must hunt for that commit information themselves, or if that’s something that’s either provided by each contributor on each ticket, or pulled from their profile? I’m asking because for such a proposal to work, all core committers would have to get on board with the idea. Some may not want to spend some extra time hunting for each contributor’s info.
The stats provide some interesting insights but they are indeed limited. Some folks may not fill in the “Employer” field in their profile. Others may be employed, but their employer does not sponsor their contributions ; their contributions should then be calculated as individual contributions.
It may be interesting to create a new field (or rename the existing one), so there can be a difference between the employer and the sponsoring company.