MOSS is a project of OSSci, an initiative of NumFOCUS.
The Map of Open Source Science (MOSS) is a visualization tool that maps the intersection between open source software and scientific research. It creates a network graph that shows relationships between research papers, software repositories, authors, and other entities in the open science ecosystem. This visualization helps researchers, funders, and policymakers understand the complex relationships and dependencies within the scientific software landscape.
The current version of MOSS is a proof of concept and is continuously being improved.
MOSS consists of several key components:
- Data Collection Scripts: Python scripts for collecting data from services like ecosyst.ms API
- Neo4j Graph Database: Stores the relationship data between papers, repositories, authors, etc.
- React Frontend: Provides an interactive visualization of the graph data
- API Layer: Connects the frontend to the backend database
- Backend: Python 3.11+, Neo4j (graph database)
- Frontend: React, Vite
- Data Processing: Custom Python scripts
- Deployment: Docker support for Neo4j
- Documentation: MkDocs
For detailed setup instructions, see the setup guide which includes:
- Installing and configuring Neo4j
- Collecting data using the provided scripts
- Importing data into the graph database
- Visualizing the data with Neo4j Bloom
If you prefer to use Docker for Neo4j:
- Navigate to the
neo4j-dockerdirectory - Create an
.envfile based on the provided example - Run
docker compose up -d - Follow the data collection and import instructions in the setup guide
To work on the React frontend:
- Navigate to the
moss-react-appdirectory - Install dependencies with
npm install - Start the development server with
npm run dev
- Interactive Graph Visualization: Explore connections between papers, software, and authors
- Search and Filter: Find specific entities and their relationships
- Data Collection Tools: Scripts to gather data from various sources
- API Integration: Connect with ecosyst.ms and other scientific metadata services
MOSS collects data from multiple sources including:
- ecosyst.ms: For paper metadata and citations
- GitHub: For repository information and relationships
- Additional scientific data repositories (expanding)
We aim to create a comprehensive, interactive visualization of the open source scientific ecosystem that surpasses our earlier prototype:
The goal is to make the relationships between scientific software and research more transparent, helping the community understand the impact and dependencies of open source software in scientific research.
We welcome contributions from the community! We are using the fork and pull collaborative development model.
To contribute:
- Check the open issues for tasks that need attention
- Fork the repository
- Create a branch for your changes
- Submit a pull request
See the CONTRIBUTING.md file for more detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.