Show me a better way


The redis git repo’s default branch is not master but unstable. master is an artifact of the music industry, producing a “master copy” for production. In reality, branches should be named after their targets. Release tags represent frozen, guaranteed APIs for stability. For OSS, the main development branch ought to be named unstable, because when building Redis from source, we deem the build to be “unstable”. Brilliant.

The current furor over the master branch has all the markings of bike shedding. Whether or not you view ‘master’ as racist is subjective. Twitter rants aren’t going to convince anyone. Finding and using a better more appropriate more apt term just might.1

This solidified a principle for me: Don’t just criticize my way, show me a better way. Everything is full of flaws. The very languages we use to write code are full of compromise and flaws. If something is broken, spend some time thinking about why it’s broken, why it hasn’t been fixed, and if you can start to fix it yourself. You can’t demand others change how they think when you want. But you can show people a better way and hope you can inspire them to join you.

  1. I also admire antirez’s handling of the master-slave. Even though he originally did not want to change the terminology, he arrived at compromise with both short-term and long-term changes. Splitting out the long-term changes is important, because it acknowledges where we hope to be someday, but not letting those long-term goals interfering from the much-needed day-to-day work.