It is documented. Look at the file "CONTRIBUTE" in the root of the Emacs source.
That file is also cited in the manual: https://www.gnu.org/software/emacs/manual/html_node/emacs/Co...
And that manual page is the first Google result for "contributing to emacs".
This nice, but I have screwed around with open source for a long time. So, things like:
> Ref: The "Tips" Appendix in the Emacs Lisp Reference.
Example Novice (not me in this case): How do I get to that?
> After you have downloaded the repository source, you should read the file INSTALL.REPO for build instructions (they differ to some extent from a normal build).
> Ref: http://savannah.gnu.org/projects/emacs
Example Novice (not me in this case): What am I downloading from there? I guess I will go visit that page.
> See the existing ChangeLog files for format and content. Note that, unlike some other projects, we do require ChangeLogs also for documentation, i.e. Texinfo files.
> Ref: "Change Log Concepts" node of the GNU Coding Standards Info Manual, for how to write good log entries.
Example Novice (not me in this case): What the hell is Texinfo?
My point is this is a good high-level view. It asks me to visit half a dozen different manuals and asks I fill out a CLA.
I am not saying this is even god awful by open source standards, it is good. The problem is I am on the tail end of Linux/FLOSS culture, where a lot of people want more tooling and less learning. I know that is asking a lot. I give counter-examples in this space (Fedora, Mozilla, Start-a-flame-with-Node-NPM-dev-groups) and more focus on onboarding and get on the ground running.
Re your point on Google, I am embarassed. I looked up on DDG, and with !g for Google "emacs volunteer" "emacs hack" initially and never found these documents at first. I later did, but cloning the code is not where I see the issue here.
This stuff does not inhibit me from contributing. The problem with Linux and emacs is I must spam many thousands of people with git patches via email, and I want a way to build a reliable system in a VM or container without shitting all over my system emacs (it is a shell and editor for me) and finding a mentor so I do not get yelled at for spamming THOUSANDS of veteran Emacs devs I respect. I do not want every to use the damn Vagrantfile, but I would an emacs novice devel list or wiki or anything where I can build up to being one of those people, with simplified environments, and admit I need training wheels to contribute to one of the oldest and most important active FLOSS projects in existence. I know I demand a lot, but you seem to know this stuff. In my position, would you contribute a patch without anyone else helping you just given this material and not expect nastygrams back?
Yes, we have a CONTRIBUTE page that links to a dozen manuals is a good start, but is the kind of reaction that leads to the blog posts we see here. I do not mean to target you, but git clone I can do. Moving from that to being a member of emacs-devel that is not yelled at to the stop screwing up is different.
I find that more intimidating and think that is something worth focusing on.
To be honest, the 'less tooling, more learning' is exactly why I prefer the GNU culture. It keeps inessential complexity down. A lot of people are broadly in my side of the boat, and it's a major part of why we're here...
Again, this on me. I listened to Wiegley talk, and wanted to get involved. I looked into one weekend, but did not follow up. I need to stay committed. I like the history and culture of GNU as an outsider, and this is why I wanted to get more involved in Emacs.