What's your idea?
Add possibility to write a review about project (module/theme) on Drupal.org. Add possibility to rate projects and to filter projects by rating/number of reviews.
For more info see: https://drupal.org/node/1580230
What are the benefits?
Drupal.org has huge number of modules and themes available for download, often it is hard to choose which ones of them to use when building Drupal site.
The goal is to help site builders determine quality of projects on drupal.org site by adding various indicators to project (module/theme) pages.
What are the risks?
Project maintainers don't want to deal with spam reviews and don't want to see on their project pages negative reviews from people who often just don't know how to use the project properly.
How can we measure the impact of this idea? (metrics)
Who directly benefits from / will use this improvement? (target audiences)
Site builders and developers who are trying to choose a module for their needs.
Are additional resources available for discovery/implementation? (volunteer effort, financial backing, etc.)
A lot of preparations done already, there is a plan of what and how to implement: https://drupal.org/node/1580230
There was volunteer momentum, but it got blocked by Drupal.org D7 upgrade.
Comments
"The goal is to help site
"The goal is to help site builders determine quality of projects on drupal.org site by adding various indicators to project (module/theme) pages."
Absolutely agree. There are a few types of indications that we can add. A simple rating would be helpful, but I'd also like to add a more comprehensive indicator: module health.
The module health rating should be a calculated rating, that uses an algorithm based on existing criteria to determine module health. E.g., maintenance status, open bugs in issue queue, last commit, installations, active issues, etc. This indicator (and also a rating) could be used with the proposed project browser to help new Drupal users make good module selection decisions.
Projects already have a few
Projects already have a few of these already, but they're all over the project page:
(I could've sworn there was something that indicated whether a project passed Coder review, but I don't see it now.)
Perhaps if these types of indicators were aggregated into one spot and made more prominent? I could see the calculated rating working, too: it'd essentially be a CTR score for projects.
I've proposed something very similar
Please take a look at Project 'Health Check' metrics -- it's got a lot of overlap with this one, but is focused on automated metrics calculations, rather than human generated reviews.
For me, the project pages feel like 'dead ends' presently -- like the community stops here and you're in the hands of maintainer(s) who may or may not be up to the job. We need to be able to provide maintainers with tools to ask for help and get a sense of their place in the grand scheme of things, PLUS allow people to have their say and get involved.
So I'd personally like to see this plus my proposal above (https://groups.drupal.org/node/314018) combined -- that would cover the project engagement and health, plus the community and personal input.
(Oh, and cross-linking for completeness!)
There's a lot more risk
I think the risks here are very understated. Reviews/ratings have innumerable problems, not least of which are:
Reviews are used as stand-ins for support requests and bug reports.
It's hard enough as it is now to get useful feedback and bug reports. Anyone who develops for the App Store can tell you how frustrating it is that, instead of getting a bug report, people submit negative reviews when they encounter a problem. It doesn't matter if the developer is the most responsive in the world, it's so much easier for people to leave a negative review and walk away than it is to work with a developer to get a bug resolved.
There's no incentive for developers to care.
Unlike Amazon reviews or even App Store/Google Play reviews, there is no incentive at all for developers, only negatives, because they're not selling a product. HIgh ratings in a store = more sales, which means more revenue and profit. High ratings on Drupal.org = what? More downloads, which translates to more unnecessary support requests, more chances for clueless ratings/reviews, and more headaches.
Conversely, there's no developer accountability. What happens if a module gets a solid 1 star rating? Elsewhere, that translates to low sales, so people are incentivized to maximize their review scores. That doesn't exist on Drupal.org. If I create a module that's maybe downloaded 50 times and gets nothing but 1 star reviews, what incentive do I have to care? I could just say, "I contributed my code back, job's done." Heck, what would it matter if, say, a really popular module like Rules had a 1 star score?
What if you do care? What a morale boost it'd be to get a crappy reviews for something you contributed back, for free!
Ratings are completely subjective.
Let's say you have a five-star rating system. What's the difference between 2, 3, 4, and 5 stars? What if it's a binary rating system (good/bad)? What's the difference between a module being "good" and "bad"? If a developer doesn't implement a pet feature that only I, out of 400k people using it, need does the project reserve a bad rating? Why or why not? People's subjective opinions and personal preferences do not translate into an objective quality rating.
And that's when people grok the rating system: people confuse the top rating with the lowest rating. Go to any site that implements a rating system and note there's always people who give glowing reviews and... one star.
A rating system that isn't subject to abuse is incredibly hard to get right.
It's fairly easy to make it one account = one vote, but what about mass account creation? Vote brigading (e.g., "Hi, I'm [insert popular Drupal developer here], please go vote up [insert project here]")? What's the recourse for users who notice vote fraud?
I also think it's important to link to the issue to implement this in the Project issue queue, where there was a ton of feedback about this, echoing much of what I summarized above.
If this is ever implemented, at a minimum this must be disabled by default (i.e., projects are required to opt-in, not opt-out) and reviews should not be prominently displayed on project pages. Make it a link in the sidebar, next to things like "Read documentation" and "View repository".
Alternatively, I think a starring/liking system—a la Github—might be a better way to go. It'd have no friction, avoid being confrontational to maintainers, and provide a better indicator of popularity than site installs has today (which is passive and relies on having update enabled, something many (most?) sites in production don't do).
@Mark Trapp I think that all
@Mark Trapp
I think that all of your feedback is completely valid. Using ratings and reviews will introduce a number of problems.
However, the stated goal of this idea is "to help site builders determine quality of projects on drupal.org site by adding various indicators to project (module/theme) pages."
How do you feel about using other, less-subjective indicators to generate an aggregate indicator for module health? Clearly, the method for this aggregate indicator would need to be well-thought out, and have a significant degree of community buy-in.
Also, I agree that the 'like' system would be much friendlier.
More objective module health
More objective module health indicators could work really well: I like your idea above a lot.
When I started I really liked
When I started I really liked drupalmodules.com and it helped me a lot. Too bad it stalled after it was purchased by iO1. It would need a visual upgrade and some maintenance but basically would make this feature irrelevant. To me not adding more load to drupal.org is always a good thing.
Perhaps the Assoc could partner up with iO9 and use the site?
I agree with you as to the
I agree with you as to the usefulness of drupalmodules.com and am similarly discouraged that it’s no longer up to date, but I think it’s important to have a degree of separation between reviews of modules which are purely subjective and their technical aspects. As such, I’m not in favor of reviews on drupal.org. Opinions filter their way into discussions about the modules anyway, so review-like information can be gleaned if a module has enough feedback. I DO agree that a lot more could be done to make finding the right module easier on d.o as well as keeping track of them as with the favorites on drupalmodules.com.
Finding drupalmodules.com useful
Finding drupalmodules.com useful, you can vote : https://groups.drupal.org/node/313353
Similar proposal that helps on improving search results
Force full-project application review for ALL projects, not one time only per user:
https://groups.drupal.org/node/314058
It will improve project quality, then better search results list.
I would like to add to this
I would like to add to this proposal some project review points:
All of them should have a link to open an issue for the respective subject. For example, phpcs cannot catch some coding standards that can be found on manual review.
Projects that meet all points could get a quality badge and be filtered by a tag on the project search page.
Let me know if this is a good addition to this proposal or if I should open a new proposal for it.
Addressing the Root Cause
Mark and others capture the delicate nature of ratings and the critical thinking of engineers that will not necessarily value mass random ratings even if implemented. Another point to consider is that ratings will/can deter new module maintainers from trying out their modules. After all, who among us wants to get critiqued and criticized for work we're coding for free? Ratings may have very unintended consequences and make becoming part of Drupal off-putting.
The Band-Aid of Rating Modules
Ratings are a cry for help as a symptom to the underlying problem. We want ratings because stabilizing modules for a project is a time-consuming black hole of researching, downloading, testing, and patching before they can be used. And if you don't have this horsepower to patch your own modules? Then you end up at the head-banging end of the line.
I've taken over too many failed Drupal projects in past years. I can almost narrate the entire project trajectory by looking at the installed modules. Five different slideshows, dozens of this and that all in different states of enablement. I can tell how hard the developer tried to meet the project objectives and what the client requests were. This is where we fail ourselves in thousands of disappointed clients and frustrated new developers daily. This is why so many site owners, site administrators and content managers hate Drupal. We fail them. We advertise a powerful module ecosystem but we don't show them the fine print: it mostly works if you're an engineer and our modules are mostly fixer-uppers. We want ratings because the quality and stability of modules is potluck.
Why Are Modules so Variable?
Tricky bit here. In varying parts:
- I'm doing this for free.
- I'm new. Stop hurting my feelings.
- I'd love to work on this but I have to pay my bills first.
- It's the best I know how to do.
- I'm tired.
- Modules are often written for projects with their own use cases and assumptions. My client pays me to write a module, works great for their requests, I submit that module. Mostly works for anyone else but it's understood that you'll be tweaking it for your use case.
- And today: "Want it fixed, send me money" This last bit is harder to quantify but I've spoken to enough maintainers and clients who have done plenty of transactions this way. I worry this is why Drupal.org issues queue and patches have flatlined since 2011. Data welcome to the contrary.
So What Will Work?
We need a thoughtful injection of revenue that rewards good maintainership standards in a sustainable, open-source manner that doesn't compromise our open-source ethos.*
- A community who understands that building their business on free work is a failed premise.
- Standards around documentation, UX, interoperability, accessibility and more.
Looking at the aggregated pain points that range from the heavy investment of time**, to project failures and a looming Drupal 8 launch; the landscape looks sketchy at best.
Ratings and metrics address the symptoms, I say we look at the tough, scary, complicated issues that are at cause and arrive at good solutions. This is our technical debt – we can clean it up.
-----------------------------------------------------------------------------
*We applaud GitTips and any other form of recognition to those doing the heavy lifting. However, you can see what the most famous in Drupal are earning. There are 20,000 maintainers. I don't think this sum is going to encourage them.
Annualized Chart from GitTips.com/for/drupal, the current top 12:
**The argument that these are client-billable hours is a non-starter. Would your clients NEED to pay for this if modules were better? No. Does this time benefit their project with great engineering features? No. Does this make Drupal a stellar business choice? No. Just because they WILL pay for this time doesn't mean that they SHOULD. They're paying because modules are not necessarily in a high-quality, enterprise-ready state. And there are plenty of projects that can't absorb the time actually spent. That's money taken straight out of the bottom line.
Susan | Better modules through revenue-share: Crafted, Curated, Contributed
Gittip, not git.tips
I think you mean Gitttip.com/for/drupal
I got taken to some strange linkfarm with your link :P
Life is a journey, not a destination
I have personally found that
I have personally found that the general ratings given tend to mean little in practice.
The module comparison pages are far more useful, as would the "Related projects" block if it actually was doing it's job...
Bringing this into the issue queue
There is also a related discussion about this here https://drupal.org/node/2186377 & https://drupal.org/node/1134450
--
OpenConcept | Twitter @mgifford | Drupal Security Guide