This came up again this morning talking about Grunt: how do you pick a plugin? (See also JQuery, WordPress, Drupal modules, and so on.)
I realized a while ago that how I make those decisions is a lot like how I decide what knitting pattern to use.
Does it do what you want?
Obviously this is the most basic question, whether you’re looking for a CSS auto-prefixer, a carousel, or a pair of socks. But the thing is, if you’re trying to do something that lots of people want to do, probably a few have tried their hands at it. (There are more than 21,000 sock patterns on Ravelry, more than 6,600 of them being free. There are more than 600,000 search results for “jquery carousel”.)
But you’re probably looking for something a bit more specific than that. And if you already know your problem pretty well, you can judge the nuances between Bundle Copy, Features, and Configuration Management. If you know that you have 400 yards of fingering-weight yarn, then you can narrow down your options.
So for me it’s first knowing what I want, including what my restriction are.
Does it do it the way that works for you?
Everybody has preferences in their craft. You want the code that comes out of that plugin to be a certain way. You want a certain workflow in your Grunt tasks or your data imports. You hate data attributes or lace.
Once I have a rough list of things that do what I’m looking for, I look into them to see if they do it the way I like. Sometimes (especially with Drupal or WordPress) it means actually trying them out. For knitting, usually just reading the pattern tells me enough, thankfully.
Do other people use it and what do they say about it?
Great thing about Drupal.org, the official WordPress plugin site, and Ravely: you can see how many people are using things! You can also see a variety of kinds of feedback, like ratings, comments, bug reports. So it’s good to read through those, with an eye to your own preference, and see if it’s worked for others. I may end up choosing things despite others’ experience, but at least I know what I’m getting into!
Related: I do try to participate, especially with knitting patterns. On my Ravelry account, I try to make my final notes on projects as useful as I can, and I always rate both in stars and difficulty.
How engaged is the creator?
Related to the previous point, if there are complains or bug reports, you can see how the creators (developers or pattern designers) respond to them. And that means both quality and speed. For software-related projects, that also means how often they update, and for plugins, how often they update to match new versions of the core software.
Knitters and users of open source tools: how do you pick things?