Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributing to Crossplane should be easy #5637

Open
6 tasks
jbw976 opened this issue Apr 29, 2024 · 2 comments
Open
6 tasks

Contributing to Crossplane should be easy #5637

jbw976 opened this issue Apr 29, 2024 · 2 comments
Labels
community enhancement New feature or request project management roadmap Issues that have priority and are included in the roadmap, or are candidates to add to the roadmap
Milestone

Comments

@jbw976
Copy link
Member

jbw976 commented Apr 29, 2024

What problem are you facing?

For motivated community members that want to contribute to Crossplane, there is a learning curve and some obstacles that they must clear.

This is a high level roadmap item for contributor enablement, i.e. to make it easy for folks to get involved and contribute to Crossplane.

We should look at this from many dimensions, not just code contributions. There are lots of areas for folks to get involved and contribute to the project, and we should invest in all of them. The more productive the community is, the more successful the project can be.

How could Crossplane help solve your problem?

We should invest in many areas of the project to help folks get more involved.

Tasks

  1. community enhancement project management
  2. bug build test
@jbw976 jbw976 added enhancement New feature or request project management community roadmap Issues that have priority and are included in the roadmap, or are candidates to add to the roadmap labels Apr 29, 2024
@jbw976 jbw976 added this to the v1.17 milestone Apr 29, 2024
@enesonus
Copy link
Contributor

enesonus commented May 5, 2024

I don't have many contributions to the Crossplane project yet but IMO the general experience was great mostly due to the welcoming behavior of the members.

My first PR was about self hosting the Renovate bot and I didn't interact with go code but due to the nature of the task I needed to communicate with some maintainers. Honestly this part was great, special thanks to @phisco for his help.

The ongoing issue I am working on is more code intense and I had some fractions while trying to set up my project and I have some recommendations for those:

  1. The Contributing Guideline is great but I think having the CONTRIBUTING.md redirect to contributing/ is a bit unexpected for a new contributor, at least for me it was. If I am new to any code I always try to look at the guideline when I plan to change some code.
    My instinct to reach the guideline is:
    Click the CONTRIBUTING.md -> ctrl+f the topic I want to read.
    Current state is: Click the CONTRIBUTING.md -> see it tells me to go to contributing/ -> instant frustration due to forgetting the redirection thing -> go to contributing/ -> ctrl+f the topic I want to read.
    I understand redirection is for maintaining a structured documentation for other guides etc. but maybe stating something like “For more please see contributing/” or “If you didn’t find what you are looking for see contributing/” at the top of CONTRIBUTING.md and including the contents of contributing/README.md to CONTRIBUTING.md would be better for people like me.

  2. The project and the documentations are great but I feel like having a demo project that showcases the usage of Crossplane would be very helpful for a newcomer to understand what crossplane does and how people might benefit from it. Demo projects that just work and show the usage of the tools are very powerful both for understanding the project and as a reference in my opinion. I think @negz’s crossplane-scale is a very nice repo and as far as I know Nic has other repos for some features like functions. If there was a repository, or perhaps a doc containing other people's sample repositories that has working examples dedicated to a feature, this would be a great reference for new contributors to see how a working example function and what the architecture behind it is. For example, the OpenTelemetry Demo project was very helpful for me to understand what happens under the hood and why an organization should use OpenTelemetry. This understanding might drive people to help the maintainers improve the project further. Also see Hot R.O.D. of Jaeger.

  3. At the Establishing a Development Environment's kind.sh we can install and upgrade the helm but I think getting some parameters at the helm-upgrade and helm-install would be great. For example I needed to pass the --enable-cached-compositions flag and the only way to do this was by adding it to the script manually or doing an helm upgrade every time I run the script. I am planning to open a PR that accepts parameters as 3rd argument (2nd is for namespace) to this script.

@yordis
Copy link

yordis commented May 5, 2024

I strongly recommend following https://diataxis.fr/ that documentation framework has been proven for many years (research about its history),

Putting emphasis on How-to Guides vs. Explanations;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community enhancement New feature or request project management roadmap Issues that have priority and are included in the roadmap, or are candidates to add to the roadmap
Projects
Status: Backlog
Development

No branches or pull requests

3 participants