QGIS is a GPL-licensed modular desktop GIS application written in C++.
I've started using it very early in its development process as a tool
to see what I was doing with PostGIS
which was otherwise all numeric to me.
The alternative would have been for me to write a Mapserver mapfile and template
and using a web browser to look at data, or starting some java application
with the risk of getting stuck there.
Over time I've started contributing small changes to make my usage experience better, mostly things that have to do with uncommon usage patterns like loading tables with multiple geometry columns, looking at vector layers at a crazily high scale, loading huge datasets... those kind of things. Eventually (in 2012) I became an authorized committer of the project.
My main area of contribution has been around the PostGIS data provider and particulary focused on PostGIS Topology support, both at the core level and through plugins: