What project or projects do you maintain and what was your motivation for creating those projects and releasing them as open source software?

I created my GitHub account in 2009 and I would say that my open source journey had a slow start. Once I switched to a Mac machine my code contributions start flowing at a better pace. Access to a better terminal application and better tools helped me a lot.

I started contributing to existing projects that were jQuery plugins or various front-end tools. After gaining some git and pull request experience with those I was ready to publish some of my own repositories. Since then I worked on different personal projects. Some of them are: Chromeos-apk and Archon runtime - Android application converter to Chrome extensions, Grunt-devtools - Chrome devtools extension, Freight - npm and Bower dependency installer and packager, PWAify - Progressive Web App convert to Electron apps.

My early motivations were to learn how various aspects of open source work with the goal of becoming a better software developer. These days I try to improve existing tools and build new ones for the full-stack developer community. Releasing personal projects as open source is great fun. However I got a lot more experience by contributing either to already established or upcoming projects. Some of my favourite external contributions are to Grunt, Intern and Persona projects. I also currently work at Mozilla where pretty much everything is open source, so sometimes I even forget that private repositories exist.

If you created any of those projects, were they meant to solve a specific problem you faced, or were they born out of a larger opportunity you saw?

Probably most of my projects try to solve a specific problem. In most cases those projects deal with improvements to some aspect of developer tooling. There is a lot of room for new types of developer tools, as well as replacing older tools with newly updated ones. Saving development time would probably be my primary goal.

There are some projects that are just “for fun” hacks, where I just try to reverse engineer something and make some software work in strange contexts. I would say if you hack on something over the weekend try and open source it, you never know where it will lead you.

How has the project evolved since you first got involved or first released it?

I would say the popularity of projects is constantly changing and evolving. Certain technologies or hardware goes away and that affects the projects. As a developer I evolved a lot more than the projects though, I feel like I’m now more efficient with support, bug reports and pull requests. I remember being very cautious when tagging a new release in one of my projects, but these days it does not feel like a big deal anymore.

How do you spend your time on those projects? (i.e. Developing, managing the community, triaging issues, etc.)

With already established projects I find myself triaging and managing releases more and more. I do sometimes allocate hours of time to do actual development work for projects that I maintain. Organizational work is very useful for open source software. However shipping new features is a lot more satisfying. For new open source devs I would recommend to try and write more code instead of dealing too much with community management.

How would you describe the community around projects you participate in? What are your favorite and least favorite aspects?

In my experience I mostly deal with full-stack and front-end developer communities. I would say most people who are already experienced with the world of open source are nice and understanding. They have good expectations about bug fixes and modules releases. There are a few cases where certain developers expect enterprise level support, but I think that comes from misconception of how open source works. Besides all that, I would love to see more diversity in the open source world and I’m hoping projects like Gnome Outreachy and Google Summer of Code can help out with that.

What keeps you involved in those projects? Do you have long term plans for maintaining your involvement?

Personally I like to keep supporting older projects as long as there are users. It feels good when people use the software you build. However I try always move forward and find new projects to contribute to. I set personal goals to release smaller personal projects that use different programming languages and try to tackle new problems.

What is the most important thing someone submitting an issue or patch should know?

New contributors should be aware that project maintainers are people too. If you are submitting patch try putting yourself into the reviewer or maintainer role. You can either self-review your patch or think about how your patch will affect the maintenance of the project. By trying to put yourself into more of a mentor role will help you be more successful as a developer.

What’s your development environment right now?

Nothing too complex, I just use a Mac Book Pro with WebStorm IDE + Terminal.app with zsh. WebStorm helps me work with Node.js, Rust and Python. For front-end work I like to use Firefox Developer Edition and use Chrome for its Chrome Developer Tools. Sometimes I use XCode to debug low-level issues with Firefox or Node.js. I also find the Atom editor handy for quick edits and Markdown.

What was your first development environment? Do you miss anything from it?

The first “proper” tools I’ve used to build web pages were Notepad++ and Sothink HTML Editor. Developer tooling got a lot better since those times!

Where do you see the open source software community headed?

We are headed towards very exciting times. The developer tools are getting better and contributing to open source is getting easier and faster. I’m especially excited for new open source communities, such as the the Rust programming language and open source VR. They are doing an excellent job organizing their projects and the whole ecosystems that are surrounding those projects. Open source got a lot more accessible to everyone in the recent years and I expect it to get even better in years to come!

More About Vlad Filippov:

Vlad Filippov's Projects: