Chapter 3

Getting Started

Finding the Right Project

The journey to find the right open source project begins with self-reflection. Take a moment to consider what truly excites you. Are you passionate about privacy, financial inclusion, or user empowerment? Think about the design challenges that energize you, whether it's crafting intuitive user interfaces, conducting insightful user research, creating expressive iconography, or architecting information for clarity. Perhaps there are open source projects you already use and admire - these could be excellent starting points for your contribution journey.

Next, assess your current skills and future aspirations. What are your design strengths, and what new skills are you eager to develop? Consider whether you're looking for a quick contribution to dip your toes in the open source waters, or if you're ready for a long-term commitment to a project.

With these reflections in mind, it's time to explore the vast landscape of open source. Open Source Design Jobs, GitHub, GitLab, and similar resources are treasure troves of potential projects. Technology and design blogs also often feature open-source projects. As you browse, keep an eye out for projects that align with your interests and explicitly mention needing design help in their documentation or issues. You might also consider contributing to design systems or icon libraries, which can have a broad impact across multiple projects.

When evaluating potential projects, consider their size and activity level. For your first contributions, medium-sized projects often provide a good balance of structure and opportunity. Look for signs of an active community, such as regular commits and responsive maintainers. These indicators suggest a project where your contributions will be valued and integrated.

As you narrow down your options, take a critical look at each project's current design. Is there obvious room for improvement? Check the project roadmap and community forums for design-related tasks or feature requests. Don't hesitate to reach out directly to inquire about design needs - this proactive approach can often uncover opportunities not visible from the outside.

Remember, finding the right project is about aligning your passions and skills with a community where you can make a meaningful impact. It's okay to take your time exploring different projects until you find one that resonates with you. Your unique perspective as a designer can bring immense value to the right open source project, so choose a project that not only benefits from your skills but also fuels your enthusiasm and growth as a designer.

Understanding Project Structures

Once you've found a project that interests you, it's important to familiarize yourself with its structure. This will help you navigate the project more effectively and understand how you can best contribute.

Start by reading the project's documentation. Many projects have dedicated websites for their documentation, like Simple or Bitcoin Core App. More technical projects often rely on text documents in their code repositories to outline the most important guidelines. You will find README, CONTRIBUTING, and CODE_OF_CONDUCT files.

Try to get an overview of the project, its goals, and information on how to get started. Projects typically also use a tracker for their ongoing work. This can be via GitHub issues or other task management tools like Taiga. This is where problems, feature requests, and tasks are logged. As a designer, you'll want to look for issues labeled with tags like "design" or "UX". These are areas where your skills can be particularly valuable.

Most open source projects have some form of discussion forum. This might be a mailing list, a dedicated forum, or a chat platform like Mattermost, Discourse, Telegram or Discord. These spaces are great for asking questions, understanding the project's needs, and getting to know the community.

Finally, check if the project has any specific design resources. Some projects have dedicated design repositories or wikis that include style guides, design systems, or brand guidelines. Familiarizing yourself with these will help ensure your contributions align with the project's existing design direction.

Contribution Guidelines

For developers, the path to contribution often starts with using a tool, identifying improvements or finding bugs, and then submitting an issue or the necessary changes directly. Designers approach things a little different. They are by necessity less hands-on with the code, and therefore first try to get a broader understanding of the project and user needs, before trying to affect change across the whole user experience.

Begin by thoroughly reading the project's documentation. This will help you understand the project's vision, goals, and any existing design principles. This knowledge will inform your design decisions and help you create contributions that truly benefit the project.

When you're just starting out, it's often best to begin with small contributions. Look for issues tagged as "good first issue" or "beginner-friendly". These are typically smaller tasks that are well-suited for newcomers. You might start by improving documentation, creating small UI elements, or even just participating in discussions.

Communication is key in open source projects. Before you start working on a significant contribution, introduce yourself to the community. Share your background, your interest in the project, and what you hope to contribute. This helps the community get to know you and can lead to valuable guidance and mentorship.

It's also a good idea to discuss your ideas before you start working on them. This ensures you're not duplicating work someone else is doing and allows you to get feedback on your approach early on.

Make sure you understand the process for submitting your work. Many projects use issues or pull requests on platforms like GitHub. Familiarize yourself with this process and be prepared to iterate on your work based on feedback. Remember, revision and improvement are normal parts of the open source contribution process.

Setting Up Necessary Tools and Accounts

Contributing to open source projects often requires specific tools and accounts. Let's go through the essentials you'll need to set up.

  • Communication: Set up accounts for any project-specific communication tools the project uses.
  • Design tools: As a designer, you'll need appropriate design tools C6. While many designers are accustomed to proprietary software, consider exploring open source alternatives. These tools align well with the open source philosophy and ensure your design files are accessible to the wider community. Make sure your tools can export to the formats specified by the project. SVG is often preferred for vector graphics in open source projects due to its scalability and ease of modification.
  • Project hosting: You'll also need to create accounts on the platforms where the projects you're interested in are hosted. This often means setting up a GitHub account, but you might also need accounts on GitLab or other platforms depending on the projects you choose. Even if you don't propose code changes, these platforms are often used for tracking tasks.
  • Local development: Some projects may require you to run the software locally to fully understand and test your design contributions. In these cases, you'll need to set up a development environment on your machine. Follow the project-specific setup instructions carefully, and don't hesitate to ask for help if you run into difficulties. Pairing with a developer is often a great approach.

Making Your First Contribution

Now that you're set up and familiar with the project, it's time to make your first contribution. This can feel intimidating, but remember, every expert was once a beginner.

  1. Start by choosing an issue to work on. Select a task that matches your skills and the project's needs. If you're unsure, it's perfectly okay to ask for guidance from the community.
  2. Once you've chosen an issue, it's good practice to comment on it, letting others know you're working on it. This prevents duplicate work and opens the door for others to offer help or suggestions.
  3. Now comes the exciting part - doing the work! Create your design, keeping in mind the project's guidelines and any feedback you've received. As you work, document your process and the reasoning behind your decisions. This documentation will be valuable when you submit your contribution.
  4. When you're ready to submit your work, follow the project's submission process. This is often done through an issue if the project is hosted on GitHub, but it can also as simple as a forum post. Include a clear description of your work, explaining what you've done and why, and what feedback you are looking for. If your contribution addresses a specific issue, make sure to reference it.
  5. After submitting, be prepared to receive feedback. Respond to comments promptly and be open to making changes. Remember, feedback is not criticism of you personally, but a normal part of the collaborative open source process.
  6. Support other contributors during implementation and testing. Help get the word out when your changes go live. Perform user tests and listen to the community afterwards to see how your contributions are being received.
  7. Update and organize any relevant documentation and design files, so future improvements will be easier to start.

And make sure to celebrate and enjoy your accomplishment.

Best Practices for New Contributors

As you begin your open source journey, keep these best practices in mind:

Be patient. Open source communities often move at their own pace, which can be slower than you might expect. Don't get discouraged if you don't receive immediate responses.

Maintain a positive attitude, even if your work isn't accepted immediately. Every interaction is a learning opportunity.

Embrace the learning process. Each project you contribute to is a chance to expand your skills and knowledge.

Consistency is key. Regular, small contributions can have a big impact over time and help you build a strong reputation within the community.

Always respect the community. Follow the project's code of conduct and communication norms. Remember, you're joining an existing community with its own culture.

Conclusion

Getting started in open source can seem daunting at first, but with the right approach, it can be an incredibly rewarding experience. Remember, every expert was once a beginner. By starting small, communicating clearly, and persistently contributing, you'll soon find yourself making meaningful impact.

Don't be afraid to ask questions or seek help when you need it. Open source communities are generally welcoming and supportive of newcomers who show enthusiasm and a willingness to learn.

As you embark on this journey, keep in mind that your unique perspective as a designer is valuable. Your contributions can help make software more accessible, user-friendly, and visually appealing.

In the next chapter, we'll dive deeper into the collaborative workflows commonly used in open source projects, helping you navigate the technical aspects of contribution more effectively. Your adventure is just beginning, and it promises to be an exciting and rewarding journey.

View resources