Git what? Contributing to an open-source software project

Written by: Josh Rosenberg

Primary Source:  Joshua M. Rosenberg – August 18, 2016

Over the past month, I have struggled to contribute (a super small contribution – only an adaptation of an already-existing part) to an open-source software project. The process has been hard, but a good experience nonetheless with a lot of help along the way.

The project is Lab Interactives which, according to the nifty site are:

. . . sharable, embeddable, and authorable components defined in JSON that wrap a model with additional inquiry-oriented user interface components such as buttons, checkboxes, sliders, graphs etc.

I was curious about making a simulation with some extra features borrowed from other simulations and a new feature. The simulation I was adapting was Diffusion & Temperature. In order to adapt this simulation, I first had to first “make” the software, per the instructions.

This took a few weeks of challenges and frustration followed by being able to simply change the title of a simulation.

I found other simulations with features I wanted to include, and copy and pasted the code for those into that of the simulation I wanted to adapt. This worked, but usually in a wonky way, in which the adaptations appeared in a different format than in the simulation I wanted to adapt, or in the wrong place.

After a bit of trial-and-error, I started to get the picture for how the simulation is laid out, and how to move parts around and even create new features. Here is how it looked:

Screen Shot 2016-08-18 at 4.11.07 PM

This was rewarding, but trouble was on the horizon. Once the simulation was in somewhat ready form, it needed to be shared to the broader project, as it only worked on my computer at this time. This required using github to “pull” the changes I made, which required changes in response to comments and feedback.

So, where’s the new simulation? It is still being reviewed, but I will add a link to it here once it is available on the site along with all the other simulations.

The following two tabs change content below.
Joshua M. Rosenberg is a Ph.D. student in the Educational Psychology and Educational Technology program at Michigan State University. In his research, Joshua focuses on how social and cultural factors affect teaching and learning with technologies, in order to better understand and design learning environments that support learning for all students. Joshua currently serves as the associate chair for the Technological Pedagogical Content Knowledge (TPACK) Special Interest Group in the Society for Information Technology and Teacher Education. Joshua was previously a high school science teacher, and holds degrees in education (M.A.) and biology (B.S.).