Archive for June, 2009

Eclipse WTP – Productive Student Developers

June 15, 2009

As a reflective practitioner, I have begun to ask a question: How can the Eclipse-WTP community (and the Eclipse ecosystem in general) make the process of fixing bugs more productive for student-developers? I was inspired by David Carver’s recent blog posting: Architecture Council: Bugzilla Best Practices. My interaction with the Summer Student Team at Seneca College has provided me with a concrete life context for reflection.

Since January 2009, as a teacher-researcher, I have interacted with Eclipse WTP student-developers at Seneca College. A question has gradually emerged in my mind: What types of contributions can the students (i.e. student-developers) make to an open-source community such as Eclipse-WTP? We can give an easy answer that is merely based on the number of bugs fixed. However, what if we take a wider perspective – the process of fixing the bugs? How can we have a productive process of investigating the (system) behaviour of a bug, locating the source code and modifying the source code? When I read the blogs of some students, the process of fixing bugs is not straightforward or mechanical in all occasions. In order to fix some bugs, they have encountered issues that are related to design and architecture. Here are the quotes I have taken from the blogs of two students:
1. Dropping Bug# 236976
“After my presentation last week, it seems that there are different opinions of what is the best way to fix this bug… it would take a lot more time to do survey than fixing the bug itself.”

2. Unable to go further with Bug 254831
“I’m still at the same par that I was for a few weeks now. Debug points are being hit, except at the exact location before the error. I am unable to determine where exactly the error coming from, and will be selecting a new bug to work on due to the complexity of this bug, following Jordan’s advice.”

“There is also a similar bug Bug 251637, which gives basically the same problem.”

As Russell Pangborn, a computer studies professor at Seneca College, said, “It is great to see students tackling real world projects. This always revs up the level of excitement for a subject.” As college professors, Jordan and I will agree with him 100%. Indeed, I have found that these senior semester students dare to spend lots of time and energy on fixing bugs. Paradoxically, they are also afraid of wasting their limited time and energy on things that lead them to deadends. These student-developers can be very productive in fixing bugs if both the students and the open-source community interact well. My advice to the students is that they should share their experiences promptly by blogging. They should post concise summaries of their investigation to Bugzilla too. My wish for the community is that the professional developers will comment on the blog postings of the student-developers and respond to their comments on Bugzilla. It will be wonderful if the professional developers can tag the bugs as “student-project” as it’s happening with the Mozilla community.

Eclipse WTP Summer Student Team

June 4, 2009

Our summer class began on May 12 and the Eclispe WTP team has 5 students on board. Jordan is the mentoring professor and he is very kind to take me in as a teacher-researcher. Yesterday (June 3) I experienced some interesting interaction in our face-to-face team meeting. Here is a brief description.

John showed us how to create screencasts and the video version of installing the Eclipse WTP platforms. Then he used Bugzilla to show us about his Bug 241429. He already got a response from Angel Vera on Bugzilla. As a mentor, Jordan first let John know that this bug is complex as threads are involved here. He then advised John to have a time frame such that he would not spend the whole semester (11 weeks left) on investigating the bug. I also told John that it’s very important to set a time frame in order to be a productive student-developer. There is a time to “kill” a bug; there is a time to “drop” a bug.

Tommy did a live demo on reproducing his Bug 251637. As a mentor, Jordan said that the practical value of having this bug fixed would be significant. However, design issues are involved here. He advised Tommy to write up his proposed solution and post it to Bugzilla. Without feedback from the WTP committers, Tommy would waste his time and
energy in fixing this bug. Tommy was concerned that he did not know how long he had to wait for the feedback. Meanwhile, he would do research on how SWT is used by Eclipse WTP. I told Tommy that he could also join other students on the team to investigate their bugs.

As Tommy was giving a live demo on his bug, Kevin said that Nabeel (who was absent at our meeting) has been working on something similar. How did Kevin know? He has been reading Nabeel’s blog postings. How did Kevin make this connection? He said that he experienced this in the first Eclipse WTP class last semester. Furthermore, Kevin demonstrated that he was able to provide technical solution right on the spot. As Jordan commented in our meeting, Kevin managed to set up another IRC channel (#seneca-wtp) in real time when all of us were chatting on the #seneca channel. If you were an employer in the IT field, would you be interested in having such an employee?

Regarding his Bug 236976, Kevin used his blog posting to show us his proposed solution. As a mentor, Jordan commented that this bug is related with design. He also asked Kevin about his interest level in doing GUI programming with SWT. In light of Jordan’s remarks, I suggested to Kevin that he should also post his proposed solution to Bugzilla. Like Tommy, his work will not be productive without getting feedback from the WTP committers. Meanwhile, Kevin said that he would continue working on Bug 244862. Tahereh from last semester did some work on it. Jordan encouraged Kevin to build on what Tahereh has done with that bug.

Terry, a newcomer to the Eclipse WTP student team, gave live demos on two bugs, Bug 245698 and Bug 154860. As a mentor, Jordan pointed out that the practical value of fixing Bug 245698 would be significant. As for Bug 154860, Jordan’s comment was insightful:The bug looks simple at the surface level but…Since it’s SWT related, I suggested to Kevin if he would be interested in investigating this bug.

At the end of our meeting, Jordan said that everyone is stepping on “unchartered territory.” Team collaboration will be important. As for me, I’m excited about going on another adventure with this team of 5 students. We are facing a lot of unknowns; yet we are also facing the possibility of surprises and excitement.

I also gave some final remarks to the students: “Keep yourself busy every week. By the end of the semester, you will be amazed by how much you have accomplished. While you’re waiting for the WTP professsional developers to give you feedback, collaborate with other students. Do research on SWT using various Eclipse newsgroups.”

To conclude my posting here, I appreciate what David Humphrey has asked the Mozilla community to do – “a brand new bugzilla keyword to help us flag such bugs: student-project.” Is the Eclipse Foundation going to do something like that? Again, I believe that students can make much progress if they have received positive feedback from the professional developers in the WTP community (March 11 blog posting).