Tobias Koppers on Upcoming Webpack Updates: We Are Not Changing Just to Annoy Users

We talked with Tobias Koppers, the creator of Webpack

In this interview, Tobias Koppers shares the story behind Webpack and how he got really lucky with Pete Hunt featuring Webpack at OSCON; predicts the future for multiple frontend solutions; and gives us a few hints on what he’s currently working on. Tobias is coming to Amsterdam to give a presentation at JSNation Conference, June 6–7, 2019.

Hello Tobias, and welcome to the interview with JS Nation! Tell us about yourself.

Hi. I was interested in programming since I was very young. I watched my Dad doing programming in C++ at home and also started learning it. So the decision to study Computer Science was easy to make.

Your story with Webpack dates as far back as 2016. Tell us how it all started for you?

During university, a lot of projects were done with Java. I also tried building a web application with GWT (Google Web Toolkit, Java-to-JavaScript-Compiler). I started contributing to Open Source during my bachelor thesis. For presentations, I used a project called jmpress.js (yes, it’s a jquery plugin). I started sending Pull Requests and eventually became Maintainer. So I got interested in Open Source.

While working on my Master's thesis, I created an internal web application. I was looking for a way to optimize the application (maybe I over-optimized, but it was for the thesis and I had time). I stumbled across a tool named “modules-webmake” and tried to use it. GWT had a nice feature call “Code Splitting” which allowed to load parts of the application on-demand. I really liked that and wanted to have it available in “modules-webmake”.

So I opened an issue to discuss this idea. The feedback was good and I hacked a prototype in a few days. I initially planned to contribute it back to the project, but my prototype resulted in a complete rewrite which came with new limitations to it and was difficult to merge back. So I basically created it as a separate project. It was initially named “modules-webpack”, but I renamed it to “webpack” later.

Webpack had only a few users at this time but I continued to improve it based on the feedback of these few users. I believe webpack was the only bundler which supported Code Splitting, which could be an important feature for large applications. I guess I was lucky, but Instagram.com started to use it and Pete Hunt featured it at OSCON. At that point, it got really popular.

Who are other core contributors that maintain Webpack and help the community grow?

We have too many contributors to list all of them here and actually, I’m not really up-to-date with the work they are all doing. We are trying to have independent teams to minimize inter-team-communication (because of timezones and different availabilities). So I am working on the webpack core repo and we have teams for CLI, documentation, loaders, plugins, etc.

If you are asking for the so-called “core team”: This team is involved with management and general things, but here happens less than you might think. I think calling out a few names would be unfair to all other the contributors and maintainers in our community. I don’t have exact numbers but we have about 20 contributors which contribute regularly.

Tell us about your recent project, Rewact. What is it about?

It is a prototype of a pre-compiler for React applications to improve startup time and size. But it turned out that it comes with limitations which might be problematic. After all, I’m unsure if the benefit is worth it, so it’s currently discontinued.

There is a variety of bundlers and task runners for the frontend, which requires different developer skills, especially for juniors. Will the frontend solutions combine, become outdated, or fiercely compete with each other?

I think there will also be multiple competing solutions. And I think this is a good thing. The competition will lead to innovations and new ideas. Note that webpack also started as a competing solution to another bundler.

Are there any other projects you’re currently working on?

I work on a few smaller private projects in my free time. Here are a few keywords: camera, music, party, home automation.

In your opinion, what’s the future of web development?

I think the future of web development looks very good. I think the technology and skills developed in “web development” will spread to other areas. It already started. Desktop apps can be developed with “web technologies”. Yes also IoT devices. Cars. Coffee machines. I think, in the future, these technologies will swap over to even more areas.

This means web developers will be able to do a lot more stuff, but it probably also means the landscape becomes a bit more complex. Tools and Libraries must be able to handle with broader scope, i.e. for webpack this might mean it is expected to compile to IoT devices, which comes with new challenges. Anyway, the future is going to be very interesting!

How can people support your projects?

Webpack can be supported on OpenCollective. Donations are distributed based on contributions. It also covers my full-time work on webpack.

You’ve given a number of public talks over the recent years. What was your last talk about?

I actually do not do a lot of talks. I don’t like traveling a lot and only visit conferences which are near. I think my last talk was at the RuhrJS in Germany and I talked about WebAssembly integration in webpack.

What future might you predict for Webpack?

Difficult to say, especially because I’m a bit biased. I’ll do my best so that webpack stays relevant in the future. There are a lot of upcoming spec additions that will affect bundlers (i. e. WASM/CSS/HTML modules, top-level-await). I see that browsers try to push the spec to a point where bundlers become less relevant, but I think that in practice they will stay relevant. At least for larger scale web development.

Do you have any other interests and hobbies besides OSS?

I like playing board games. I also like spending time with my 2 children. Over the last year, I spend a lot of time building a house to have space for the children.

Are you excited about the upcoming JSNation Conference in Amsterdam this year?

I never have been to Amsterdam before, so I think it’s going to be great. I hope to find some people at the conference to show me some places in the city.

I’ll talk about the upcoming webpack 5 and try to explain the reasons behind some of the breaking changes. People often complain about migration to new major releases, so I want to tell a bit about our motivation behind the changes. I’ll try to show that we are not randomly add breaking changes to annoy users.