Wednesday, January 15, 2014

My FOSS Preferences

This blog post is going to be a bit short because I just got off of my plane from Toronto and I'm a bit tired, but I need, for my group, to choose 3 open-source projects that I would like to participate in.

An issue with this is that I could not contact my group members effectively whenever I was in Canada (except Jake since he was there). We, as a group, decided that we want to work on Galaxy and I have described that software system in the past. So I will just pick out two other projects that I would not mind working with while providing reasons.

If, for some reason, we were not able to work on Galaxy, then I would really like to work on Weka. Weka is an informatics platform for performing intensive data analysis, something I am accustomed to as I have, along with Jake's cooperation, developed my own version of this, Learn2Mine, and the link to it can be found on the right. It would be enlightening to work on a project and contribute to one that is very similar to mine and Weka is written in Java so I know I would not have issues working with it and producing novel code.

Lastly, I would want to work on Firefox. The reason for this is that Albert, a group member, worked with Firefox last semester and he could take the lead, at least in the beginning, if we used Firefox for our project. I know the rest of the group, including me, could come up to speed rather quickly. It would be rough as there exists a learning curve since C++ isn't my forte and building Firefox and working with it requires knowledge of that language.

I would like to close this blog post with remarks about Software Development from Software Development: An Open Source Approach by Allen Tucker, Ralph Morelli, and Chamindra de Silva. The opening to this book is much like any other software engineering book in that it focuses on why open source is important to the computer science community, a topic I reflected upon a couple of blog posts back. Additionally, however, this book talks about pitfalls and common issues with software development. For example, the importance of team programming versus individual programming. It is important for a team to be up to speed about every aspect of a project, even if you do have designated experts for certain areas. Additionally, it is important to note the differences between top-down and bottom-up development because every team member should know how the problem is being approached because different skill sets and thought processes back different approaches. Really, though, if utilizing the right process to conduct development, the team should be fine. I have worked using Agile development in the past and it is my favorite way to undergo development as I have not had pitfalls with it as of yet. Other development forms are important to consider too: spiral, waterfall (the modified version), etc. In the end, Free and Open Source Software should embody the following qualities: 1) Low cost 2) Freely available 3) Global public good 4) IT public service 5) Political neutrality 6) Easily customizable 7) No vendor lock-in.

No comments:

Post a Comment