Segment Open Fellowship for webpack (week 15–26)
The Fellowship is a three month long program supporting three to five open-source developers with $8k per month to focus full-time on their project, no other strings attached.
Why did I apply?
About 6 months ago the webpack collective had only a few Sponsors, but we were using very little of the money. So a bunch of money was accumulated. I decided to use to money by working full-time on webpack. I wanted to work as long as possible for Open Source, but at this time it looked like I’m only able to work about 3 months until running out-of-money. I had a backup plan for this to be able to fed my family: I could go back to my old employer and continue to work there. So pretty low risk for myself.
About 5 months ago I discovered the Segment Open Fellowship Program and applied there for a 3-month sponsorship. They asked me for the motivation. I answered like this: “I hope working additional 4–5 months full-time would lure more sponsors and create a long term sustainable open source project/ecosystem”.
About 3 months ago I really run out-of-money as expected. I actually had to stop working for a week until the Segment Sponsorship starts. A small break wasn’t that bad. The next 3 months would be backed by Segment. At this moment this meant about 4–5 months full-time work on webpack for me, because we would accumulate extra money when I don’t use the money from the collective.
What was done while the Sponsorship?
Completed Scope Hoisting
I started implementing Scope Hoisting shortly before
Improved Build Performance
I improved the build performance. Both by merging performance PRs and own improvements.
Improved thread-loader and cache-loader
I improved these loaders for more performance and caching
I implemented a scheduling mechanism for the webpack-bot to be able to do the task below.
I processed through a lot issues and closed many issues. I also improved the webpack-bot to automatically cleanup old issues.
Experimental Optimization for Side-effect-free packages
I implemented an experimental optimization for side-effect-free packages. This will simplify the way you use some libraries and will create major size improvements.
I planned and done a big refactoring of the underlying Plugin System for performance and features. I started to migrate to the new system.
I blogged every 1–2 weeks about recent developments or any other cool stuff I’ve done. The goal is the keep to users and contributors updated and involved. It yielded great feedback so far.
Breaking changes for webpack 4
I removed deprecated code and implemented minor breaking changed for the next version.
Reviewed and merged many contributions to the core
I reviewed Pull Requests 145 times and eventually merged 130 and closed 186 of them. For most of them I also done the final work on the PR.
I left a total of 500 comments on issues and closed 291 of them.
Managed the payouts to contributors
I send monthly mails to contributors with the points they received for their contributors. When they send it invoices to the collectives I review and accept them.
What happens now?
The sponsorship ended. What now?
Luckily we achieved my goal of the sponsorship. We lured more sponsors. Mostly also due to the impressive marketing work of Sean T. Larkin. Now we earn enough money to fund all contributors and myself working on webpack. (If this continues, we may need another full-time developer working on webpack.)
We already increased the payout for contributors to a industry-competitive salary.
We got a big sponsorship by Mozilla for implementing WASM in webpack. This is more a long term approach for the next year.
I will continue to work on webpack… It’s still great, even if I have to admit that contributors probably have more fun. There are some jobs you have as maintainer that need to be done, but are less fun than writing code. Like issue management, closing issues, finishing discontinued PRs, finding bugs in other people’s repros…
And of course also thanks to all other sponsors, backers, user, contributors and maintainers in the webpack ecosystem. You made webpack…