Skip to main content

🙌 Contributing to OpenHands

Welcome to the OpenHands community! We’re building the future of AI-powered software development, and we’d love for you to be part of this journey.

🌟 Our Vision: Free as in Freedom

The OpenHands community is built around the belief that AI and AI agents are going to fundamentally change the way we build software, and if this is true, we should do everything we can to make sure that the benefits provided by such powerful technology are accessible to everyone. We believe in the power of open source to democratize access to cutting-edge AI technology. Just as the internet transformed how we share information, we envision a world where AI-powered development tools are available to every developer, regardless of their background or resources. If this resonates with you, we’d love to have you join us in our quest! 🧑‍🚀

🎯 What Can You Build?

There are countless ways to contribute to OpenHands. Whether you’re a seasoned developer, a researcher, a designer, or someone just getting started, there’s a place for you in our community.

Frontend & UI/UX

Make OpenHands more beautiful and user-friendly:
  • React & TypeScript Development - Improve the web interface
  • UI/UX Design - Enhance user experience and accessibility
  • Mobile Responsiveness - Make OpenHands work great on all devices
  • Component Libraries - Build reusable UI components
Small fixes are always welcome! For bigger changes, join our #eng-ui-ux channel in Slack first.

Agent Development

Help make our AI agents smarter and more capable:
  • Prompt Engineering - Improve how agents understand and respond
  • New Agent Types - Create specialized agents for different tasks
  • Agent Evaluation - Develop better ways to measure agent performance
  • Multi-Agent Systems - Enable agents to work together
We use SWE-bench to evaluate our agents. Join our Slack to learn more.

Backend & Infrastructure

Build the foundation that powers OpenHands:
  • Python Development - Core functionality and APIs
  • Runtime Systems - Docker containers and sandboxes
  • Cloud Integrations - Support for different cloud providers
  • Performance Optimization - Make everything faster and more efficient

Testing & Quality Assurance

Help us maintain high quality:
  • Unit Testing - Write tests for new features
  • Integration Testing - Ensure components work together
  • Bug Hunting - Find and report issues
  • Performance Testing - Identify bottlenecks and optimization opportunities

Documentation & Education

Help others learn and contribute:
  • Technical Documentation - API docs, guides, and tutorials
  • Video Tutorials - Create learning content
  • Translation - Make OpenHands accessible in more languages
  • Community Support - Help other users and contributors

Research & Innovation

Push the boundaries of what’s possible:
  • Academic Research - Publish papers using OpenHands
  • Benchmarking - Develop new evaluation methods
  • Experimental Features - Try cutting-edge AI techniques
  • Data Analysis - Study how developers use AI tools

🚀 Getting Started

Ready to contribute? Here’s your path to making an impact:

1. Quick Wins

Start with these easy contributions:
  • Use OpenHands and report issues you encounter
  • Give feedback using the thumbs-up/thumbs-down buttons after each session
  • Star our repository on GitHub
  • Share OpenHands with other developers

2. Set Up Your Development Environment

Follow our comprehensive setup guide:
  • Requirements: Linux/Mac/WSL, Docker, Python 3.12, Node.js 22+, Poetry 1.8+
  • Quick setup: make build to get everything ready
  • Configuration: make setup-config to configure your LLM
  • Run locally: make run to start the application
Full details in our Development Guide

3. Find Your First Issue

Look for beginner-friendly opportunities:

4. Join the Community

Connect with other contributors in our Slack Community. You can connect with OpenHands contributors, maintainers, and more!

📋 How to Contribute Code

Understanding the Codebase

Get familiar with our architecture:

Pull Request Process

We welcome all pull requests! Here’s how we evaluate them:

Small Improvements

  • Quick review and approval for obvious improvements
  • Make sure CI tests pass
  • Include clear description of changes

Core Agent Changes

We’re more careful with agent changes since they affect user experience:
  • Accuracy - Does it make the agent better at solving problems?
  • Efficiency - Does it improve speed or reduce resource usage?
  • Code Quality - Is the code maintainable and well-tested?
Discuss major changes in GitHub issues or Slack first!

Pull Request Guidelines

We recommend the following for smooth reviews but they’re not required. Just know that the more you follow these guidelines, the more likely you’ll get your PR reviewed faster and reduce the quantity of revisions. Title Format:
  • feat: Add new agent capability
  • fix: Resolve memory leak in runtime
  • docs: Update installation guide
  • style: Fix code formatting
  • refactor: Simplify authentication logic
  • test: Add unit tests for parser
Description:
  • Explain what the PR does and why
  • Link to related issues
  • Include screenshots for UI changes
  • Add changelog entry for user-facing changes

🤝 Community Guidelines

Our Values

  • Open and Welcoming - Everyone is welcome regardless of background
  • Diverse and Inclusive - We actively encourage diverse perspectives
  • Collaborative - We work together to solve problems
  • Respectful - We treat everyone with kindness and professionalism

Code of Conduct

We follow the Contributor Covenant Code of Conduct. In summary:
  • Be respectful and inclusive
  • Focus on constructive feedback
  • Help create a welcoming environment
  • Report issues to contact@openhands.dev

Communication Guidelines

  • Be patient - Contributors and maintainers often have other commitments
  • Be specific - Include details, links, and context in your questions
  • Use appropriate channels - General questions in #general, technical issues in relevant channels
  • Search first - Check if your question has been answered before

📄 License

OpenHands is released under the MIT License, which means:

You Can:

  • Use OpenHands for any purpose, including commercial projects
  • Modify the code to fit your needs
  • Share your modifications
  • Distribute or sell copies of OpenHands

You Must:

  • Include the original copyright notice and license text
  • Preserve the license in any substantial portions you use

No Warranty:

  • OpenHands is provided “as is” without warranty
  • Contributors are not liable for any damages
Full license text: LICENSE Special Note: Content in the enterprise/ directory has a separate license. See enterprise/LICENSE for details.

🎯 Next Steps

Ready to make your first contribution?
  1. ⭐ Star our GitHub repository
  2. 🔧 Set up your development environment using our Development Guide
  3. 💬 Join our Slack community to meet other contributors
  4. 🎯 Find a good first issue to work on
  5. 📝 Read our Code of Conduct

🆘 Need Help?

Don’t hesitate to ask for help:
Thank you for considering contributing to OpenHands! Together, we’re building tools that will democratize AI-powered software development and make it accessible to developers everywhere. Every contribution, no matter how small, helps us move closer to that vision. Welcome to the community! 🎉
I