Re: Atomic git tagging (was RE: Project Emails)

2019-12-19 Thread Alin Jerpelea
Hi all,

I am against submodules !

If we implement submodules things will be harder on downstream projects
we guided downstream projects to integrate their own apps folder and
include our apps in their apps
http://www.nuttx.org/doku.php?id=wiki:nshhowtos:external-applications

Regards
Alin



On Fri, Dec 13, 2019 at 10:12 AM David Sidrane 
wrote:

> Greg,
>
> I think the below steps will do a an atomic tag/branch (Branch protections
> may be needed as well)
>
> However, it exemplifies why Submodules are evil but useful.  A much simpler
> approach is 2 folder is the same project - I am aware of ALL the arguments
> -
> I agree with most of them but there are dependency on nuttx to apps from
> all
> the defconfig files and nsh)
>
> First question I would poll the community is: "How many of you do not use
> the apps folder?"
>
> --
>
> NuttX  - is the Knot repo.
> Apps is a sub module
> Nuttx is a sub module
>
> origin is the remote for NuttX, apps and nuttx
>
> cd NuttX
> git checkout master
> git submodule sync --recursive && git submodule update --init --recursive
>
> git checkout -b master_imx_network_fixes
> cd nuttx
> git checkout -b master_imx_network_fixes
> cd ../apps
> git checkout -b master_imx_network_fixes
>
> cd ../nuttx
> Do all your changes.
> git add ...
> git commit  ...
> git push origin master_imx_network_fixes
>
> cd ../apps
> Do all your changes.
> git add ...
> git commit  ...
> git push origin master_imx_network_fixes
>
> cd .. (NuttX)
> git add apps nuttx
> git commit  ...
>
> git tag -a nuttx-yada -m "my version 1.4"
> git push origin nuttx-yada
> 
>
>
> David
>
> -Original Message-
> From: Gregory Nutt [mailto:spudan...@gmail.com]
> Sent: Thursday, December 12, 2019 7:05 PM
> To: dev@nuttx.apache.org
> Subject: Re: Project Emails
>
>
> > How about sub modules? We atomically tag across both to keep the project
> > in
> > proper synchronization.
>
> Some of these things are difficult to discuss at this point in time
> because we not have enough Apache knowledge and experience. What I have
> seen from following the release emails is the release will go through
> several release candidates before before a final release is made.
> Tagging releases as NuttX did in the past won't support that.  I believe
> that you would have to use branches to support a series of release
> candidates until the release is made (and perhaps even to support
> further releases on the branch for bug fixes).
>
> We can't really branch across sub-modules, can we?  I think we need to
> know much more before we could take any clear position on this.
>
> Greg
>


Re: Atomic git tagging (was RE: Project Emails)

2019-12-14 Thread Gregory Nutt



  I am trying to get everything moved to apache.org, bit at a 
time. Slack channels are shutting down, the word is slowly getting out 
in the Google group.  ..


I have removed the Slack application from most of my machines.  I have 
deactivated the accounts of all Inactive members.  I will no longer 
login -- except to deactivate members as they become inactive.  When all 
members are dactivated, I will delete the Slack altogether.  People just 
have to stop using it and I will assure that it goes aware in its entirety.


Greg





Re: Atomic git tagging (was RE: Project Emails)

2019-12-14 Thread Gregory Nutt

Hi, Justin

No, AFAIK, no SGA's have been filed. The wording here is 
https://incubator.apache.org/guides/ip_clearance.html is unclear to me under 
"Establishing Provenance".  Contributor in this case refers to copyright 
holders, I assume?

This only applies to code you are giving to the ASF (it’s actually not a 
transfer of copyright but permission to use), so this would only be the code 
owned by the NuttX project. It doesn’t include 3rd party code in the repo. The 
headers on those files owned by NuttX will change, but the headers of any 3rd 
party code will need to stay the same.

I think the first step if for you to fill out a SGA and will discuss on legal 
discuss if anything else is needed. I think because you were the only person 
with commit right and the headers with your copyright that’s all that would be 
required.


There are several files that will require corporate CLAs, I think, since the 
copy right holders are businesses like Sony or Pinecone.

That’s not required as they are 3rd party files and belong to someone else. 
CCLA in general are not needed by the ASF, they are there because some 
companies require them for their employees to be able to work on OS software.


The signed SGA has been sent to secret...@apache.org.  I do you yet have 
any confirmation.  So I think we can arrange the transfer of the 
repositories as soon as possible.


Thanks for all of your help.  We really need it!

Greg





Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Alan Carvalho de Assis
On 12/13/19, Justin Mclean  wrote:
> Hi,
>
>> Do you know know project which did it in the past?
>
> Not from DocuWiki that I’m aware of. A search of the entire ASF mail
> archives [1] didn’t find anything.
>
> Let wait until Infra get back to us - that may take a day or two.
>

Right, thank you again.

BR,

Alan


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

> Do you know know project which did it in the past?

Not from DocuWiki that I’m aware of. A search of the entire ASF mail archives 
[1] didn’t find anything.

Let wait until Infra get back to us - that may take a day or two.

Thanks,
Justin

1. https://lists.apache.org/search.html

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Alan Carvalho de Assis
Hi Justin,

On 12/13/19, Justin Mclean  wrote:
> Hi,
>
>> It appears there are a converter from DocuWiki to Confluence:
>> https://community.atlassian.com/t5/Answers-Developer-Questions/how-to-import-quot-dokuwiki-quot-to-confluence/qaq-p/526583
>
> Yep I noted that on the JIRA.
>

How could help in this process to migrate the DocuWiki?

Do you know know project which did it in the past?

BR,

Alan


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Alan Carvalho de Assis
Hi Greg,

On 12/13/19, Gregory Nutt  wrote:
>
>> Absolutely, Confluence would be great -- it'd be good place to create
>> live
>> documents and tutorials that could evolve along with the code base...
>
> The original plan was to integrate the existing DocuWiki at nuttx.org to
> Confluence.  If we begin using Confluence in an ad hoc way then I have
> some concern that it will interfere with the clean port of the existing
> Wiki.  My hope is that we could have a clean Confluence website.  Is
> there reason for me to be concerned?
>

It appears there are a converter from DocuWiki to Confluence:

https://community.atlassian.com/t5/Answers-Developer-Questions/how-to-import-quot-dokuwiki-quot-to-confluence/qaq-p/526583

BR,

Alan


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

I really don’t think there will be any issues doing both in parallel so I’ve 
created a confluence space here:
https://cwiki.apache.org/confluence/display/NUTTX

> I have heard that the INFRA team has some special kung-fu for importing Wikis 
> into confluence.  I hope they can handle an old DocuWiki site.
> 
> Is there any way that could be expedited?

For thing like this the process is to raise an JIRA ticket for Infra. I’ve just 
raised one here:
https://issues.apache.org/jira/browse/INFRA-19570

Thanks,
Justin

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt

I will send the SGA this weekend.

Also I am going to try to decouple better.  It is not because I am 
trying be the BDFL, it is just in my nature to "mother hen" software 
projects.  I will be detach and I will let the PPMP form itself with 
less influence from me.  I will try to continue to help when I can, but 
the PPMC must sink or swim based on the focus and motivation of the 
people who wanted to be members, not on my urging.


If I am successful, you will hear less from me on these topics.

Greg

On 12/13/2019 5:17 PM, Justin Mclean wrote:

Hi,


No, AFAIK, no SGA's have been filed. The wording here is 
https://incubator.apache.org/guides/ip_clearance.html is unclear to me under 
"Establishing Provenance".  Contributor in this case refers to copyright 
holders, I assume?

This only applies to code you are giving to the ASF (it’s actually not a 
transfer of copyright but permission to use), so this would only be the code 
owned by the NuttX project. It doesn’t include 3rd party code in the repo. The 
headers on those files owned by NuttX will change, but the headers of any 3rd 
party code will need to stay the same.

I think the first step if for you to fill out a SGA and will discuss on legal 
discuss if anything else is needed. I think because you were the only person 
with commit right and the headers with your copyright that’s all that would be 
required.


There are several files that will require corporate CLAs, I think, since the 
copy right holders are businesses like Sony or Pinecone.

That’s not required as they are 3rd party files and belong to someone else. 
CCLA in general are not needed by the ASF, they are there because some 
companies require them for their employees to be able to work on OS software.

Thanks,
Justin


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

> The original plan was to integrate the existing DocuWiki at nuttx.org to 
> Confluence.  If we begin using Confluence in an ad hoc way then I have some 
> concern that it will interfere with the clean port of the existing Wiki.  

I don’t think there will be any issues along those lines, any new pages can be 
moved into an any imported space.

Thanks,
Justin

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

> No, AFAIK, no SGA's have been filed. The wording here is 
> https://incubator.apache.org/guides/ip_clearance.html is unclear to me under 
> "Establishing Provenance".  Contributor in this case refers to copyright 
> holders, I assume? 

This only applies to code you are giving to the ASF (it’s actually not a 
transfer of copyright but permission to use), so this would only be the code 
owned by the NuttX project. It doesn’t include 3rd party code in the repo. The 
headers on those files owned by NuttX will change, but the headers of any 3rd 
party code will need to stay the same.

I think the first step if for you to fill out a SGA and will discuss on legal 
discuss if anything else is needed. I think because you were the only person 
with commit right and the headers with your copyright that’s all that would be 
required.

> There are several files that will require corporate CLAs, I think, since the 
> copy right holders are businesses like Sony or Pinecone.

That’s not required as they are 3rd party files and belong to someone else. 
CCLA in general are not needed by the ASF, they are there because some 
companies require them for their employees to be able to work on OS software.

Thanks,
Justin

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread David Alessio
> Is there reason for me to be concerned?

Unfortunately, yes.  As much as I like Confluence, if not properly
organized and managed, it can quickly grow into an unnavigable mess.
I suppose it's like anything else we do, it requires a process and
disciplined maintainer...

On Fri, Dec 13, 2019 at 2:42 PM Gregory Nutt  wrote:

>
> > Absolutely, Confluence would be great -- it'd be good place to create
> live
> > documents and tutorials that could evolve along with the code base...
>
> The original plan was to integrate the existing DocuWiki at nuttx.org to
> Confluence.  If we begin using Confluence in an ad hoc way then I have
> some concern that it will interfere with the clean port of the existing
> Wiki.  My hope is that we could have a clean Confluence website.  Is
> there reason for me to be concerned?
>
>
>
>


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt




Absolutely, Confluence would be great -- it'd be good place to create live
documents and tutorials that could evolve along with the code base...


The original plan was to integrate the existing DocuWiki at nuttx.org to 
Confluence.  If we begin using Confluence in an ad hoc way then I have 
some concern that it will interfere with the clean port of the existing 
Wiki.  My hope is that we could have a clean Confluence website.  Is 
there reason for me to be concerned?






Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread David Alessio
Absolutely, Confluence would be great -- it'd be good place to create live
documents and tutorials that could evolve along with the code base...

On Fri, Dec 13, 2019 at 2:02 PM Justin Mclean 
wrote:

> Hi,
>
> > So where in Apache is an appropriate place to put shared documents, the
> Apache public equivalent of my shared drive?  I have been trying to scare
> people into action on this workflow here for days now, but I guess this a
> brave group or just completely blind to what is coming.
>
> Best place is confluence. We would need to set up a space for NuttX but
> that’s easily done. Do you want me to go ahead and do that?
>
> Thanks,
> Justin


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread David Alessio
WRT to this build issue, it used to work without a git repo.  Disclaimer:
I responsible for the original commit, a portion of which Greg reverted
today...

This is a good opportunity to discuss a larger topic -- this is just one
instance of a class of problems that can be minimized [or even avoided]
with the proper process.
I believe that process should be based on the best practices of Bitbucket,
Github, and git.  I may be stating the obvious here, but I'd like to
suggest the following few simple rules:

1. Master should always build and, to the extent possible, "just work
right."

2. all development happens on a specific development branch for one
particular feature or bug.  Features are developed on a branch named
"feature/".  Bug fixes are developed on a branch named
"bugfix/".  Branches and commits must be coherent with
minimal coupling.
 Note: This is important so that commits can be cherry-picked into
other branches and back-ported as hotfixes to previous releases.

3. A pull request triggers a review (review committees TBD according to
domain).  A successful review might be N approvals and no rejections.  In
any case, the testing, debate, and correction happens on that branch before
merge.

4. releases could be managed similarly, as a branch off of Master, i.e.
"release/9.1"  (we're at 8.2.*  IIRC).  If a bug is then discovered in 9.1,
a branch "hotfix/some-silly-bug" would be taken off "release/9.1"

Comments?  [donning flame retardant suit]

Cheers,
-david

On Fri, Dec 13, 2019 at 1:23 PM Nathan Hartman 
wrote:

> To add to the patch-to-merge workflow discussion, an anecdote.
>
> Earlier today I jokingly wrote "For the build system we should
> require more PMC votes than we have PMC members!!"
>
> Soon after, I grabbed the latest updates and tried to build my
> configurations and... the build was broken!
>
> I wrote:
>
> [[[
>
> Uh oh, commit 1c91aec6ae77b49608741e5aa30b8b6876017934 ("tools/ and
> fs/procfs:  Simplify .version file generation") breaks the build if
> not in a git clone:
>
> $ make
> Create .version
> fatal: not a git repository (or any parent up to mount point /home/nate)
> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
> Missing versioning information
> USAGE: tools/version.sh [-d|-h] [-b ] [-v ]
> 
> Try 'tools/version.sh -h' for more information
> make: *** [tools/Makefile.unix:266: /home/nate/nuttx/.version] Error 1
>
> If git is not available or building a copy of NuttX which is not a git
> clone, the create version logic should degrade gracefully in a way
> that does not break the build!
>
> ]]]
>
> Thankfully, Greg fixed this at warp speed with commits
> 3e4450e2376bb99da2ed5a3f0380044ce868e564 and
> 10b8c01abfa58276f006c282e1d88481fb0a4a8e.
>
> The point is, though, that this is precisely why we need to qualify
> what gets into the system. I feel pretty strongly that we can be
> flexible with things like drivers, hacking on architectural support
> for new chips and boards, etc. The impact of bugs or incomplete code
> there will be minimal and those are easy to catch and fix. I would
> like to make it easy for contributors to get their code out there and
> to feel like there's incentive to contribute, and not to put too many
> roadblocks in the way that would become a deterrent for contributors.
>
> BUT!!
>
> The core of the OS and the build system need the highest level of
> qualification. Screwups there are really disruptive!
>
> Problems in the build system might quickly become apparent.
>
> Problems in the core OS could go undetected until intermittent
> problems that are extremely hard to trace appear in the field. Since
> NuttX goes to places like space, "in the field" might be kind of,
> slightly, REALLY far away!
>
> So we definitely need to continue discussing what process changes to
> these critical parts should undergo on their way into NuttX.
>
> Cheers,
> Nathan
>


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt



Has the SGA been filled in and submitted?


No, AFAIK, no SGA's have been filed. The wording here is 
https://incubator.apache.org/guides/ip_clearance.html is unclear to me 
under "Establishing Provenance".  Contributor in this case refers to 
copyright holders, I assume?  The BSD headers list only copy right 
holders and authors.  I suppose on the copyright holder can contribute 
software.  Often there are numerous authors but only one copyright holder.


Well, the good news is this will slow things down quite a bit so next is 
probably not the week that the Tsunami hits.


There are several files that will require corporate CLAs, I think, since 
the copy right holders are businesses like Sony or Pinecone.


The PPMC needs to take this up and coordinate it.






Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

> that we are playing chicken with putting critical processes in place and 
> making the transition to Apache repositories.  That transition supposed to 
> happen next week, right?

It happens when the PPMC decided for it to happen. But first the SGA needs to 
de accepted [1] and then we may need to talk about if we need ICLA from the 
contributors or not.[2]

Has the SGA been filled in and submitted?

Thanks,
Justin

1, https://www.apache.org/licenses/contributor-agreements.html#grants
2. https://www.apache.org/licenses/contributor-agreements.html#clas

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Justin Mclean
Hi,

> So where in Apache is an appropriate place to put shared documents, the 
> Apache public equivalent of my shared drive?  I have been trying to scare 
> people into action on this workflow here for days now, but I guess this a 
> brave group or just completely blind to what is coming.

Best place is confluence. We would need to set up a space for NuttX but that’s 
easily done. Do you want me to go ahead and do that?

Thanks,
Justin

Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt



What is coming is 10-30 patches per day.  When the Apache repositories 
are set up.  I will cease processing all changes. All PRs and patches 
that I receive will be forwarded to this email.  It is then the PPMC's 
total responsibility to deal with them.  Drop the ball for one day and 
you will be behind 10-30 commits.  Drop the ball for ten more days and 
you will be 100-300 commits behind.  That will be a crisis!
There are slower times and busier times for commits.  It changes like 
the seasons.  It changes during the week as well.  Fridays, Saturdays, 
and Sundays are usually lighter.  Today, Friday the 13th, there were 
only 8 commits.





Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt




So we definitely need to continue discussing what process changes to
these critical parts should undergo on their way into NuttX.


I think "continue" is generous.  I don't think the discussion has 
successfully even gotten off the ground.  It is a looming crisis that is 
going hit us like a Tsunami in just a handful of days. And there seems 
to be no focused concern.  There is feeble attempt at  work flow 
document on a shared Google drive (I just gave you access).   But there 
seems to be no interest.  It is in terrible shape, it is incomplete and 
unread-able.  has had only three edits since it was created two weeks 
ago.  Clearly a lack of interest in digging in.


So where in Apache is an appropriate place to put shared documents, the 
Apache public equivalent of my shared drive?  I have been trying to 
scare people into action on this workflow here for days now, but I guess 
this a brave group or just completely blind to what is coming.


What is coming is 10-30 patches per day.  When the Apache repositories 
are set up.  I will cease processing all changes. All PRs and patches 
that I receive will be forwarded to this email.  It is then the PPMC's 
total responsibility to deal with them.  Drop the ball for one day and 
you will be behind 10-30 commits.  Drop the ball for ten more days and 
you will be 100-300 commits behind.  That will be a crisis!




Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Nathan Hartman
To add to the patch-to-merge workflow discussion, an anecdote.

Earlier today I jokingly wrote "For the build system we should
require more PMC votes than we have PMC members!!"

Soon after, I grabbed the latest updates and tried to build my
configurations and... the build was broken!

I wrote:

[[[

Uh oh, commit 1c91aec6ae77b49608741e5aa30b8b6876017934 ("tools/ and
fs/procfs:  Simplify .version file generation") breaks the build if
not in a git clone:

$ make
Create .version
fatal: not a git repository (or any parent up to mount point /home/nate)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Missing versioning information
USAGE: tools/version.sh [-d|-h] [-b ] [-v ] 
Try 'tools/version.sh -h' for more information
make: *** [tools/Makefile.unix:266: /home/nate/nuttx/.version] Error 1

If git is not available or building a copy of NuttX which is not a git
clone, the create version logic should degrade gracefully in a way
that does not break the build!

]]]

Thankfully, Greg fixed this at warp speed with commits
3e4450e2376bb99da2ed5a3f0380044ce868e564 and
10b8c01abfa58276f006c282e1d88481fb0a4a8e.

The point is, though, that this is precisely why we need to qualify
what gets into the system. I feel pretty strongly that we can be
flexible with things like drivers, hacking on architectural support
for new chips and boards, etc. The impact of bugs or incomplete code
there will be minimal and those are easy to catch and fix. I would
like to make it easy for contributors to get their code out there and
to feel like there's incentive to contribute, and not to put too many
roadblocks in the way that would become a deterrent for contributors.

BUT!!

The core of the OS and the build system need the highest level of
qualification. Screwups there are really disruptive!

Problems in the build system might quickly become apparent.

Problems in the core OS could go undetected until intermittent
problems that are extremely hard to trace appear in the field. Since
NuttX goes to places like space, "in the field" might be kind of,
slightly, REALLY far away!

So we definitely need to continue discussing what process changes to
these critical parts should undergo on their way into NuttX.

Cheers,
Nathan


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt




No, the APPSDIR is configure-able.  The default configurations all use
../apps/ for APPSDIR because there are not other apps in the
repositores.  There have been many discussions on the old forums on how
to use custom applications, so I know end users actually do that.  I
know, for example, that many users do not use NSH (which the most
popular thing in apps/).

Consider also:

http://www.nuttx.org/doku.php?id=wiki:nshhowtos:external-applications
http://www.nuttx.org/doku.php?id=wiki:nshhowtos:custom-appsdir

+1.

Case in point: Some of my boards use NSH, others don't, depending
on the application.
Many people people using NuttX in deeply embedded control systems with 
no possibility of a UI use NuttX with no NSH, and presumably with no 
apps/ since there is little in apps/ relevant to that kind of system.  
apps/ needs to be an option that you can use with complete flexibility 
with apps/, with contained apps, with extended apps/, with replacement 
apps/, ... basically as described in the first reference above.

The PPMC should
make all decisions based on sound reasonbing.  I personally would be
very opposed to anything which corrupts the clean OS architecture by
coupling it with any application.

+1.

It is *crucial* to keep that clean OS architecture.

More below...
Absolutely.  We are all professionals.  That is a fundamental 
responsibility of being a professional.


Before we can ever make a release, we first have to answer the
question of how do changes even get committed?

This is a question of project policies, which should be discussed,
decided upon, and very importantly: documented.

We shouldn't rush to come up with a policy. Rather, we should study
the policies of other Apache.org projects to get some ideas first. For
example, are we CTR (Commit Then Review) or RTC (Review Then Commit)?
Do we have a mix of these two types depending on the area of the
repository? Perhaps drivers (like SPI drivers for a particular MCU) or
architectural support (where it is likely that only one of us has
expertise in that particular architecture) are CTR, whereas changes
that affect the core OS or build system require RTC with a vote and
three +1s and no -1s to get merged. (For the build system we should
require more PMC votes than we have PMC members!! Just kidding.)


I wonder if it would be of value to have some dialog with Mynewt.  They 
deal with releases from multiple GIT repositories and have a lot in 
common with NuttX.  In my contacts with Mynewt folk in the past, they 
were friendly and helpful.


We do have to come up with some basic workflow for how a patch that 
appears in dev@nuttx.apache.org gets reviewed, verified, approved and 
incorporated onto the master.  The time when we need that basic workflow 
is days away.  We need to agree on the sequence of events that must 
occur (not on tools and implementations of those events).  It is likely 
that we might have to have a sub-team managing the workflow manually 
until we are fully tooled up.


Greg



Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Nathan Hartman
On Fri, Dec 13, 2019 at 8:05 AM Gregory Nutt  wrote:
> Let's fully understand the release process before proposing a solution.

+1.

More below...

> No, the APPSDIR is configure-able.  The default configurations all use
> ../apps/ for APPSDIR because there are not other apps in the
> repositores.  There have been many discussions on the old forums on how
> to use custom applications, so I know end users actually do that.  I
> know, for example, that many users do not use NSH (which the most
> popular thing in apps/).
>
> Consider also:
>
> http://www.nuttx.org/doku.php?id=wiki:nshhowtos:external-applications
> http://www.nuttx.org/doku.php?id=wiki:nshhowtos:custom-appsdir

+1.

Case in point: Some of my boards use NSH, others don't, depending
on the application.

More below...

> The PPMC should
> make all decisions based on sound reasonbing.  I personally would be
> very opposed to anything which corrupts the clean OS architecture by
> coupling it with any application.

+1.

It is *crucial* to keep that clean OS architecture.

More below...

> This discussion is really all about a proposed shortcut for a release (a
> release that we do not yet understand).  I would say two things about
> that:  (1) I don't think we should take shortcuts to releases (and we
> certainly should not sacrifice the integrity of the OS just to use a
> shortcut) -- that is one of the "enemies" of good system design.  And
> (2) we really need to understand and document the release procedure
> BEFORE we begin proposing solutions, especially solutions that have long
> reachable negative impacts.
>
> Tradeoffs are a necessary part of getting things done and all trade-offs
> involve compromising between two things, one that you like and one that
> you dont like.  We may have to compromise things to achieve what we
> want, but now is not the time.  But remember that "premature
> optimization is the root of all evil."

Before we can ever make a release, we first have to answer the
question of how do changes even get committed?

This is a question of project policies, which should be discussed,
decided upon, and very importantly: documented.

We shouldn't rush to come up with a policy. Rather, we should study
the policies of other Apache.org projects to get some ideas first. For
example, are we CTR (Commit Then Review) or RTC (Review Then Commit)?
Do we have a mix of these two types depending on the area of the
repository? Perhaps drivers (like SPI drivers for a particular MCU) or
architectural support (where it is likely that only one of us has
expertise in that particular architecture) are CTR, whereas changes
that affect the core OS or build system require RTC with a vote and
three +1s and no -1s to get merged. (For the build system we should
require more PMC votes than we have PMC members!! Just kidding.)

As an example, here's the document from my other Apache.org project:

https://subversion.apache.org/docs/community-guide/

That document covers coding conventions, release procedures, voting on
changes, and many other policy issues.

We can use that as a template of what needs to be covered in our
document.

Nathan


Re: Atomic git tagging (was RE: Project Emails)

2019-12-13 Thread Gregory Nutt




I think the below steps will do a an atomic tag/branch (Branch protections
may be needed as well)
Let's fully understand the release process before proposing a solution.  
That sounds like a disaster.

However, it exemplifies why Submodules are evil but useful.  A much simpler
approach is 2 folder is the same project - I am aware of ALL the arguments -
I agree with most of them but there are dependency on nuttx to apps from all
the defconfig files and nsh)


No, the APPSDIR is configure-able.  The default configurations all use 
../apps/ for APPSDIR because there are not other apps in the 
repositores.  There have been many discussions on the old forums on how 
to use custom applications, so I know end users actually do that.  I 
know, for example, that many users do not use NSH (which the most 
popular thing in apps/).


Consider also:

http://www.nuttx.org/doku.php?id=wiki:nshhowtos:external-applications
http://www.nuttx.org/doku.php?id=wiki:nshhowtos:custom-appsdir

I don't think simple is particularly strong argument.


First question I would poll the community is: "How many of you do not use
the apps folder?"


This is an internal architectural decision and I don't think it is an 
issue that involves any kind of community vote.  That is how we got 
Trump, we get a dictatorship of the uninformed majority. The PPMC should 
make all decisions based on sound reasonbing.  I personally would be 
very opposed to anything which corrupts the clean OS architecture by 
coupling it with any application.


This discussion is really all about a proposed shortcut for a release (a 
release that we do not yet understand).  I would say two things about 
that:  (1) I don't think we should take shortcuts to releases (and we 
certainly should not sacrifice the integrity of the OS just to use a 
shortcut) -- that is one of the "enemies" of good system design.  And 
(2) we really need to understand and document the release procedure 
BEFORE we begin proposing solutions, especially solutions that have long 
reachable negative impacts.


Tradeoffs are a necessary part of getting things done and all trade-offs 
involve compromising between two things, one that you like and one that 
you dont like.  We may have to compromise things to achieve what we 
want, but now is not the time.  But remember that "premature 
optimization is the root of all evil."