1. 55
  1. 6

    There’s lots of good advice here. I hadn’t considered reimplementing recent commits, I will have to give that a go sometime.

    During the “trace down, learn up” process, I find it very helpful to experiment and break things to learn how something works.

    This is what I do every time I contribute to a project. I find it much easier to break or modify something that already exists. When I started contributing to Blender I was overwhelmed with the size of the codebase, but I started modifying (breaking) strings until I found the code that controlled the area of the UI I was interested in. Even years later when investigating unfamiliar areas of the code I find this to be the quickest method for confirming intuitions about pieces of code.

    1. 5

      This is brilliant! Everyone loves the idea of contributing to FLOSS projects, but SO MANY of them are incredibly vast and complex.

      If you actually sit down and try to just wade in and fix a bug in e.g. Gnome’s WM, you will find you have taken on an amazingly daunting task.