New Contributor Guide
Welcome! This guide will help you get started as a contributor to Open Source Observer (OSO). Follow these steps to set up your development environment and join our community.
1. Connect to the OSO Data Lake
Start by exploring OSO's data and understanding what we're building:
- Get started with OSO data - Follow the Get Started guide to access our data lake
- Complete a tutorial - Work through at least one tutorial using
pyoso
to understand our data models - Test the API - Make some test queries to the OSO API to see what's available
2. Set Up Your Local Development Environment
Install Prerequisites
- Install uv - We use uv for Python dependency management
- Install duckdb - We use duckdb for local data exploration
Clone the core repositories
git clone https://github.com/opensource-observer/oso.git
git clone https://github.com/opensource-observer/oss-directory.git
Run SQLMesh locally
- Location:
warehouse/oso_sqlmesh
- Guide: SQLMesh Setup Guide
You should be able to run a sqlmesh plan
successfully, eg:
uv run oso local sqlmesh-test --duckdb plan dev --start '1 week' --end now
Run Dagster locally
- Location:
warehouse/oso_dagster
- Guide: Dagster Setup Guide and Dagster Quick Start
You should be able to run uv run dagster dev
successfully.
- Run the Docs locally
- Location:
apps/docs
You should be able to run pnpm start
successfully.
Run OSS Directory validation locally
- Location: oss-directory
- Guide: OSS Directory Guide
You should be able to run pnpm validate
successfully.
3. Join the Community
Connect with the Team
- Join Discord - OSO Discord Server
- Introduce yourself in the
#lobby
channel with:- Your name / GitHub profile
- Brief background
- What you'd like to work on
- Introduce yourself in the
- Join Gather - OSO Gather Space
- Recommended if you plan to contribute 10+ hours per week
Daily Stand-up
- Time: 16:00 UTC on Gather
- Purpose: Share progress, unblock issues, stay connected
Find Work
- Browse open issues - Help Wanted Issues
- Check project board - OSO Project Board
- Comment on issues to claim them before starting work
4. Contribution Workflow
Development Process
- Fork and branch - Create a feature branch from
main
- Follow CI standards:
- Run hooks and local build tests
- For data models: run
sqlmesh plan
and ensure tests pass - For Dagster jobs: verify the materialization is successful locally
- Update documentation - Modify docs in
apps/docs
when adding/changing functionality - Submit PR - Link to relevant issues and request reviews
Code Quality
- Follow the existing code style and patterns
- Update documentation to include any new functionality (or issues you encountered in any of the workflows)
- Ensure all CI checks pass before requesting review
5. Getting Help
- Discord: Ask questions in channel
- GitHub: Tag maintainers on issues or PRs
- Documentation: Check our guides and references
We're excited to have you join the OSO community! This is a collaborative effort to measure the impact of open source software, and your contributions help make it possible.