It was sometime in 2016 that I took my first real headfirst dive into the open
source ecosystem and community. After some years of traditional MVC development
using frameworks like
angular with build tools like
gulp, I finally jumped ship to
webpack stood out as it provided something most backend
developers take for granted, a proper module system. While it wasn't the
first project to interpret CommonJS and ES6 module syntax, it was the first to
start allowing the treatment of all web assets as
import-able modules. This
plus some advanced module resolution features had me sold.
So I was building
react applications, bundling them with
generally loving life. I had also switched to
npm for dependency management
at a time when many were still manually including libraries or using other more
browser-focused package managers like
bower. As I was doing all this, I kept
seeing a similar theme in many discussions around
webpack and those learning
There was a general consensus that while
webpack was a great tool, it
required a lot of configuration know-how to set up. Comments like these
demonstrate the more extreme sentiments (some are paraphrased to fit)...
- I passionately hate webpack...
- Whoever is in charge of the docs should be kicked off the project.
- It fathoms me that such a large project has the absolute worst docs.
While not every comment was this harsh, it was somewhat mind-blowing to me how much people could complain about a free piece of software. If you're not an open-source contributor, understand that open source projects -- especially bigger ones -- require just as much work as professional projects. In some cases, they require even more work because they get scrutinized by a broader audience. That's actually a good thing, assuming the maintainer is open to feedback, but my point is just that you shouldn't be an asshole about it. Definitely provide feedback, but go into with some understanding and respect for the work that's been done and that most if not all of that work has been done for free.
All that said, I did agree that some of the documentation was confusing and I
wanted to help do something about it. I familiarized myself with more of
webpack through both the documentation and source code, and then started
some designs for a new version of the site. Once complete, I shared that work
via a comment on an issue in the docs repository.
I anxiously awaited the first response, waiting to get shot down as a newb that
had no idea what he was doing.
webpack was already a pretty big project at
this point and I figured I was way out of my league. To my surprise, the team
seemed to really like the idea of a new site and that one comment spawned more
discussion and some new threads. Within a few weeks, we started building the
new version of the site.
Soon it was launched and even more feedback and ideas started flooding in. Most
of what we heard was positive but here and there we still got the occasional
douchey comment. The community overall was wildly supportive and we couldn't
have made the site what it was without their contributions (via PRs and ideas
shared in comments). I learned a lot from the core team and others not just
webpack but also about managing projects and communicating with others.
After about two years, I handed the project off to some new contributors...