TLDNR; But you really should. Because I will ask for some discussion and votes on the subject matter.
We all come from different places in the world. We all have had different experiences. We all have learned different things. We all have learned in different ways. We all have different communication styles. We all have different skills, abilities and deficits. Therefore I wonder if we have a different understanding of what a software Community is Here we are in this new environment, trying to build a community. I spent time looking at the definition of community. The English dictionary was not much help when it comes to describing a software community. I am sure that as, we all have, I have picked up things concepts, tools etc over the years. I like to share them when they help me. I recently posted a topic of "Are you failure with the HAM Story?" [0], Anyways I digress, but I want to give this community some insight into my thought process and why the hell dyslectic would spend 4.25 hours writing this. Okay maybe it was the insomnia and expresso :) But I tend to want to understand the root cause of things, discuss them and get feedback on them. So here goes. I tend to be very eclectic. This comes from a combination of my skills and limitations. I best categorize myself as an "LC with an LD" ([1,2] ,[3]) and therefore I am king of typos - Thank God for Nathan! Given that this is an Apache Project (podling) and we will be using GitHub I tasked Google with “what is an Apache software community” and “how does GitHub Define community” to provide me a place to start. For Apache I found this: “Mission: The Community Development project creates and provides tools, processes, and advice, to help open source software projects improve their own community health.” hmm ok, “Hey Google site:apache.org community health” It lead me to this: Community Development and Mentoring. It had a link Project Community Health Tips that required a password - My Apache ID worked Cool! Results we, well How do I express this? hmmm...Disappointing. It appears the condition to judge the health of an Apache project is the amount of email. The number of releases, the number of additions to DLAP and the number of invitations to new committers. So from an Apache standpoint based on our email alone - NuttX is rocking it. :) “Hey Google: how does GitHub Define community” lead me to [4] lead me to "GitHub Community Guidelines" Building a strong community “The primary purpose of the GitHub community is to collaborate on software projects. We want people to work better together. Although we maintain the site, this is a community we build together, and we need your help to make it the best it can be.” Collaborate! How do we Collaborate? Is this endless stream of emails collaboration? Personally I think not. Don't get me wrong there are some real Gems:Great ideas and thoughts, but because of the nature of the tools we are using there's not a “lot of babies in this bath water[6]”. Is it imperative that we document discussions and decisions for ASF In the open? Yes. But since we are all members of GitHub now. We do not need to be receiving duplicate emails for the purpose of fulfilling the archives requirement of ASF or project health. [Needs discussion & a vote] A simple way to fulfill our requirements is to have github's issues and pull requests forwarded to a set of lists. Issues, pr, and commits. I think this was already suggested by some of the PPMC. Personally I will not be subscribing to any of them. I get the emails from GitHub one copy and the benefit of directed filtering (use the @) is enough. [Needs discussion & a vote] Do we want to use @NuttxPMC or @<username> to get attention? On the github organizations (aka projects) I have been a member of, we collaborate via github tools and in the repository. Recently ,I had a long debate with a colleague about using branches in an organization’s project repository. I was also scolded for doing this. But in my github experiences it is not wrong, but encouraged to promote collaboration. I believe that the mindset of how to use Version Control has been influenced by the evolution of Version Control systems [5], corporate policy and peoples experience with them in the era they started. using them. I will not start back at paper tapes nor 8 inch floppy disks being kept in the fireproof file cabinet. Nor will I address IP protection. SCCS ->RCS->CVS->perforce->SVN->git In the Github organizations that I have been involved in, the members of the community are relatively young (I am not) and started in the git era. These organizations give admin rights to the core dev team (PPMC) and write access to committers. The members do create branches in the repository to share and collaborate on. There are many reasons to do this: Some of them are social. Some of them are about trust, Some of them are about how we perceive our community but mostly it is about collaboration. Yes it is true that we can all do PR from are own github forks. But why should act as a collection of outside contributors and do that? How do we collaborate at the coding level with our fellow PPMC members and committers? Comments (even the GH suggested changes) on a PR only get you so far, discussion and the ability to push commit makes collaboration complete. This type of collaborative committing is exactly the relationship we had used with Greg. But it was not community collaboration. It was peer-to-peer and a lot of times done in private. I was only public for discussion after it hit master. I agree with this way of adding value to contributions: Use the subject matter experts to maximize value, but I feel we should expand on it. I don't agree with doing this on master. Branches and PRs can only be effectively worked on collaborative in the project repo - otherwise it is a Fork and we will be forced to have N way peer-to-peer. relationships with our PMC and committers. Why force that if we want to collaborate? I believe we should build an effective efficient and productive workfkow and our team. Otherwise the project will implode as a result of the amount of effort required on our parts will exceed our available time to accomplish quality work. (Hats off to Greg - it is amazing what you have accomplished) [Needs discussion & a vote] PRs are on branches in the project repo. [Needs discussion & a vote] branches support a naming convention. [0] https://lists.apache.org/list.html?dev@nuttx.apache.org:lte=1M:HAM [1] [https://www.goodreads.com/quotes/7778966-i-divide-my-officers-into-four-classes-as-follows-the [2] https://news.clearancejobs.com/2019/10/08/the-four-classes-of-military-officers-or-office-workers-clever-diligent-stupid-and-lazy/ [3] http://www.ldonline.org/ldbasics/whatisld [4] https://help.github.com/en/github/site-policy/github-community-guidelines [5] https://www.lynda.com/ALMTFS-tutorials/history-version-control/106788/115979-4.html [6] https://en.wikipedia.org/wiki/Don%27t_throw_the_baby_out_with_the_bathwater