Awards in Open Source
There’s a number of different awards an individual or a project can win:
- Innovative Company of the Year
- Library of the Year
- Framework of the Year
- Tool of the Year
- Book of the Year
- Best Educational Experience
- Best Hardware Project
There’s two sorts of these competitions:
- Ones that present a challenge and gives everyone an equal chance at solving it (like JS1k).
- Ones that ask people and projects to be nominated and voted on by the community (like the JSAwards or the Web Platform Awards).
The former are a great kind of competition. They are lighthearted fun. They get people to try their hand at something new and most importantly they put everyone in the same position.
It’s the later that I want to focus on here.
Competitions like JSAwards and the Web Platform Awards work in a basic three-step process:
- People and projects are nominated either by themselves or by others.
- A closed group of judges decide which of these projects deserve to be nominated based on different parameters (i.e. “When was it created?”, “How many people are actually using this project?”, or “How many nominations for this were made?”)
- A final set of projects is chosen and then published for the community to vote on. Nominees and their supporters then promote them to get more people to vote for them.
This process turns the competition into a popularity contest. Whoever has the biggest social graph wins. It’s a matter of who can make the most noise and gain the most traction.
Now here’s the part where I admit that I have a privileged place in the open source community. My involvement with other popular projects means that when I create a new project, it has a much easier time rising to the top of GitHub Trending, Hacker News, or Reddit.
When Sebastian and I were working on 6to5 (Babel) in it’s early days it took months to gain traction. We worked our asses off before anyone even would consider using the project.
But then when we went to open source Yarn, we did so with an existing reputation in open source and with the backing of our employer, Facebook. Because of this Yarn became the second fastest growing open source project on GitHub ever.
What about the people slaving away on the next Babel? What about the people doing the hard grunt work that nobody ever sees? What about those that are socially introverted and would never ask someone to vote for them?
When we slap a label on someone or something as “The Best…” we explicitly are calling one thing better than the rest (and when we say “X of the Year” the “The Best…” is implied).
Who knows? This isn’t a foot race, it’s based on community opinion. It’s based on a popularity contest. A popularity contest that was already won before nominations were ever made.
This isn’t healthy competition, it’s reinforcing people’s reputations in the community and calling them better than everyone else. Healthy competition would be doing the inverse, promoting projects that don’t have as many resources so that they stand a chance against one another.
We had a ton of resources launching Yarn, several companies were involved, that paid a number of people to work on it, with a number of high profile programmers, and many of our friends who worked on it in their free time. It’s shouldn’t be a huge surprise that it was very successful from the start.
These kind of popularity-based competitions are harmful to the community and as someone who would do really well in them I ask that they shut themselves down.
Instead let’s promote the projects that we see by sharing them on social media. Talking about them to our coworkers. Writing blog posts. Giving talks. Even contributing directly back to the projects through code or documentation. If you don’t feel like doing any of that go give them a star on GitHub and follow them on Twitter.
Try this: Find a person or project in open source that you have respect for and tweet out how amazing they are? I swear you’ll both feel awesome afterwards.
It doesn’t take saying “X is The Best” to say “X is Great”.
Note that there are almost no exceptions to nominees that weren’t already extremely popular.
Update 2: The JSAwards have been cancelled due to a number of project asking to be taken out of the competition.
It would be easy to call this a “victory”, but let’s instead take it as an opportunity to learn as a community. Open source is all about passion, let’s find ways of making more people successful in the community and help grow it.
We can’t do that by saying one person or project is better than another. We can’t do it by tearing others down. If we want a community we can be proud of, we need to help one another.