ASSIGNMENT 3 - Project Update of Hypothes.is
As described here I heard about Hypothes.is at the beginning of this class when Jake told me about it. While there are many open source projects out there, Hypothes.is seemed to be worth working on (see video about their vision). I have never worked on an open source project, so knowing an involved person and being able to meet him physically was a big plus, so I joined the project.
I spent quite some time lurking the community before I spoke up for the first time. Lurking, as described in Community, joining, and specialization by Krogh et al., gave me the possibility to learn about the community before interacting with it. Thereby I could gather information about rules, roles and conventions and minimize the risk of asking obvious and stupid questions. The website was a great help here, but also the weekly IRC meetings where people had more casual discussions were helpful.
After lurking for a few weeks, my first contribution was to point out that the windows installation guide was not working (link). There was actually already a fix pending in a pull request, but the core team have not had the time to test it yet, since they all use machines with Linux / OSX. Without testing it they did not want to merge the pull request and by commenting the pull-request confirming that it is indeed a needed fix they finally merged it into the main repository.
It took me much time to get the server up and running since no one of the core team is working with Windows and I never got it to work as well as on Linux / OSX. Luckily the server and the backend functionality has not been the focus of my contributions, so as long as the server could start it was fine for me. Retrospectively, I spent too much time on this, since I thought I need to dig into all the code to start with to be able to contribute. This has not been the case at all, and without touching the server we still made a great contribution to the project.
As focus area I have together with a team of iSchool students been working on the coming groups-feature of Hypothes.is, which at the same time has been a part of my UI class. For the last few months we have created and tested different prototypes as described here. Our design has been lead by Hypothes.is documentation, and we have in cooperation fleshed it out to the current state.
I will not be able to work actively on Hypothes.is in the near future after I leave USA. This is not caused by the physical distance but because new challenges are waiting for me in Denmark. However this does not mean that I will forget about Hypothes.is. I will definitely continue to watch the project as I still think it is a great project which lives out my own project cast.li which I had to drop last year. I will still be lurking Hypothes.is though mail and Facebook and if there comes something interesting up I might join them again.
My motivation for contributing to this open source project was mainly to learn and develop new skills, which Shah describes as a common reason for joining OS projects. My main goal was to learn about open source development, how to get involved and how these projects are organized. Hypothes.is seemed like a good project to get involved in as it has a moderate size, a healthy core team, backup through its community and an interesting vision. In the end I could help Hypothes.is and by helping them I archived my own goal of learning about open source.
Retrospectively, I would say that I am happy to have worked together with Hypothes.is. It was a great learning-process and I have been able to define and design their groups feature (see assignment 6) while learning about open source development. There has definitely been some things I would have done differently now.
- Just do and let them review instead of asking up front (as described in the conclusion here).
- Accept that you can't learn everything to start with. I think the concept of legitimate peripheral participation is a good way to describe how joining an OS project works. Basically it describes that lurkers become members of a community by participating in simple and low-risk tasks. Through peripheral activities they become acquainted with the tasks, vocabulary, and organizing principles of the community and become full contributors (see Becoming Wikipedian by Susan et al.). I think this is exactly the process I have been trough (and in many way still am).
- Find a project that fits. I was able to contribute to Hypothes.is, but I would have liked to be more involved in the coding. This was not possible because I knew too little about the used technologies, so I decided to focus on the groups feature. Now I know where to look and I can most better estimate if I can contribute to a project.