Grading Drupal Contributions: Why Now and What Next
Rāmāyana, the Indian epic, tells that the three-striped palm squirrel got its beautiful coat as Lord Rama thankfully petted its back as it helped build ‘Rama Setu’ or Adam’s bridge by moving tiny pebbles for its construction. Rama Setu is a chain of natural limestone shoals between Dhanushkodi in Rameswaram, India, and Mannar in Sri Lanka, both islands. The parable is about each tiny contribution being valued and appreciated.
The beauty of Drupal is that the community went to extra lengths to encourage contributions and gave the organizations an incentive in the form of a MarketPlace ranking to sponsor upstream development. We developed a unique contribution credit system that would account for every contribution, including non-code contributions. It includes testing functionality, event organizing, speaking, volunteering, and more. But is that about to change?
Certain companies have reportedly attempted to gaming the gamified credit system, generating unwanted heat. Now the community thinks aloud about which contribution they should construe as genuine and which as trivial. The author suggests some changes to the system while sharing a suppressed perspective. Views are subjective.
Drupal MarketPlace as a Low Hanging Fruit
Drupal organizations accumulate issue credits to attain a better placement in the Drupal Marketplace. A notification in the marketplace reads as follows:
“2222 organizations provide Drupal services and have requested to be listed here.”
To my understanding, over 1000 organizations are serious in the play. They get listed in the marketplace based on their contributions in the past 90 days at a stretch. Being showcased in the first few pages of the queue, which has 89 pages in total, is crucial.
How is marketplace rank determined?
Determining the ranking order is tricky. Drupal.org describes the criteria as follows:
Organizations are ordered by Drupal Certified Partner Level → Supporter Level → Contribution Level.
Contribution ranking is based on contribution credits, which can be earned through the following types of contributions:
Issue credits— credits on more widely used modules carry more weight.
Drupal case studies — success stories increase Drupal adoption.
Supporting Partners — help us build and maintain Drupal.org.
Organization Members — who haven’t graduated to the partner program do their bit as well.
Projects supported — Project maintainers can credit organizations who provide support outside of issues.
New! - #DrupalCares contributors — Contributors to #DrupalCares receive a boost to their ranking.
New! - Individual Members — Organizations get a boost for each employee who is an individual Drupal Association member.
Is this historically tilted against smaller organizations?
Okay, first of all, do not read this as the opinion of The Drop Times. It is not. I am sharing a perception that exists but none might speak of. Let me try here to play the devil’s advocate.
There are three distinct Drupal partner programs: Drupal supporting partner program, Drupal hosting supporter program, and Drupal technology supporter program. Each program has a hefty annual fee to fund the organizational activities.
Being an enterprise supporting partner will definitely help you grow big at the cost of US $25000 per annum as a membership fee. It might not be seen as too high a price, considering the establishment expenses of even medium-scale companies. But that might not be true in all cases.
There are cheaper options too. A signature supporting partner will have to pay $15000, premium supporting partner $7500, classic supporting partner $2500, and community supporting partner $1000 per year.
While there are companies that bill millions of dollars per project, not all companies are in a position to quote such large amounts. When pitching megalith projects, the major contracting companies get all the money and the fame. But they might be delegating most of the work to smaller organizations from developing nations through subcontracting, who gain only a smaller fraction for their contributions.
A USD 25K per annum, for instance, will convert to nearly 2 million in Indian Rupees or 5.7 million in Pakistani Rupees or 2.4 million in Bangla Taka, or 1.4 million in Philippine Pesos. While contributing financially to the cause is excellent, putting forward such an amount could be challenging for many companies.
You may call them sweatshops. But the average salary of a worker in a developing country might be lesser, which enables them to pitch work on behalf of the contracting organizations.
Thus keeping an enterprise supporting partner with average contributions on the first page of the Drupal MarketPlace is a reservation for the financially sound. Those who can afford to pay can theoretically be in that position. It is the opposite of affirmative action.
Remember that MarketPlace is a business listing that is an income source for the Drupal Association. How to maintain the MarketPlace is a prerogative of the Association. You should be ready to pay if you want your company to be placed prominently in a business listing.
People in the developed economies do not find anything problematic in this as it is considered one of the virtues of the capitalist world order. These companies are there to maximize profits, and nothing is wrong with it. You are, in essence, advertising your services with the approval of the community.
People from developing economies, too, would not have much of a problem understanding it, although they feign ignorance. I come from a country where premium temples allow preferential treatment to those who could take special tickets for an exclusive queue to get to worship the deity from very near to the sanctum sanctorum and stay there for an extended time. In contrast, the regular line would be fast-moving and laden with thickly packed sweaty bodies chancing only a sneak peek from a distance.
There is another listing called organizations, where 4603 companies are ranked based on contributions. Those unwilling to sponsor DA can still be on this list and contend with it. The ranking here is organic, although gaming a gamified credit recognition system works here too.
This author does recognize the importance of financial contributions. Almost all enterprise supporting partners are A-level companies contributing generously to the Drupal core in code. They are worthy of that honor, even if they choose not to be supporting partners.
But if you decide to be a code contributor and are not of any financial help to the Association, your rank will likely fall at least a few pages behind. Whether it is fair or not is another question to ponder.
Is there a workaround?
Imagine, instead of a flat membership fee structure, these badges are given to those companies who pay a certain percentage of their declared profits—not even a fraction of annual turnover, but a tiny part of profits—as a levy to Drupal Association. Then, more organizations would be willing to pay, and those significant few would have to pay up even more.
After all, it is not just the onus of Acquia to support Drupal development; all companies who reap the benefits should contribute to it. We should have people working full-time on Drupal projects while maintaining a decent lifestyle.
Don’t think that I am swaying away from the free software philosophy. Organizations and individuals could still work in the Drupal ecosystem or repurpose it without contributing as the license term allows. But shouldn’t there be a little pain to appear on the business listing?
What is the current issue?
Some upstream developers have sound reasoning to believe that organizations incentivize contributions and credits and tie those with employees’ annual performance appraisals. New hires have pressure to contribute, resulting in sub-standard contributions. They need to do it to keep their job. Some even post irrelevant screenshots and coding standard issues to accrue issue credits.
More hands joining the Drupal Association from an organization translates to more credits for the organization and thereby better positioning in the MarketPlace. It also paves the way for low-value or no-value contributions.
Episode #361 of the Talking Drupal podcast discussed the gaming of the issue credit system in detail. Nic Laflin, one of the show hosts, brought the subject to the table, discussing the same with Matthew Tift, the guest. Top Drupal contributors, including Matt Glaman and Mike Herchel had raised their concerns on Twitter. The Drop Times reported on the brewing issue in a lengthy article published on August 23. Read: Gaming the Issue Credit System: Is the Problem Real or Perceived?
The proposal from Drupal Association
The recent discussion centered around the value of contributions made by different companies and contributors. On 2022 September 08, Drupal Association published a blog post, ‘Helping maintain high value Drupal contributions.’ The author(s) talked about the wrangle in detail. The post identifies the issue as follows:
“There’s a perception from some community members that some contributors may be using low effort, low value contributions to gain a more favourable placement within the Drupal Marketplace. Some examples of low-value contributions that people have given include posting unnecessary screenshots to issues, or running automated tooling against many projects to fix minor code quality issues.”
Although the blog identifies the issue, it does not cast doubts on the intentions of novice contributors.
“We very much want many people to be recognized for their contributions, and we want to see new faces in the issue queues. Some contributions which may seem simplistic or low-value may also just be good entry points for someone first beginning a contribution journey, and we should always use these examples as an opportunity to help an individual or organization ‘level up’ their contribution skills.
At the same time though, we want recognition to be proportional to the effort put in, and we want our project maintainers, who ultimately control who gets credit for contributions to their projects, to feel encouraged by seeing new faces and not burnt out by policing the system.”
The blog post then goes on to describe the mode of gaming used to accrue issue credits. It identifies the loophole and suggests a quick fix.
“Today, we are seeing a recent pattern with providing a lot of test screenshots. These can be valuable, but in some cases, the users posting them aren’t even checking if they have a properly applied patch, so it’s difficult to rely on. This is partly because file attachments automatically pre-check the contribution box when users post them to issues, so that’s an area where we can use a technical solution to try and correct the situation.
A quick fix
The Drupal Association Engineering Team is making changes to the issue queues so that contributors that upload images will no longer be automatically assigned credit. By not having this auto-populate, the maintainer won’t have to spend time deselecting drive-by contributions of screenshots that were inauthentically posted or otherwise unhelpful.”
You can read the blog post here.
The Association is trying to devise a guideline to identify a contribution’s value. They need to classify it into high-value or low-value. The plan is to put together a group composed of community members, the DA board, and staff to create some documentation for the purpose. It will be separate from the existing guidance on granting credit or the Drupal core team’s documented standards for how they give credit.
The upcoming document would be oriented more towards the etiquette of a contributor, which is currently missing. An issue queue has been opened, seeking helpful comments from the community members. The deadline for submissions is 2022 October 01.
A suggestion from the sidelines
As already mentioned, there is an issue queue to sort out this question. As a non-developer, I am unwilling to comment directly on the issue queue as my hay strand tied to that silk thread might be read as another attempt at gaming the system. See, the discussion has already hit home! Still, I may share some opinions where I am free to write.
- Instead of fixing $1000/annum to be the lowest tier of the entry fee for a Supporting Partner, take monetary contributions based on a company’s financial health. Tie it to the audit statements so that every company that needs to get into the Drupal MarketPlace should pay a levy to the Drupal Association to the tune of, say, N% of their declared profits from Drupal-related business for each financial year. This’ N’ can be re-evaluated every few years and can be as small as 0.02% or as big as 20%. Only those companies ready to bear the burden need to be in the marketplace.
- Instead of collecting the membership fee annually, divide it into equated monthly installments (EMI) so that many more organizations might feel eased to sign-up.
- The MarketPlace is for organizations, not for individual contributors. Companies keep a blind eye to low-value contributions from their folks because each new sign-up means more credits for companies, and each comment with attachments automatically accrues credits (This behavior is proposed to be changed). Making the company accountable is what would make it even. Organizations should start publishing an open quarterly review of their contributions, evaluating those from their workforce. It should categorize the contributions made and be available for social auditing. Make it mandatory for all companies who seek to be showcased in the Drupal MarketPlace.
- There should be a quantifier with which you can weigh a contribution. For instance, contributing to the Drupal core or supporting a Drupal Project should get considerable credit. So should be maintaining Themes or curating specific Distributions. Creating a new reusable Module should get a certain weight. Setting milestones based on how many websites use a module would be suitable. Achieving each milestone should gain a certain weight. If the company holds a module from D6 and is still functioning through D10, shouldn’t that be given a weightage? Writing an article popularizing Drupal outside the Drupal circle should get a certain weightage. Creating a Drupal case study in drupal.org should be weighed in. Likewise, each contribution should be listed, with different weights accorded to each. These should add up to ascertain the ranking of a company.
- Suppose an organization created a custom module for a client and, with their permission, open-sourced it. As it is commissioned work, credits should be split between the assigning and developing companies, transferring half the weightage to each. At the same time, crediting a client is noble and should be enough to gain a certain weight, so it would be better than just proclaiming it as your work.
- If a module developed by a company for a specific client is orphaned and no longer maintained, or there are no new adoptions even after a year, the organization should lose the point. Organizations that adopt orphaned modules developed by a third party and maintain them actively should get weightage.
- As already stated, Market Place is for companies and not developers. Suppose a developer spends their free time contributing to Drupal. If the contribution is by way of bug reporting, whenever the issue gets fixed, the company they worked for at the time of the bug reporting receives the credit and moves up the value chain. It is unfair. Companies should get credits only if the company sponsored the module development/testing/bug reporting. It means that the time the developer spends on the contribution is work time. Companies can do this by allowing a certain percentage of their workweek to dedicate to open source contributions. They could also hire separate developers and put them to work exclusively for tasks valued as contributions.
- Encourage companies that appoint Free Software Evangelists by way of awarding credits. As part of the induction process of new developers, make it mandatory to attend classes that get them through the FLOSS culture. Educate them on various open source licenses, using multiple git repositories, how to contribute, report a bug or suggest a patch, etc., and provide certifications. Maybe, the community could collectively develop a curriculum for the course.
- Certain companies take pain to educate new hires in Drupal. Once they complete the probation, mega corporations absorb them. Thus the training cost will always be the burden of small companies while the more prominent organizations get a well-trained and qualified workforce for free. It is why imparting Drupal training should get extra credit. There should be some industry-oriented certification such as that provided by Redhat, such as RHCSA, RHCE, etc., or various Microsoft and CISCO certifications. It should have a score band like that of TOEFL or IELTS. If a company makes their developer attend the exam and get past a cut-off score, the company should get weightage. The exam fee can be a revenue source for the Association as it creates chartered Drupalists, whom organizations can hire.
- A sound reward system should have punitive elements as well. Repetitive attempts by the same person to grab brownie points by way of irrelevant contributions, even after being pointed in the right direction, should be dealt with, with negative points both for the contributor and the organization.
Am I the only one suggesting such improvements from outside the issue queue? Not at all. I penned half of this article on the 12th and finished the rest yesterday (IST) evening. While it was under review, I chanced upon a tweet from Mike Herchel where he shared Théodore Biadala’s blog post on the same subject. In his essay, ‘A better Drupal marketplace ranking,’ Théodore asks to stop using labor as ranking. I urge everyone to read that too. Some of the points I am raising here have already appeared in his post, though our approaches are different. In my defense, I had written a few of these points in a reply thread to ultimike’s tweet on September 07 itself.
I hail from Kerala, a southern state in India. September 08, the day on which the Drupal Association came up with their proposal, was a holiday for us as we celebrated Thiruvonam or ‘Le Onam’ that day. Onam is a cultural festival in which the people eagerly await the annual return of Asura King Mahabali (the name means great sacrifice), who was chastised to the netherworld by Vamana, a dwarf in a priest’s robe who was the incarnation of Lord Vishnu.
The King was too generous and trustworthy, so even the Devas felt threatened by his popularity. The mythical period he ruled Kerala is considered a term without lies and cheating, whence nobody used deceptive or bogus scales of measure, where all were equal, and where there was no sorrow. It naturally irked the Gods as people would not worship them. So they asked for the help of Vishnu, the god of ‘Sthithi’ (status-quo), who came in a Brahmanical attire and asked for three-foot land to meditate.
The munificent King asked the sage to count it for himself. The ascetic grew to enormous proportions and measured all of the earth and the outer universe with the first two steps. Then he asked for a space for the third step.
The King lowered his head and asked the hermit to step on it. In return, he was allowed to visit his subjects once every year. And that day is Onam.
Our Malayalam-speaking population worldwide celebrates Onam with floral carpets for ten days at a stretch. The season is colorful with traditional attire, various games such as snake boat races, tug of war, Pulikali (a procession with tiger stripes painted on bodies), and the like. It is a time when we reminisce about unity, equality, and prosperity and think about society as a cultural and functional collective.
The myth has provided us with remarkable resilience to adversities. What better time could we think about being bountiful and magnanimous to novice developers and helping them achieve respect in the community?
Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please let us know in the comments below and we will try to address the issue as best we can.