Wednesday, January 30, 2013

Line 6: Reflections on Open Source in Today's World

Our assignment this week was to become a bit more knowledgeable on the Open Source world. To this end we read a few articles on http://opensource.com/, and also downloaded and built an open source game called Freeciv.

Since Freeciv was pretty straightforward for me, I will talk about that. I didn't really have any problems downloading or building it, because the directions were fairly easy to follow. This is not to say that they were straightforward or direct however. They tended to meander and lead you on a lot of false trails in an effort to make you fail and teach you how to research problems for yourself. While I can appreciate leading people through the steps they need to solve their own problems, I did not particularly enjoy being jerked around by my book. Though I suppose that in the end, it did manage to give me proper step by step instructions for building Freeciv. Either way, this part of the assignment really didn't give me any problems besides a slight amount of annoyance.

For my first reading from the website, I chose to read 10 ways to get started with open source,  by Jason Hibbets. I found this article very informative, and while I had done a few of the steps already, it did provide further insight into how to become further ingrained into the open source community. One of the things that I really found helpful in this article was the link to The Open Source Way. This is an online book that tells you how to get involved with open source communities or how to create your own. I didn't read all of it, but it looks like it will make a valuable resource in the future of our team.

The next article I read was about teaching Python to Children. This article was a basic book review that helps lay out groundwork for teaching python to children. The author seemed very pleased with it, but was more interested in passing along his love for programming to children. He reviews the book and finds it a worthwhile resource for helping to teach adults to teach children python.

My team also had a meeting tonight as well. We split up responsibilities for added functionality to Obsidian, and even solved a bug or two. To assist in understanding Obsidian as a project, we all made UML Class diagrams of the project to help us visualize it. I think this was a very good idea, as it allowed us to each come with questions about the project, and really engage with it in a meaningful way. It also has the added bonus of giving us readable UML Diagrams that we can include in our later documentation of the project.

My part of the project is the first step of Updating, which will allow Obsidian to look at tests that it has already created and determine if it needs to remake them. This kicks in when Obsidian is run twice on the same project of course. We determined the first step in this process is to read in the preexisting tests, so that we have something to compare the new version with. This seems rather simple, but as it is my first step into programming on this project I have a slight amount of trepidation. I have a whole week to get this functionality built, and a whole team to support me though, so I have high hopes.

No comments:

Post a Comment