On Fri, Dec 13, 2019 at 8:05 AM Gregory Nutt <spudan...@gmail.com> 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

Reply via email to