public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: "Yao, Jiewen" <jiewen.yao@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"gaoliming@byosoft.com.cn" <gaoliming@byosoft.com.cn>,
	"Dong, Guo" <guo.dong@intel.com>
Cc: "marcello.bauer@9elements.com" <marcello.bauer@9elements.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"'Leif Lindholm (Nuvia address)'" <leif@nuviainc.com>,
	"Doran, Mark" <mark.doran@intel.com>,
	'Andrew Fish' <afish@apple.com>,
	"Guptha, Soumya K" <soumya.k.guptha@intel.com>
Subject: Re: [edk2-devel] more development process failure [was: UefiPayloadPkg: Runtime MMCONF]
Date: Thu, 17 Sep 2020 12:26:32 +0200	[thread overview]
Message-ID: <f4112782-0fa4-b164-de3e-a438db926c1a@redhat.com> (raw)
In-Reply-To: <CY4PR11MB1288B90FC46FB96DFA5642B28C3E0@CY4PR11MB1288.namprd11.prod.outlook.com>

On 09/17/20 09:31, Yao, Jiewen wrote:
> Laszlo
> I like your description to compare the process with the programming language and software design. We have to clean up the resource.
> 
> Please allow me to point out, this is the exactly the issue we are having today.
> 
> 1) Take buffer overflow as an example. It has been there for 30 years. We have enough books and papers talking about it. Today, people are still making mistakes. Why? Because C language is not type safe, there is NO enforcement.
> That is why many people like other type safe language. If you are trying to make mistake, the compiler will tell you that you are making mistake.

This will sound more convincing once we have Rust (or something similar)
in a mainstream OS kernel or mainstream firmware.

> 2) Take resource leak as an example. The programming language invented garbage collection. The operating system auto cleaned up application resource after execution.

Same comment as above. I think garbage collection is frequently
considered too opaque for low-level applications (unpredictable
performance and RAM penalties etc).

> 3) People has wrong check in which may break the system. What is why the world invented smoke test and continuous integration.

Yes, I agree.

> *Those are where the inventions come*, to treat human as human being, to prevent people making mistake or teach them automatically. :-)

Thanks, I'm grateful that you use the word "teach" here. I'll reference
it below.

> I agree with the "mythical man-month" that there is no silver bulletin.
> I tend to agree with you on the attitude.
> I am trying to figure if we can do better to help other people (maintainer or contributor). If we really really can do nothing, that is OK.
> I am not sure if is a best way to resolve the problem to just complain in the email.

"Just complaining in email" is in fact my attempt to "teach" people. Not
automatically, but by pointing out examples that I consider good.

Automatisms are already in place for broadcasting good practices.
Bugzilla actions and github actions are propagated via email. People
just need to be receptive and look at the list traffic.

I've contributed to Wiki articles. But asking for more documentation and
more automatisms is just too convenient an excuse. People can and
*should* learn by example, especially if they're seasoned in a project
(not newcomers). Asking for more documentation and more automatisms puts
the burden on people *different* from those that need to improve their
discipline.

It basically means, "I refuse to improve my behavior until *you* find
the time to implement the tools and documentations for me to improve my
behavior". Similarly, "I refuse to handle errors until you give me
exceptions and destructors".

I don't think it's fair to *demand* inventions. Because, I perceive the
goals that I'm advocating for as widely-held values. If we accept them
as such, then the burden should be on people that break those values,
not on the advocates.

(If, on the other hand, we do not have a consensus that these values are
universal, that's OK as well: then I can start ignoring the information
content in the PRs that *I* submit, and save myself significant amounts
of time. See again: double standards.)

> I think you can understand my point. I will stop here.

Yes, I understand. My general response is that inventions are nice and
they should be utilized if someone comes forward and offers them. On the
other hand, demanding inventions (tooling, documentation etc), i.e.,
demanding that the *other* party spend the effort first, as a condition
for changing our attitude, is not fair.

Laszlo


  reply	other threads:[~2020-09-17 10:26 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-18  8:24 [PATCH v5 0/3] UefiPayloadPkg: Runtime MMCONF Marcello Sylvester Bauer
2020-08-18  8:24 ` [PATCH v5 1/3] UefiPayloadPkg: Store the size of the MMCONF window Marcello Sylvester Bauer
2020-08-18  8:24 ` [PATCH v5 2/3] MdePkg: PciExpressLib support variable size MMCONF Marcello Sylvester Bauer
2020-08-20 10:55   ` Liming Gao
2020-08-18  8:24 ` [PATCH v5 3/3] UefiPayloadPkg: Support variable size MMCONF space Marcello Sylvester Bauer
2020-09-08 22:35   ` [edk2-devel] " Guo Dong
2020-09-16  8:56 ` more development process failure [was: UefiPayloadPkg: Runtime MMCONF] Laszlo Ersek
2020-09-16 17:30   ` [edk2-devel] " Guo Dong
2020-09-16 18:14     ` Laszlo Ersek
2020-09-16 21:51       ` Guo Dong
2020-09-17  5:59         ` Laszlo Ersek
2020-09-17  1:49       ` 回复: " gaoliming
2020-09-17  2:31         ` Yao, Jiewen
2020-09-17  6:31           ` Laszlo Ersek
2020-09-17  7:31             ` Yao, Jiewen
2020-09-17 10:26               ` Laszlo Ersek [this message]
2020-09-18  4:39             ` Ni, Ray
2020-09-18  7:37               ` Andrew Fish
2020-09-26  0:34                 ` Guo Dong
2020-09-27  1:44                   ` 回复: " gaoliming
2020-09-27 17:29                     ` Guo Dong
2020-09-28 17:55                   ` Laszlo Ersek
2020-09-29  4:13                     ` Guo Dong
2020-09-29 11:59                       ` Laszlo Ersek
2020-09-17  5:56         ` 回复: " Laszlo Ersek
2020-09-21  9:57   ` Marcello Sylvester Bauer
2020-09-22  6:45     ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f4112782-0fa4-b164-de3e-a438db926c1a@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox