home-assistant / architecture

Repo to discuss Home Assistant architecture
313 stars 100 forks source link

What is the procedure or system for getting changes approved and integrated #465

Closed davesmeghead closed 3 years ago

davesmeghead commented 3 years ago

Context

I need some help and guidance please as I haven't been able to find what I'm looking for on the guides or forums. I posted a couple of issues over 2 weeks ago and have had no responses and no discussion. I realise that things take time but I'm now wondering what I should do as this is my first adventure in trying to get changes approved in the Home Assistant core. I'm also the author of the custom visonic alarm panel integration that includes several python source files and I already have the development environment setup with this integration as part of the core that I am running myself. I realise that a new integration is different to changing the core code but my experience so far is rapidly turning me off to try and make a contribution, in my head I think that I can't even get a few lines of code accepted.

Proposal

A couple of things that would help me (and maybe others)

  1. A guide that helps with changes that affect both the backend and frontend at the same time. I admit that the original pull request I made was for the backend to put things in place in order for the frontend to be updated. If a proposed change affects both, what happens?
  2. What happens when a proposed architecture issue on here does not get a discussion? I assume that no discussion does not imply acceptance so what happens. Frenck suggested I make a discussion issue after I made my initial pull request to modify the backend, saying that it needs discussion first, what happens now?

Consequences

Worst case is that potential experienced and good contributors are turned away, and Home Assistant is the worse for it. I believe that my visonic integration is ready for inclusion in to the core release and that there were a couple of improvements to the core that I thought would be really useful.

Please take the above in a positive way. I'm new to making Home Assistant pull requests though I'm an experience software engineer with decades of mainly C++, Java, Javascript and python, but I'm really struggling with how to make a positive contribution.

MartinHjelmare commented 3 years ago

We depend on the community for pull request review and architecture issue discussion. There's no magic fix to solve the issue that we have more incoming requests than people spending time to address those requests.

MartinHjelmare commented 3 years ago

If a feature depends on multiple different repositories, all PRs should be linked to each and the merge should happen in the correct order. Usually that means the core PR first, then the frontend and documentation PRs.