OBS Development Blog

Viewing all posts by jim

OBS Studio Progress Report, August 2018

Welcome to the first OBS Studio Progress Report. My name is Jim, the normally-silent author of OBS. Version 22.0 has finally come out, and I had a really great time writing it.

This is going to be a long post because I almost never normally speak, so get ready.

First, I want to say thank you

This month marks the sixth anniversary of the very first release of OBS back in August 2012. Back during those times I was able to answer every single post on the forum, interacted with almost every single person who came around the chat, and answered every email. Some time around 2014-2015, forum posts, emails, and chat became so active that it would take me 10 hours per day to answer everything. Eventually, I had to stop, delegate that task to others, and focus exclusively on working on the program.

As of today, 21.1.2, the previous release before 22.0, had nine million downloads in three months time.

This blows my mind.

The program has (along with its derivatives) arguably beco


A maintainer's guide on how to contribute to an open source project on GitHub

This guide is written by the maintainer of the OBS Project, a relatively large open source project which receives about 30-50 pull requests per month. This is meant to be a very concise and to-the-point guide on how to contribute to this (or any) open source project based upon my experience over the years; how to maximize both your contribution efficiency, and how to maximize the efficiency of the maintainers and your fellow contributors.

The Bare Basics

To contribute to a project, you must first have skill using both Git and the programming languages the project uses.

Know how to and how not to use Git

If you are not experienced using Git when you contribute, you will reduce the project's contribution efficiency.

Examples of particularly vital Git skills:

  • Knowing how to use interactive rebase (git rebase -i [commit])

  • Knowing how to squash commits (See: "Knowing how to use interactive rebase" above)

  • If you plan on making lar