How to Choose Your First Open Source Project
The 2026 Open-Source Fellowship gives fellows a pathway from learning to doing. After building their foundations in Bitcoin and open-source development, fellows choose a project and begin contributing with support from a mentor. Choosing that project can be one of the harder parts of the process.
The Bitcoin and adjacent open-source ecosystem is broad. It includes Bitcoin Core, Lightning implementations, wallets, mining software, privacy tools, ecash projects such as Cashu, developer libraries, infrastructure, and applications. There are also opportunities to contribute through testing, documentation, and research.
With so many possible directions, the challenge is not simply finding a project. It is finding one you want to understand, where you can learn how the work happens and make a realistic first contribution.
This guide is for developers making that decision through a programme like the Fellowship or figuring it out on their own. A useful starting point is to consider three things together: what interests you, how the project works, and where you can contribute.
Start With What Interests You
Before opening a repository, think about the kinds of problems you want to work on.
You might be curious about how Bitcoin transactions are validated, how Lightning payments are routed, or how wallets help people manage their funds. You might want to understand mining infrastructure, explore privacy and ecash through projects such as Cashu, or build tools that make other developers’ work easier.
These are different entry points into a connected ecosystem. Contributing does not have to mean working directly on Bitcoin’s protocol or a Lightning implementation. Software that supports, interacts with, or builds on Bitcoin can offer meaningful opportunities too.
Consider both your interests and your current skills. Your experience with a particular language, testing framework, or type of application may give you a useful starting point, even if the Bitcoin-specific concepts are new to you.
You do not need to choose the most technically ambitious project. Choose something you are curious enough about to keep learning when the work becomes difficult.
If you’re looking for a place to start, our Resource Hub brings together curated resources organized into sections for easy browsing. You’ll find open-source projects and their technology stacks, contribution notes, cheat sheets, developer tools, and resources on writing articles. Use it to explore projects that match your interests and find guidance as you begin contributing.
Understand the Project Before You Touch the Code
Once you have found a promising project, resist the urge to clone its repository and immediately start hunting for an issue. First, understand what it does and how people contribute to it.
If the project has a website, start there to understand what it does, who it is built for, and where it fits within the broader ecosystem. Then visit its repository and read the README for a closer look at the software and how to get started. If there is no separate website, begin with the README. Where practical, try using the project or running it locally. First-hand experience can make the code and open issues easier to understand.
Then read the contribution guidelines. Look for setup instructions, testing requirements, and an explanation of the review process.
Recent issues and pull requests can show you how those guidelines work in practice:
- What kinds of changes are contributors working on?
- Are maintainers responding to questions and reviewing contributions?
- What does a well-prepared pull request look like?
- Do technical discussions happen in the repository, chat channels, developer meetings, or elsewhere?
An issue labelled as a good first issue can help you find a starting point, but it cannot tell you everything about working on the project. Before you commit, you should have a reasonable sense of both the software and its development process.
Pay Attention to the Community
The people around a project are part of the learning experience.
You can get a sense of the community by following the project on social media and reading the discussions around its work. Check its website or repository for links to community spaces, such as Discord servers, Telegram groups, forums, or mailing lists. These can help you see how people share updates, ask questions, and get involved. Social media is useful for discovering conversations, but make sure you also find out where technical discussions and contribution decisions actually happen.
Spend some time observing how contributors ask questions, disagree, review one another’s work, and help newcomers find their way. Look beyond whether a project is active and pay attention to the quality of those interactions.
When someone asks a question, do others help them understand the answer? When a pull request needs changes, does the review explain why? Are expectations clear, even when feedback is direct?
Your first contribution will probably involve something you do not understand yet. You will need to ask questions, receive feedback, and sometimes rethink your approach. How a community handles those moments can tell you a lot about the environment you would be entering.
Keep in mind that maintainers may have limited time. A slow response does not necessarily mean a project is unwelcoming. Look for patterns across several discussions rather than judging the community by a single exchange.
You do not need a project where you understand everything from day one. You need one where there is room to learn.
Choose a First Contribution You Can Finish
A good first contribution is not necessarily the most interesting issue in the repository. It is one you can understand, work through, and bring to a useful conclusion.
Look for a task with a clear problem and a manageable scope. That might be:
- Fixing a small, reproducible bug.
- Adding a test for existing behaviour.
- Improving setup instructions or other documentation.
- Writing a bug report with clear reproduction steps.
- Testing a proposed change or reviewing a pull request.
Labels such as good first issue are useful signals, not guarantees. An issue may be outdated, depend on missing context, or already have someone working on it. Read the discussion and check the project’s process before starting.
For a code change, you should be able to explain the problem, identify the relevant part of the codebase, and test your solution. For documentation, testing, or review work, be equally clear about what you checked and how it helps.
A small contribution that teaches you how the project works is a stronger start than a large task you cannot yet evaluate.
Learn the Expectations, and Ask Useful Questions
Before investing significant time in a task, check whether the project expects you to express interest in an issue, request assignment, or discuss your approach first. Some projects welcome a pull request directly; others prefer an initial conversation.
If you have a mentor, use their guidance to assess scope and identify gaps in your understanding. That support can help you prepare, but it does not replace the project’s own contribution process.
When you get stuck, do some investigation before asking for help. Read the relevant documentation, search existing discussions, and try to narrow down where your understanding breaks down.
A useful question explains:
- What you are trying to do.
- What you expected to happen.
- What happened instead.
- What you have already tried.
You do not need to solve the problem before asking about it. The aim is to give others enough context to help you, not to struggle alone until you have exhausted every possibility.
Give Yourself Room to Keep Contributing
Your first merged pull request is a useful milestone, but it is not the only measure of progress. Learning to run the project, reproduce a bug, understand a review, or write a helpful issue also builds your ability to contribute.
After that first contribution, look around again. Is there another issue you now understand? Could you test someone else’s change, improve documentation, or help another newcomer through something you recently learned?
Staying with a project gives you familiarity with its codebase, people, and development process. That context can help you take on more complex work over time.
You may also discover that the project is not the right fit. Exploring another part of the ecosystem is a reasonable outcome, especially if the experience has helped you understand what you want to learn next.
A Practical Checklist
Before committing to a project, ask yourself:
Your interests
- What problem or part of the ecosystem do I want to understand better?
- Do my current skills give me a reasonable starting point?
- Is this an area you can see yourself spending time on?
The project
- Can I explain what it does and who it serves?
- Is it maintained, and are contributions being reviewed?
- Have I read the contribution guidelines?
- Do I know where contributors communicate and ask questions?
Your first contribution
- Can I understand the problem and what a useful outcome would look like?
- Is the task small enough for my current skills and available time?
- Have I checked whether someone is already working on it?
- Can I explain and, where relevant, test my work?
You do not need to know everything before you start. You need enough context to make a considered choice and enough curiosity to keep learning.
As you build experience and become a regular contributor, it is worth exploring funding opportunities. If you are contributing during evenings, weekends, or alongside other commitments, funding may help you dedicate more time to the work and, eventually, consider contributing full-time. Opportunities have different requirements, so look for support that fits your experience and circumstances. Btrust’s guide on how to get funding is a useful place to start.
From Learning to Contributing
Choosing a project is one part of a bigger transition: moving from learning about Bitcoin to contributing to the open-source ecosystem around it.
That transition is central to Btrust Builders’ work with African software developers. The Builders program provides structured pathways to develop Bitcoin and Lightning knowledge, build practical skills, learn alongside mentors and peers, and establish a record of open-source contributions. The 2026 Open-Source Fellowship takes that progression further by supporting selected developers as they begin contributing consistently.
Whether your interests lead you towards protocol development, payments, mining, wallets, privacy, ecash, or developer infrastructure, there are different ways to put your skills to work. The goal is not to find the most impressive project. It is to find a place where you can begin, learn, and make useful contributions.
If you are an African software developer looking to build towards a career in Bitcoin open-source development, explore the Btrust Builders pathways. Applications are open throughout the year, with options for developers at different stages of their journey.
Explore the Btrust Builders pathways and apply.