# Contributing

> Join us in building OpenHands and the future of AI. Learn how to contribute to make a meaningful impact.

# 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](https://openhands.dev/joinslack) 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](https://www.swebench.com/) to evaluate our agents. Join our  [Slack](https://openhands.dev/joinslack) 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](https://github.com/OpenHands/OpenHands/issues) you encounter
* **Give feedback** using the thumbs-up/thumbs-down buttons after each session
* **Star our repository** on [GitHub](https://github.com/OpenHands/OpenHands)
* **Share OpenHands** with other developers

### 2. Set Up Your Development Environment

Follow our 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](https://github.com/OpenHands/OpenHands/blob/main/Development.md)*

### 3. Find Your First Issue

Look for beginner-friendly opportunities:

* Browse [good first issues](https://github.com/OpenHands/OpenHands/labels/good%20first%20issue)
* Check our [project boards](https://github.com/OpenHands/OpenHands/projects) for organized tasks
* Ask in [Slack](https://openhands.dev/joinslack) what needs help

### 4. Join the Community

Connect with other contributors in our [Slack Community](https://openhands.dev/joinslack). You can connect with OpenHands contributors, maintainers, and more!

## 📋 How to Contribute Code

### Understanding the Codebase

Get familiar with our architecture:

* **[Frontend](https://github.com/OpenHands/OpenHands/tree/main/frontend/README.md)** - React application
* **[Backend](https://github.com/OpenHands/OpenHands/tree/main/openhands/README.md)** - Python core
* **[Agents](https://github.com/OpenHands/OpenHands/tree/main/openhands/agenthub/README.md)** - AI agent implementations
* **[Runtime](https://github.com/OpenHands/OpenHands/tree/main/openhands/runtime/README.md)** - Execution environments
* **[Evaluation](https://github.com/OpenHands/OpenHands/tree/main/evaluation/README.md)** - Testing and benchmarks

### 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](https://github.com/OpenHands/OpenHands/issues) or [Slack](https://openhands.dev/joinslack) 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

## 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](https://github.com/OpenHands/OpenHands/blob/main/LICENSE)*

**Special Note:** Content in the `enterprise/` directory has a separate license. See `enterprise/LICENSE` for details.

## Ready to make your first contribution?

1. **⭐ Star** our [GitHub repository](https://github.com/OpenHands/OpenHands)
2. **🔧 Set up** your development environment using our [Development Guide](https://github.com/OpenHands/OpenHands/blob/main/Development.md)
3. **💬 Join** our [Slack community](https://openhands.dev/joinslack) to meet other contributors
4. **🎯 Find** a [good first issue](https://github.com/OpenHands/OpenHands/labels/good%20first%20issue) to work on
5. **📝 Read** our [Code of Conduct](https://github.com/OpenHands/OpenHands/blob/main/CODE_OF_CONDUCT.md)

## Need Help?

Don't hesitate to ask for help:

* **Slack**: [Join our community](https://openhands.dev/joinslack) for real-time support
* **GitHub Issues**: [Open an issue](https://github.com/OpenHands/OpenHands/issues) for bugs or feature requests
* **Email**: Contact us at [contact@openhands.dev](mailto:contact@openhands.dev)

***

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! 🎉


---

> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://docs.openhands.dev/llms.txt