www.daytona.io Open in urlscan Pro
67.220.86.49  Public Scan

Submitted URL: https://u31805913.ct.sendgrid.net/ls/click?upn=u001.wygYs8sydgjWMAa0-2FxmOaWmYLU7U1hqAQU-2FD54MHfkdJ6RBxvWMchVykxSBjR7SZ7zSxtn4HPt...
Effective URL: https://www.daytona.io/dotfiles/10-best-practices-for-contributing-to-open-source-projects
Submission: On July 30 via api from BE — Scanned from DE

Form analysis 1 forms found in the DOM

<form class="waitlist-form">
  <div class="waitlist-form__wrapper"><label class="waitlist-form__label" for="newsletter-email">Enter your email</label>
    <div class="waitlist-form__submit-input"><input placeholder="you@devco.com" type="email" name="email" required="" aria-label="email" aria-required="true" autocapitalize="off" autocorrect="off" autocomplete="email" maxlength="75"
        class="waitlist-form__input" id="newsletter-email" value=""><button class="waitlist-form__button" type="submit" aria-label="submit email"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
          <path d="M5 12H19M19 12L12 5M19 12L12 19" stroke="white" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"></path>
        </svg></button></div>
  </div>
</form>

Text Content

DotFiles Insider
 * Articles
 * Guides
 * Updates

Get a Demo7.1K

DotFiles Insider
 * Articles
 * Guides
 * Updates

Get a Demo7.1K

JUL 26 2024 // 3 min read
Share
 * Copy link
 * Share on Twitter
 * Share on Facebook
 * Share on Linkedin

Link copied successfully!


10 BEST PRACTICES FOR CONTRIBUTING TO OPEN SOURCE PROJECTS

TOMA PULJAK

Software Engineer

# CONTENTS

1. Read and Follow the Contributing Guidelines 2. Understand the Project's Scope
and Purpose 3. Reproduce and Investigate Issues 4. Create a New Branch for Your
Changes 5. Make Focused and Incremental Changes 6. Test Your Changes Thoroughly
7. Write Clear and Concise Commit Messages 8. Engage in Constructive
Communication 9. Respect the Work of Others 10. Be Patient and Responsive
Conclusion: Building Skills, Relationships, and Community through Open Source
Contributions

Open source projects are the backbone of modern software development, with over
80% of companies using open source code in their products. As a contributor,
understanding best practices and etiquette is crucial for making meaningful
impacts and fostering a collaborative environment.

This short guide presents 10 essential practices that will help you become a
valued and effective contributor to the open source community, ensuring your
efforts are both impactful and well-received.


1. READ AND FOLLOW THE CONTRIBUTING GUIDELINES

Before making any contributions, take the time to thoroughly read the project's
contributing guidelines. These guidelines outline the project's specific
requirements, coding conventions, and submission process. By adhering to these
guidelines, you demonstrate respect for the project maintainers and ensure that
your contributions align with the project's goals and standards. For example,
Daytona provides excellent contributing guidelines and code of conduct.


2. UNDERSTAND THE PROJECT'S SCOPE AND PURPOSE

Familiarize yourself with the project's scope, purpose, and overall
architecture. Take the time to explore the codebase, read the documentation, and
understand how the various components interact. Join community channels like
forum, Discord or Slack (example Daytona Community Slack) to engage with
maintainers and fellow contributors. This knowledge will help you make informed
decisions when proposing changes and ensure that your contributions are relevant
and beneficial to the project.


3. REPRODUCE AND INVESTIGATE ISSUES

When addressing an issue, start by reproducing the problem in your local
development environment. Investigate the root cause of the issue and gather
relevant information. This process helps you gain a deeper understanding of the
problem and enables you to propose effective solutions.

When reporting problems, provide clear, concise information including:

 * Steps to reproduce

 * Expected behavior

 * Actual behavior

 * Relevant system information or error logs


4. CREATE A NEW BRANCH FOR YOUR CHANGES

When working on a fix or a new feature, create a new branch specifically for
your changes. This practice keeps your work separate from the main branch and
allows for easier collaboration and review. Choose a descriptive branch name
that reflects the purpose of your changes.

Follow a clear naming convention, such as:

 * fix-issue-123 for bug fixes

 * feature/new-feature-name for new features


5. MAKE FOCUSED AND INCREMENTAL CHANGES

Aim to make focused and incremental changes in your PRs. Each PR should address
a single issue or implement a specific feature. Avoid bundling unrelated changes
together, as it makes the review process more challenging and increases the
likelihood of conflicts. By keeping your changes focused, you make it easier for
maintainers to review and merge your contributions.

A well-structured PR should include:

 * A clear, descriptive title

 * A concise description of the changes

 * Relevant screenshots or test results

 * Links to related issues or discussions


6. TEST YOUR CHANGES THOROUGHLY

Before submitting a PR, ensure that your changes are thoroughly tested. Run the
project's test suite, if available, and manually verify that your modifications
work as intended. Consider testing on different platforms, browsers, or
environments if applicable. Provide clear instructions on how to reproduce the
issue and test your changes. Include relevant screenshots, screen recordings, or
any other supporting evidence that demonstrates the effectiveness of your
solution.


7. WRITE CLEAR AND CONCISE COMMIT MESSAGES

Craft clear and concise commit messages that accurately describe the purpose of
your changes. Follow the project's commit message conventions, if specified. A
well-written commit message helps reviewers understand the intent behind your
modifications and facilitates the review process.

A good commit message typically includes:

 * A brief summary (50 characters or less)

 * A more detailed explanation, if necessary

 * References to relevant issues or PRs


8. ENGAGE IN CONSTRUCTIVE COMMUNICATION

When engaging with the project community, maintain a respectful and constructive
tone. Be open to feedback and suggestions from maintainers and other
contributors. If there are disagreements or concerns, address them
professionally and seek to find common ground. Remember that everyone is working
towards the same goal of improving the project.


9. RESPECT THE WORK OF OTHERS

Respect the work and contributions of other contributors. Avoid copying code or
descriptions from existing PRs without proper attribution or permission. If you
find inspiration from someone else's work, acknowledge their efforts and clearly
differentiate your own changes. Plagiarism and intellectual property violations
are strictly prohibited in open source communities.

If you're inspired by someone else's work:

 * Clearly cite the original source

 * Explain how your work builds upon or differs from the original

 * Obtain permission when necessary, especially for larger code portions


10. BE PATIENT AND RESPONSIVE

Understand that maintainers and reviewers have limited time and may not be able
to respond to your PR immediately. Be patient and respectful of their schedules.
If your PR requires changes or additional information, be responsive to the
feedback provided. Engage in constructive discussions and work collaboratively
to address any concerns or suggestions.

Be patient while waiting for responses, but remain engaged:

 * Politely follow up after a reasonable time (e.g., 1-2 weeks)

 * Promptly address feedback or requests for changes

 * Keep your PR updated with the latest changes from the main branch


CONCLUSION: BUILDING SKILLS, RELATIONSHIPS, AND COMMUNITY THROUGH OPEN SOURCE
CONTRIBUTIONS

Contributing to open source projects is a rewarding journey that enhances your
skills, expands your network, and positively impacts the software community. By
following these best practices, you'll not only improve the quality of your
contributions but also foster a welcoming environment for all participants.
Remember, successful open source contribution is as much about building
relationships as it is about writing code. Share your experiences, learn from
others, and enjoy being part of something greater than yourself.

We'd love to hear about your open source contribution experiences. What
challenges have you faced, and what tips would you add to this list? Share your
thoughts in our community Slack!



JOIN THE DAYTONA COMMUNITY

Be part of a supportive community passionate about this industry-wide shift
toward standardized development environments.

Join the Community



Tags::
 * opensource
 * contributing

ABOUT

Daytona is a dev environment orchestration & management platform empowering
developers to focus on what matters.

[ → Learn more ]

THE AUTHOR

TOMA PULJAK

Software Engineer

Toma is a skilled Full Stack Software Developer currently at Daytona, with
previous experience at Codeanywhere. With over 7 years of industry experience,
he is know for his ability to quickly learn and adapt to new challenges. He is
also a passionate speaker and loves to share his knowledge with the developer
community.


RELATED CONTENT

 * DAYTONA PLEDGES $60,000 TO SUPPORT OPEN SOURCE COMMUNITY
   
   JUL 17 2024 :: Ivan Burazin

 * MAKING AN IMPACT: MY OPEN SOURCE JOURNEY
   
   JUL 18 2024 :: Rahmat Akintola

 * DAYTONA GOES OPEN SOURCE: EMBARKING ON A BOLD NEW JOURNEY
   
   MAR 05 2024 :: Ivan Burazin


NEWSLETTER

Subscribe to DotFiles Insider, a weekly newsletter for developers covering
stories, techniques, guides and the latest product innovations coming.

Enter your email


New Partner with us

Learn more

Company

 * About
 * Careers
 * Brand
 * Press
 * Partner

Support

 * Documentation
 * Contact
 * Changelog
 * Blog
 * Definitions

Follow Daytona

 * Github
 * Slack
 * Twitter
 * Youtube
 * Linkedin
 * RSS

Popular Topics

 * Developer velocity
 * Platform Engineering
 * Enhanced productivity
 * Developer Experience
 * Standardised Development Environment
 * Developer Onboarding
 * Secure Development environments
 * Regulated Industry
 * Development Environment Management
 * Self Hosted Development Environment

© 2024 Daytona Platform Inc.

Privacy policy Terms of Service


This website uses cookies to measure and improve your experience.

Accept All A
Opt-outSettings

Latest News

We just raised $5M in our latest funding round ↗