For this blog entry, I’d like to address my current status in my CS490 class.
I came into this class with no background in Open Source Software. Since then, I have used a new operating system, completed professional documentations, looked at developing within the GNOME environment, and opened communications with the FOSS community.
Before this class, I never used the Linux operating system. While my preference still lies with the others, it is important to get this experience as it will be useful in my field of study.
All of my other classes at WNE taught about syntax and system level information. Not one had taught about planning or developing software for a company. After being introduced to OSS and learning about formal documentations, I feel as if I could jump into existing projects and have some idea as to what would be going on. Without the experience in creating/reading the documents, I’d be lost in a sea of information.
I am developing three extensions for Epiphany that will read the HTML of a web-page and reorder and post items in a new window. The details of the assignment are not what I want to highlight; working within an existing frame and for an existing community is. The GNOME extension are a place where I could be introduced into the OSS setting. There I could review existing documentations, talk directly to developers/contributors, and start working on a project.
About half the semester has passed. I can now identify several things I like about OSS. First: You can jump right in. It allows anyone, whether a programmer or not, to contribute to existing software to help improve it. Second: Most information about the programs can be found online. If someone wants to help develop a program, they have access to all the documentations that were used in developing it. This makes it easier to get into the program and develop. Third: The software will continue to exist even if it is not being used. Having programs available online allows someone to go back and use it whenever they need to. Should applications fall out of date, anyone could update the software or modify it to suit their needs.
The hardest part about teaching FOSS is getting involved with a project. I think that deciding on a project to contribute to is important to learning OSS. That being said, it is difficult to do anything meaningful in an academic setting. Time is too short and each student has many different obligations for many different classes. Should a problem arise when developing, there is almost no way to rebound. I have encountered this problem with the extensions for the Epiphany browser. We decided to develop an extensions, but the Epiphany community is thinking about removing all extensions and merging them with the existing browser.
The most helpful tool in learning about OSS projects was writing documentations. Other tools (like IRC) were helpful, but I didn’t feel like I gained as much then just writing out a paper and comparing it to the professional version.
The biggest roadblock I’ve hit while working on OSS, is the lack of time. As I mentioned earlier, when a problem does arise, there is no real time to be able to back-step and fix everything. I need to be flexible enough to address all the problems and continue on with the work, which can be difficult.
Working on this project gave me a chance to talk to other members of the FOSS community. I had to communicate with developers in epiphany and the GNOME interface. I did not have long conversations with them. I only asked a few questions and they responded to them. The questions were mostly about components in my team’s extensions, and the answers were relatively short. When ever my group encountered problems developing we would pose these questions to them. It was extremely helpful that we had this method to communicate with someone. Without being able to do that, the project may have been halted or developed without the customers best interests in mind. The experience I gained when talking to them will be useful in the future. I’ve never had the opportunity to be involved with a community to this extent before. With this experience I will be better able to associate with other software’s that are being developed whether OSS or not.