Exploring NASA-TOPS in Community: Open Source Code

The MetaDocente community continued its collective journey through Open Science 101 with great enthusiasm, this time focusing the debate on open source code. In addition to discussing the complexity of open licenses for sharing code, we saw how opening access to data, results, and other products of research that use open source code is a good practice. However, this practice is still related to extractivism in its various contemporary forms. Here, we tell you all about the fourth meeting.

Module 4: Open Source Code

Creating and Sharing Open Source (and Accessible) Code

We took away excellent recommendations from Module 4 of Open Science 101 on how to incorporate open source code into a research plan, linked to the data management plan as well. Here are some good practices we reviewed together:

  • To ensure open source code is widely used, following principles like FAIR helps make the code findable.
  • When searching for useful code, paying attention to terminology used by professionals in similar fields, it helps to review scientific literature and explore public code repositories such as those available on GitHub.
  • If you prefer to proceed with your own open source project, it’s important to take time during the planning phase to choose elements such as the programming language, where the code will be stored, the data and the outputs of its analysis, the necessary computing capacity, and the individuals who will collaborate on each of these tasks.
  • When you find software of interest, it’s valuable to assess its functionalities, interoperability, security, and usage restrictions. This information is typically available on platforms like GitHub, where repositories enable you to verify the project’s status and maintenance.
  • Version control is crucial for maintaining a history of changes and revisions in a project, with the capability to revert errors and credit each person for their contributions. Readme files, community guidelines, and contribution guidelines support those who wish to use and participate in the project. Therefore, they should be described according to certain best practices explored in the module and promoted by Open Science communities.
  • Many open-source communities have virtual forums dedicated to providing support to users. These forums offer opportunities to evaluate code and seek assistance if any issues arise.
  • Don’t forget to cite the source of the code you used!

A portion of our meeting focused on licenses, which in open source code can be more or less restrictive. This is a two-way street: they describe the rights of both the developer and the user of the code. An open source license allows anyone to inspect, use, change, and distribute the source code for any purpose.

Permissive and protective licenses are key to planning the future of derived works from an open-source project. A protective license requires that any future changes to the software or derived works must be shared under the same license as the original project. In contrast, in proprietary software, only the authors have permissions to make modifications, and users do not have access to the source code. To modify or adapt open-source software, it is essential that it is accompanied by a permissive license. If software does not specify any license, it should be assumed that it does not have permissions to be freely shared.

The module explains the differences between sharing code for development and archiving it long-term, with both practices promoting Open Science and community participation. Different community members can contribute at various stages of code publication and maintenance, and it is crucial to acknowledge these efforts.

Communities of people with different roles create, share, and maintain open source code. Source of the image: [Illustrations from The Turing Way](https://zenodo.org/records/10556824).

Technology Towards Rights and Justice

In Latin America, it is very common for us to approach open source code out of necessity and as a more accessible alternative given the scarcity of scientific and technological resources. Someone just starting in the world of open science will quickly notice the culture of collaboration present in open source and free software communities: they are used out of necessity, but also as a matter of principle.

Module 4 tells us that free software, in short, is software whose source code is distributed at no cost and is subject to use, modification, and distribution with its permissions and original rights. The word “free” does not necessarily mean “free of cost,” but it often has that connotation. In English, the acronym “FLOSS” (Free/Libre and Open Source Software) is sometimes used. Beyond that, it is part of a social and political movement—or a philosophy—towards the liberation of knowledge.

Different organizations define the concept of “free” based on various factors: free to use, review, modify, distribute, etc. Generally, the idea of open source is associated with the use of permissive licenses and a more horizontal relationship between developers and users of the software, which is particularly convenient in both academic and non-academic environments in the region.

Communities that value open practices typically operate under principles of transparency, collaboration, sharing, and inclusion, which is what distinguishes free software from open source code. In Latin America, this becomes even more complex, as the use of free software fits centrally within the framework of technological sovereignty and socioeconomic inequalities. It is a very broad movement with significant activity and history on the continent.

For example, in southern Brazil, there is the traditional International Free Software Forum (IFSF), which is widely used in federal public administration. In the context of Open Science, someone shared their participation in the PHIL_OS project, which aims to develop an empirically grounded philosophy of this science, emphasizing the diversity of research environments worldwide and articulating the conditions under which this diversity can be leveraged to promote good research practices.

It is essential to sustain communities that manage computational resources responsibly. Free software communities—which have decades of existence in the region—are spaces for sharing, learning, and creating with a collaborative perspective. On the other hand, we often hear sad stories: for instance, when researchers from privileged institutions or countries use data, biological samples, or other resources from marginalized regions without adequately considering the interests and rights of local communities. To navigate this context with awareness of historical and socio economic issues, open source code communities are rich sources of practical and philosophical exchanges. By contributing to them, we also learn and take a step towards technological progress with social and epistemological justice.

Do you want to reuse any of our content? Please, be our guest!

These were the materials we used in the second meeting of our study group (in Spanish):

Our materials are available for free under this CC BY 4.0 license. You can reuse or edit any material that appears here. We only ask that you include a reference to this website or the material citation when available. For further information, please contact us at formacion@metadocencia.org.

Regarding the meetings

Between January and March 2024, 6 meetings are being held to explore the contents of the Open Science 101 course, which is part of the NASA TOPS initiative.

In response to our community’s desire to deepen discussions, we have prepared a series of talks on Open Science. In this series of meetings, we will discuss various topics surrounding Open Science to collectively understand how we learn it, how we apply it, and what it means for our region. We aim to recognize its advantages and potential by debating its scope and possibilities.

See details of the meetings (in Spanish)

These meetings offer an opportunity for exchange and learning, to enrich ourselves among individuals and communities with our experiences.

Acknowledgments

This publication was made possible thanks to a grant from the Chan Zuckerberg Initiative (DOI: 10.5281/zenodo.7386372) grants from NASA 80NSSC23K0854 (DOI: 10.5281/zenodo.8215455), 80NSSC23K0857 (DOI: 10.5281/zenodo.8250978), and 80NSSC23K0861 (DOI: 10.5281/zenodo.8212072), and the DAF2021-239366 grant and grant DOI https://doi.org/10.37921/522107izqogv from the Chan Zuckerberg Initiative DAF, a fund advised by the Silicon Valley Community Foundation (Funder DOI 10.13039/100014989) and the “Open Cloud Collaborative Project for Latin America and Africa (the Catalyst Project)” grant from the same funder (DOI: https://doi.org/10.5281/zenodo.8431422).

Did you like this publication? You can freely reuse it under a CC BY 4.0 license, just remember to cite it.

Here is the citation we recommend for reference: Melissa Black, Nicolás Palopoli (2024). “Exploring NASA-TOPS in Community: Open Source Code”. Zenodo. https://doi.org/10.5281/zenodo.13327595

Melissa Black
Melissa Black
Project Coordinator
Nicolás Palopoli
Nicolás Palopoli
Co-Executive Director and Advisory Committee
Next
Previous

Related