First of all, I would like to suggest that the Open Source Development course be a mandatory course. I believe that every student should know and participate in open source as much as we are required to know about navigating and coding on mainframe. Don’t get me wrong, I have nothing against the IBC courses especially since it actually helped me finish a project while I was doing co-op at a bank (and mainframe will always be important) BUT I think OSD should also be a part of the core skills every students must learn.
At first I had the impression that OSD is somewhat exclusive for a certain group of programmers. Not everyone participates in it and so I never bothered especially since it was not required. But then when I was looking for a course to take and I couldn’t find any, I decided to face my fears and just take OSD – even though I absolutely had no idea on how it works. I somehow know how to use GitHub since I had an awesome teacher for OOP344, Cathy, who was patient enough to teach it to her students but I knew nothing when it comes to finding bugs online and fixing them.
Having Dave as a teacher in this course is just amazing. He is such a great instructor that I almost want to clap every time the class ends because I feel like I just witnessed a wonderful presentation. I also started becoming interested about the topics he talks about like the news about Microsoft open sourcing .NET. If I had just seen that anywhere online, I probably would not even bother reading it. I also found it interesting hearing how other programmers think and interact (like how they tweet and blog a lot). The topic about The Cathedral and the Bazaar from around week 2 also helped me understand how different cathedral built softwares are vs open source.
Another thing I like about OSD is that I can work on things that interests me. I think coming up with a mini project to work on is hard and that is one thing that open source helps me with since there are millions of projects available and I get to choose which ones I like. I have also been wanting to practice reading other people’s codes and the open source world is a great resource for that.
In addition to those mentioned, I’ve also learnt some few ideas like MVP (Minimum Viable Product) in where you release features that are sufficient enough for the meantime – you don’t have to have the entire project along with a thousand features ready before releasing it. Learning how to dive into codebases in where you don’t know a single line of code is also very handy. You don’t have to understand how the entire project works before working or fixing something in it. Just be good at finding out where you have to make your changes. I was also able to experience attending FSOSS – I guess it’s interesting attending something “geeky” from time to time?
All in all, I would say I had a fun experience in this class and it has definitely helped me get started contributing to open source. It is most likely something that I would continue even after the class ends. Thanks again to Dave Humphrey! BTW I am aware you tweeted one of my previous blogs and seeing in the stats that it has been viewed by people from different countries is another new experience for me.
Thanks for reading this everyone! – Ava