Introduction to “open data,” “open source,” and how Billion Oyster Project uses these tools for restoration and education - BillionOysterProject/digital-platform-beta GitHub Wiki

The BOP Digital Platform is an open source software development project that facilitates the sharing of open data with educators, students, community scientists, and professional scientists in support of BOP’s education and restoration goals. As BOP's Digital Learning Specialist, I excerpted and adapted pieces from a 2017 blog post I wrote, “A Beginner’s Guide to Open Data and Open Source for Environmental Justice” in this section to provide a basic understanding of these concepts.

What is “open data?”

Open data is “publicly available data structured for usability and computability that can be universally and readily accessed, used, and redistributed free of charge”. You’ll most often hear this term in discussions about government data. Non-partisan non-profits like the Sunlight Foundation advocate for governments around the world, at all levels, to release the data they collect in order to make them more transparent and accountable to their citizens.

New York City passed its first open data law in 2012, and since then, the city has worked to make more information available online, from street tree locations to water quality measurements and beyond. NYC’s open data law “mandates full coverage of all City public data by 2018.” (For a good overview on NYC Open Data, read this post from the Gotham Gazette, and check out the city’s official NYC Open Data website.)

Open data isn’t just about the government. Many businesses, universities, and non-profits rely on open data for their work, and in turn, they can open their data to support others. However, “available” isn’t the same as “easy to use.” Open data advocates say that accessing data must be a user-friendly process for both technical users like software developers and non-technical users alike.

What is “open source” technology, and how is it related to open data?

It’s useful to think of data as bits of information. In contrast, “open source” has to do with the technology that uses the data- like computer applications. Applications are essentially a collection of tasks a user directs the computer to do. The water temperature at every BOP Oyster Research Station is data. An application would give a computer a task like “display water temperature data on a user’s screen when a user clicks ‘submit’.”

These tasks are written in programming languages (like C, Go, JavaScript, or Python). The full set of tasks, written in a programming language, is called the “source code” of an application. “Open source” means that the computer programmer has made the source code open to the public and free to use and build on.

Just like with open data, “open” doesn’t necessarily mean “accessible.” There can be several barriers to entry, including:

  • Programming language choice. Is the source code written in a common computer language that many people know, or a more obscure one?

  • Comments. The source code for an application is written in a computer language, but most languages allow you to include comments, meant to be read by people instead of computers, in English or the programmer’s native language. These comments can help someone looking at the source code better understand how the application works. Source code without comments can make it more difficult for another programmer to use the code.

  • Documentation. In addition to comments in the code, most applications should have documentation about how to use the program, how to get started, and how to contribute to the project. If they don’t, it makes it more difficult for new users to contribute. For example, the documentation for Google’s open source programming language “Go” includes a page that explains their specific process for how someone should contribute new code and when a contributor can expect it to be reviewed.

  • Code of Conduct and Community Moderation. Open source projects are built and maintained by people, and fostering productive collaboration is key. A good open source project includes a code of conduct that sets clear expectations for how people should participate and what they can expect from the project’s owner(s) in turn. For example, the code of conduct for Go outlines a process for reporting conduct-related issues and provides a timeline for how quickly moderators will respond.

    Creating a welcoming space for all contributors is crucial- see for example this style guide on writing gender-neutral code for Google’s Chromium, which is designed to make this project more inclusive to people of all genders. Codes of conduct are generally enforced by moderators (on a small project, this might just be the project owner, but on a large project, it could be a whole team), but it’s helpful for the entire project community to hold each other accountable for creating a welcoming space. (The Billion Oyster Project Digital Platform’s Code of Conduct is a living document- you can make suggestions about it via a pull request here in Github.)

Open source projects are an excellent tool for environmental justice- they allow a community to collect and use data in a way that’s best for them, based on their evolving needs, in a process that emphasizes collaboration over competition.

How do open data and open source connect to environmental justice?

In the US, many different government agencies are responsible for protecting the environment and public health, and they collect lots of data to help them make decisions that will impact the public. Many universities and non-profits also collect data about the environment, whether it’s in support of a specific research project or informs their work more generally.

When people have access to this kind of data, they can advocate for the changes they want to see. For example, in New York City, several government agencies, universities, and non-profit organizations record water quality measurements and/or make them available online. This information can help regular New Yorkers decide when it’s safe to swim, fish, or do other recreational activities in the water. But it also helps organizations decide what actions to take and to recommend to the public to address water pollution issues, whether it’s attending Department of Environmental Protection meetings or writing to a city council member. (You can see the water quality data collected by students, teachers, and community scientists as a part of our programming on version 1 of the platform once you sign up for an account, and in the version 2 platform you'll be able to access it through the site and through our API.)

Open sourcing the tools for accessing open data takes a good thing and makes it even better. It means that a water steward in California can tweak a tool developed in New York to create a data visualizer specific to their community. It’s why we’ve made the BOP Digital Platform open source, in addition to making the data accessible.

How does BOP fit in?

Billion Oyster Project believes that restoring oyster reefs can bring significant environmental, educational, and social benefits to New York Harbor and New York City’s communities. Research has confirmed that in other estuaries, oyster reefs filter the water, create habitat for marine organisms, protect shorelines, and provide other ecosystem services. We also know that historically, NYC was covered in oyster reefs and tidal wetlands (you can learn more in our NYC Oyster History StoryMap). But BOP and other research groups are still trying to understand:

  • The best ways to restore oysters in such a degraded urban estuary
  • To what extent, or under what conditions, can NYC reefs can provide the same ecosystem services as reefs in other estuaries

BOP focuses primarily on the questions of how and where to restore oysters, while partner scientists study questions on ecosystem services. (In general, the science on what ecosystem services oyster reefs can provide, and under what conditions, is evolving- see NOAA and The Nature Conservancy’s “Setting Objectives for Oyster Habitat Restoration Using Ecosystem Services, A Manager’s Guide” for more information.) Today, we’re building on the work that has been ongoing in New York Harbor for at least the past 20 years by continually iterating on oyster restoration structure designs and implementations, breeding New York Harbor oysters in our hatchery, and collecting data on our in-water projects to continually improve our understanding of how to do oyster restoration in New York City. (Billion Oyster Project has focused on oyster restoration since its founding in 2014, and many BOP staff members did this work at organizations like New York Harbor School and NY/NJ Baykeeper prior to BOP’s founding. See “Oyster restoration in NY-NJ Harbor: A review and synthesis” for more details.)

The BOP Education program involves dozens of schools and community groups and hundreds of New York City students in this work in order to teach STEM skills, foster environmental stewardship, and expand the geographical and temporal distribution of our datasets. The anchor of our program is the participant-lead monitoring “expedition” to Oyster Research Stations (ORS) and/or Community Reefs. ORS are small dockside cages filled with young oysters, located at approximately 50 sites across New York Harbor. Community Reefs are larger near shore installations of “cabinets” filled with “files” of young oysters. Our goal is to have a multiplier effect by training educators and community leaders to monitor these oyster structures so that they in turn can train hundreds of people, especially young people, in the work of restoration.

During an expedition, participants complete between one and five scientific protocols in order to collect data on:

  • Measures of oyster performance (like growth and mortality)
  • Factors that affect oyster performance (like water quality)
  • Diversity and abundance of non-oyster species (other mobile and sessile organisms).

Participants then upload this data to the BOP Digital Platform. All platform users can search or download data from all published expeditions via the Data page of the site (version 1). (This process is much faster with version 2, but until it's released, you can check out our guide to downloading and working with version 1 platform data for more information.)

BOP students use this data to conduct original research projects that they present at the Annual BOP Research Symposium. In addition, we love to see teachers using the data however they like to teach key STEM skills and concepts! Our BOP professional development events often include activities designed to help teachers and students use platform data and make it tangible and meaningful for students (like a recent PD on building oyster measurement frequency distribution histograms from index cards). The BOP team also uses platform data to help make decisions about where to site larger restoration projects.

In addition to making our data open, the BOP Digital Platform is an example of an open source application, because we’ve made the source code available here on Github (both version 1 and version 2), a website where people, businesses, and non-profits store code they’ve written. Github also includes tools to help programmers collaborate on applications. (Our wiki for version 1 of the BOP Digital Platform also lives in Github.)

If you’re new to programming but interested in contributing to open source projects like the BOP Digital Platform, Github has a set of helpful guides, including one on best practices for contributing. There are lots of ways to contribute to an open source project- even if you're not a coder (yet!)- so we would love for you to help us make the BOP Digital Platform the best it can be! You can open up an issue to request new functionality, submit a pull request, or you can get in touch with Heather Flanagan, BOP's Digital Learning Specialist, at [email protected]. If you're an experienced frontend developer, or a backend developer who knows Python or Go, and you're looking to volunteer, contact Heather to discuss what you might be interested to work on and what level of commitment you're interested in!

⚠️ **GitHub.com Fallback** ⚠️