webpack

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 backbone and angular with build tools like grunt and gulp, I finally jumped ship to webpack and react.

Bundling via 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 webpack, and 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 it.

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)...

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.

webpack comment

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.

webpack landing

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 about webpack but also about managing projects and communicating with others.

After about two years, I handed the project off to some new contributors...