I heard about open source probably the first year I started programming. I liked the idea of software to be not only presented as a final product, but with ability to see how things are done and change something if you want. For me, open source was really related to operational systems and drivers, Linux as great example.
A bit later I realised that open source is also about contribution. If you have a certain skills, you can join the project you interested in and try to help. I’ve seen some nice open source examples – tiny operational systems, drivers, music players. Almost everything was C++. The problem with C++, it’s hard to build something from sources. You typically missing some binaries, headers or SDK’s you don’t have on your machine.