From f4723bb1aec3268bd84f8267ca78357ded134e89 Mon Sep 17 00:00:00 2001 From: jdwilkin4 Date: Sat, 9 Dec 2023 11:15:15 -0800 Subject: [PATCH 1/3] docs: adding intro content --- _layouts/sidebar.md | 2 + docs/index.html => index.html | 0 intro.md | 89 +++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) rename docs/index.html => index.html (100%) create mode 100644 intro.md diff --git a/_layouts/sidebar.md b/_layouts/sidebar.md index e69de29..260275c 100644 --- a/_layouts/sidebar.md +++ b/_layouts/sidebar.md @@ -0,0 +1,2 @@ +- Pages + - [What is an Open Source Maintainer?](/intro.md) diff --git a/docs/index.html b/index.html similarity index 100% rename from docs/index.html rename to index.html diff --git a/intro.md b/intro.md new file mode 100644 index 0000000..b303000 --- /dev/null +++ b/intro.md @@ -0,0 +1,89 @@ +# Understanding the role of an open source maintainer + +Being an open source maintainer can be a very gratifying and rewarding experience. But there is a lot of work that goes into maintaining an open source project. As a maintainer you will have many responsibilities including being a contributor, leader, mentor, and community manager. + +This course will provide you with a comprehensive overview of a maintainer's role, including insights into daily tasks, long-term responsibilities, and the overall impact of a maintainer in an open-source project. + +## What is an open source maintainer? + +An open source maintainer is responsible for maintaining the health and success of a project. Maintainers help to define the project's goals, work with other contributors, help to build a community around the project and uphold the project's quality standards. + +### Guiding contributors and providing feedback + +Being able to work with contributors from all backgrounds is an important skill to develop as a maintainer. Some contributors will be seasoned developers that are interested in getting started with your project. While others will be new to open source and development in general. So it is important to have good communication with your contributors. + +Working with contributors will include assisting them with any blockers they might have and providing constructive feedback so they can grow and strengthen their contributions to your project. + +### Fostering a welcoming and inclusive community + +Not all open source communities are welcoming and inclusive which can deter people from wanting to participate in open source at all. So it is important to remember to always lead with kindness, patience and understanding. + +People are volunteering their time to contribute to your project with the intention of helping it grow. By setting a standard that your community is inclusive and helpful to everyone, that will trickle down to all community members and create a community that contributors will want to be a part of. + +### Ensuring the reliability and stability of the project + +It is maintainer's responsibility to review and maintain the project to the existing quality standards. When you receive a pull request, it is your responsibility to make sure that all of the tests are passing and the feature or fix is working as expected. It is also important to check and make sure that the new changes do not accidentally break something else in the project. Having a good testing suite and process will help with that. + +## Benefits of being a maintainer + +There are many benefits to being an open source maintainer including career, leadership and personal growth. + +### Personal and Professional Growth + +As a maintainer, you are in a leadership position helping to guide contributors to success in your project. Leadership and mentorship skills are important to develop and will help you grow in your career. + +Being a maintainer also helps you grow your technical skills. You will be responsible for making contributions, reviewing pull requests, writing technical articles about your project and possibly giving technical talks at conferences. + +### Networking opportunities + +Building relationships in the tech industry is a great way to connect with talented technologists from around the world and advance your career. By working with other contributors you will get to learn from them and they will get to see your leadership and technical abilities. + +There have been many instances where long term open source relationships have turned into possible business ventures or future job opportunities. And if your project ends up being used by a lot of people, then you will be able to connect with a larger group of technologists. + +## Challenges of being an open source maintainer + +While there are many benefits to being an open source maintainer, it is not always an easy job to do. Here are a few challenges that maintainers face: + +### Burnout + +A lot of open source maintainers have felt burned out on the sheer volume of work and responsibility that it takes to maintain the project. Some have even gone as far as to walk away from the project when the work became to much to handle. + +If you are feeling overwhelmed by the workload and getting close to burnout, it is time to get the right type of support for your project. Identify regular contributors in the community and reach out to them to see if they are interested in becoming a maintainer. This will help offload some of your responsibilities and decrease your stress around the project. + +When it comes to identifying possible new maintainers, you will want to look for contributors who have been invested in the project for a period of time and go above and beyond. Most contributors, will be casual contributors to your project which is fine. But there will be those who will regularly contribute and start to integrate more into the community. Those are the individuals you will want to reach out to for recruiting them to be a maintainer. + +### Dealing with loneliness + +The role of a maintainer can sometimes feel lonely and isolating. Most contributors will come and go and you are left still maintaining the project by yourself or with a small group of people. So it is important to get connected with a group of maintainers from a variety of open source projects so you can have a place to discuss your challenges and connect with others. + +Other maintainers will be able to relate to the challenges you face and will help you through the difficult times. They will also be able to offer suggestions on how to make your project and community better. It is important not to go through the maintainer journey alone. Reach out and connect with others in your same situation so you can grow and learn together. + +## Key responsibilities and expectations + +The role of the maintainer is a multifaceted one. Here are a few key responsibilities for an open source maintainer. + +### Triaging issues + +Learning how to triage issues is an important skill for any open source maintainer. This involves going through the existing list of open issues and prioritizing them in order of importance. Some open issues will be critical bug fixes, while others might be nice to have feature requests. Sometimes you might have issues opened for things that are not a right fit for the project. + +### Reviewing pull requests + +Reviewing pull requests is an important part of a maintainer's job. It is the maintainer's responsibility to ensure that the suggested code or documentation update meets the projects standards and doesn't introduce any new issues for the project. You will also need to work with the contributor to unblock them on issues they have or help them resolve failing tests. + +### Testing and Stability + +A maintainer is responsible for making sure the application is working as expected. This will involve a combination of manual and automated testing. For manual testing, you will want to set time aside once in a while to run through new features or existing features like a normal user would. If there are any bugs or poor user experiences, then you will need to document them and create an issue. + +For automated testing, you can setup an automated test suite that runs on ever pull request and merge into the main branch. If the test suite fails, then you can reach out to the contributor and help them debug the error. Good automated test suites can help catch bugs from going into production and breaking the application. + +### Documentation + +A good open source project will have a comprehensive set of documentation so all users will know how to best run and maintain the project. In your project's README, you will want to have a basic overview of the project, along with how to get setup and how to contribute. As your project grows over time, you will want to keep your documentation up to date. + +If you are maintaining a larger project, then you might consider using documentation builders like [Docusaurus](https://docusaurus.io/) or [docsify](https://docsify.js.org/#/) to host your documentation. Documentation also includes writing tutorials, building diagrams or creating in depth guides for the project. + +### Community Management and Engagement + +A key component for any open source project is its community. Building a strong community can help accelerate the growth of your open source project. As new contributors discover and start to contribute to your project, you will want to create spaces for communication and collaboration. + +If your project is on GitHub, you can use [GitHub discussions](https://docs.github.com/en/discussions) as a way for contributors to post questions and facilitate conversations. You can also look into creating communities on Discord or Slack. As you grow your community, you will want to create moderators that will help maintain the healthy environment you setup. To encourage engagement, you can hold office hours or other online events like Twitter spaces. From a4752abe6a7bd97a542915aa9d67b0d7d5587665 Mon Sep 17 00:00:00 2001 From: jdwilkin4 Date: Sat, 9 Dec 2023 11:18:12 -0800 Subject: [PATCH 2/3] docs: updating readme with intro link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fdc08d6..5584dac 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ Welcome to the Becoming a Maintainer Course with OpenSauced! This course is designed to provide you with an introduction to how to become an open source maintainer and guide you through the process of creating your open source project, working with contributors, and more. - ## Course Overview The course is divided into X chapters, each covering a different aspect of being an open source maintainer: +### [Intro: Understanding the role of an open source maintainer](/intro.md) ### Additional Information @@ -23,7 +23,7 @@ As this is the beginning of your open source maintainer journey, we've also prov ## Getting Started -To start the course, navigate to the [`intro` file](/01-intro.md) in the repository or visit the [Intro to Open Source with OpenSauced website](https://maintainer.opensauced.pizza/) and start reading! Each chapter builds on the previous one, so we recommend reading them in order. +To start the course, navigate to the [`intro` file](/intro.md) in the repository or visit the [Intro to Open Source with OpenSauced website](https://maintainer.opensauced.pizza/) and start reading! Each chapter builds on the previous one, so we recommend reading them in order. As you work through the course, we encourage you to experiment with the tools and concepts covered in each chapter. The best way to learn is by doing, so try contributing to an open source project or building your project from scratch! From 4973455c7b167c9268415d7d7cf1ceb4dec020fb Mon Sep 17 00:00:00 2001 From: jdwilkin4 Date: Sat, 9 Dec 2023 21:17:48 -0800 Subject: [PATCH 3/3] fix: capitalization errors --- intro.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/intro.md b/intro.md index b303000..ff296dd 100644 --- a/intro.md +++ b/intro.md @@ -1,30 +1,30 @@ -# Understanding the role of an open source maintainer +# Understanding the Role of an Open Source Maintainer Being an open source maintainer can be a very gratifying and rewarding experience. But there is a lot of work that goes into maintaining an open source project. As a maintainer you will have many responsibilities including being a contributor, leader, mentor, and community manager. This course will provide you with a comprehensive overview of a maintainer's role, including insights into daily tasks, long-term responsibilities, and the overall impact of a maintainer in an open-source project. -## What is an open source maintainer? +## What is an Open Source Maintainer? An open source maintainer is responsible for maintaining the health and success of a project. Maintainers help to define the project's goals, work with other contributors, help to build a community around the project and uphold the project's quality standards. -### Guiding contributors and providing feedback +### Guiding Contributors and Providing Feedback Being able to work with contributors from all backgrounds is an important skill to develop as a maintainer. Some contributors will be seasoned developers that are interested in getting started with your project. While others will be new to open source and development in general. So it is important to have good communication with your contributors. Working with contributors will include assisting them with any blockers they might have and providing constructive feedback so they can grow and strengthen their contributions to your project. -### Fostering a welcoming and inclusive community +### Fostering a Welcoming and Inclusive Community Not all open source communities are welcoming and inclusive which can deter people from wanting to participate in open source at all. So it is important to remember to always lead with kindness, patience and understanding. People are volunteering their time to contribute to your project with the intention of helping it grow. By setting a standard that your community is inclusive and helpful to everyone, that will trickle down to all community members and create a community that contributors will want to be a part of. -### Ensuring the reliability and stability of the project +### Ensuring the Reliability and Stability of the Project It is maintainer's responsibility to review and maintain the project to the existing quality standards. When you receive a pull request, it is your responsibility to make sure that all of the tests are passing and the feature or fix is working as expected. It is also important to check and make sure that the new changes do not accidentally break something else in the project. Having a good testing suite and process will help with that. -## Benefits of being a maintainer +## Benefits of Being a Maintainer There are many benefits to being an open source maintainer including career, leadership and personal growth. @@ -34,13 +34,13 @@ As a maintainer, you are in a leadership position helping to guide contributors Being a maintainer also helps you grow your technical skills. You will be responsible for making contributions, reviewing pull requests, writing technical articles about your project and possibly giving technical talks at conferences. -### Networking opportunities +### Networking Opportunities Building relationships in the tech industry is a great way to connect with talented technologists from around the world and advance your career. By working with other contributors you will get to learn from them and they will get to see your leadership and technical abilities. There have been many instances where long term open source relationships have turned into possible business ventures or future job opportunities. And if your project ends up being used by a lot of people, then you will be able to connect with a larger group of technologists. -## Challenges of being an open source maintainer +## Challenges of Being an Open Source Maintainer While there are many benefits to being an open source maintainer, it is not always an easy job to do. Here are a few challenges that maintainers face: @@ -52,21 +52,21 @@ If you are feeling overwhelmed by the workload and getting close to burnout, it When it comes to identifying possible new maintainers, you will want to look for contributors who have been invested in the project for a period of time and go above and beyond. Most contributors, will be casual contributors to your project which is fine. But there will be those who will regularly contribute and start to integrate more into the community. Those are the individuals you will want to reach out to for recruiting them to be a maintainer. -### Dealing with loneliness +### Dealing with Loneliness The role of a maintainer can sometimes feel lonely and isolating. Most contributors will come and go and you are left still maintaining the project by yourself or with a small group of people. So it is important to get connected with a group of maintainers from a variety of open source projects so you can have a place to discuss your challenges and connect with others. Other maintainers will be able to relate to the challenges you face and will help you through the difficult times. They will also be able to offer suggestions on how to make your project and community better. It is important not to go through the maintainer journey alone. Reach out and connect with others in your same situation so you can grow and learn together. -## Key responsibilities and expectations +## Key Responsibilities and Expectations The role of the maintainer is a multifaceted one. Here are a few key responsibilities for an open source maintainer. -### Triaging issues +### Triaging Issues Learning how to triage issues is an important skill for any open source maintainer. This involves going through the existing list of open issues and prioritizing them in order of importance. Some open issues will be critical bug fixes, while others might be nice to have feature requests. Sometimes you might have issues opened for things that are not a right fit for the project. -### Reviewing pull requests +### Reviewing Pull Requests Reviewing pull requests is an important part of a maintainer's job. It is the maintainer's responsibility to ensure that the suggested code or documentation update meets the projects standards and doesn't introduce any new issues for the project. You will also need to work with the contributor to unblock them on issues they have or help them resolve failing tests.