Contribute to the Open-Source Leg Project

Contributing can be a fulfilling way to learn, teach, and gain experience.


Everyone is welcome to contribute to the Open-Source Leg project. Whether you're interested in documentation, hardware modifications, code, bug reports, or feature requests, your contributions are valued. We encourage participation from people of all backgrounds and experience levels. This guide is here to help you get started with contributing to our project.

Why contribute to the Open-Source Leg project?

Whether it's coding, mechanical design, or technical writing, if you're looking for practice or experience, there is a task for you in our project.

Working with others on a shared project means you’ll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.

By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.

You don’t have to become a lifelong contributor to enjoy participating in our project. Even if you only have time to fix a typo or add a comma, you’re still contributing to the project and making it better for everyone.

Contributing to our open-source project also offers opportunities to practice leadership and management skills, such as resolving conflicts, organizing teams of people, and prioritizing work.

Many people form lifelong friendships through their participation in our project, whether it’s running into each other at conferences or late night online chats about why tabs are better than spaces.

Okay I'm convinced, how do I get started?

Great! We're glad to have you on board. Contributing to our project happens at all levels, across various aspects of the project, and with many different skills. You don’t need to overthink what exactly your first contribution will be, or how it will look. Instead, whenever you catch yourself thinking that something could be better or different, act on your instinct. Once you have found an aspect of our project that you want to work on, here's how to communicate effectively to ensure that your contribution becomes a valuable part of the project.

Give context: Help others get quickly up to speed. If you’re running into an error, explain what you’re trying to do and how to reproduce it. If you’re suggesting a new idea, explain why you think it’d be useful to the project (not just to you!).

X doesn’t happen when I do Y

X is broken! Please fix it.

Do your homework beforehand: It's fine not to be familiar with something, but demonstrate your effort. Before seeking help, check the README, documentation, open or closed issues, mailing list, and search the internet for an answer. Our community appreciates your commitment to learning.

I’m not sure how to implement X. I checked the help docs and didn’t find any mentions.

How do I X?

Keep it short and direct: Much like sending an email, every contribution, no matter how simple or helpful, requires someone else’s review. We receive more incoming requests than people available to help with them, so please be concise.

I’d like to write an API tutorial.

I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you…

Keep all communication public: Although it’s tempting, don’t reach out to developers or maintainers privately unless you need to share sensitive information (such as a security issue or serious conduct violation). When you keep the conversation public, more people can learn and benefit from your exchange. Discussions can be, in themselves, contributions.

(as a comment) “@-maintainer Hi there! How should we proceed on this PR?”

(as an email) “Hey there, sorry to bother you over email, but I was wondering if you’ve had a chance to review my PR”

We encourage you to ask questions (but please be patient): Everybody was new to the project at some point, and even experienced contributors need to get up to speed when they look at a new aspect of the project. Show them the same patience that you’d want them to show to you.

Thanks for looking into this error. I followed your suggestions. Here’s the output.

Why can’t you fix my problem? Isn’t this your project?

Respect community decisions: Your ideas may differ from the community’s priorities or vision. They may offer feedback or decide not to pursue your idea. While you should discuss and look for compromise, maintainers have to live with your decision longer than you will. If you disagree with their direction, you can always work on your own fork or start your own project.

I’m disappointed you can’t support my use case, but as you’ve explained it only affects a minor portion of users, I understand why. Thanks for your time.

Why won’t you support my use case? This is unacceptable!

Above all, keep it classy: The Open-Source Leg community is made up of people from all over the world. Context gets lost across languages, cultures, geographies, and time zones. In addition, written communication makes it harder to convey a tone or mood. Assume good intentions in all conversations. It’s fine to politely push back on an idea, ask for more context, or further clarify your position.

What happens after I submit my contribution?After you submit your contribution, one of the following outcomes will occur:

Someone requests changes to your contribution: It’s common that you’ll be asked to make changes to your contribution, whether that’s feedback on the scope of your idea, or changes to your code. When someone requests changes, be responsive. They’ve taken the time to review your contribution. Opening a PR and walking away is bad form. If you don’t know how to make changes, research the problem, then ask for help if you need it. If you don’t have time to work on the issue anymore due to reasons such as the conversation has been going on for months, and your circumstances have changed or you’re unable to find a solution, let the maintainer know so that they can open the issue for someone else to work on.

Your contribution doesn’t get accepted: Your contribution may not be accepted in the end. If you’re not sure why it wasn’t accepted, it’s perfectly reasonable to ask the maintainer for feedback and clarification. Ultimately, however, you’ll need to respect that this is their decision. Please don’t argue or get hostile. You’re always welcome to fork and work on your own version if you disagree!

Your contribution gets accepted: Yay! You’ve successfully made a valuable contribution to the Open-Source Leg project. Your contribution will be publicly available for others to use and learn from. You’ll also be recognized as a contributor to the project.

You did it!

Whether it's your first open source contribution or you're exploring new ways to contribute, we hope you're inspired to take action. Even if your contribution isn't accepted, remember to express gratitude to everyone who supported you. Open source thrives with contributions from individuals like you—one issue, pull request, comment, or high-five at a time.

Content adapted from used under the CC-BY-4.0 license.