public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Pete Batard" <pete@akeo.ie>
To: devel@edk2.groups.io, ard.biesheuvel@linaro.org
Cc: "Leif Lindholm" <leif.lindholm@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH 1/8] Platform/RPi: Add model family detection
Date: Tue, 19 Nov 2019 16:30:05 +0000	[thread overview]
Message-ID: <6dbfd653-ab36-09f4-2f0d-8a9675ed5fae@akeo.ie> (raw)
In-Reply-To: <CAKv+Gu8rL0aFWXOc7-Ja+t=Txn+jcjZGx=RmDd5JfS2kViSqSQ@mail.gmail.com>

On 2019.11.19 15:07, Ard Biesheuvel wrote:
> On Mon, 18 Nov 2019 at 19:32, Pete Batard <pete@akeo.ie> wrote:
>>
>> On 2019.11.18 18:05, Leif Lindholm wrote:
>>> On Mon, Nov 18, 2019 at 05:58:05PM +0000, Pete Batard wrote:
>>>> On 2019.11.18 17:51, Leif Lindholm wrote:
>>>>> On Thu, Nov 14, 2019 at 04:07:33PM +0000, Pete Batard wrote:
>>>>>> From: Samer El-Haj-Mahmoud <samer@elhajmahmoud.com>
>>>>>>
>>>>>> Add GetModelFamily to RASPBERRY_PI_FIRMWARE_PROTOCOL.
>>>>>>
>>>>>> This uses the board revision to return a numeric value representing
>>>>>> the RPi family (1=RPi, 2=RPi2, 3=RPi3 and 4=RPi4).
>>>>>>
>>>>>> Knowing the Pi family will help us set the SD card routing when we
>>>>>> introduce support for the Pi 4 and should also be easier to maintain
>>>>>> than if using individual model detection.
>>>>>>
>>>>>> Also add a missing entry for the "Raspberry Pi Compute Module 3+" in
>>>>>> RpiFirmwareGetModelName ().
>>>>>
>>>>> Can you drop the above line and include the below as 1/? in v2?
>>>>
>>>> Okay.
>>>>
>>>> Note that since you requested alphabetical for PCDs, I'm going to have an
>>>> "Also" in 2/ (now 3/) since the existing PCDs in
>>>> Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf are out of
>>>> alphabetical order.
>>>
>>> Actually, I try to never request reordering of existing lines, so I
>>> would be quite happy for you to skip the changes that would motivate
>>> the use of the "also".
>>>
>>> I tend to apply a rule of trying to insert *new* (or moved) lines in a
>>> way that will improve the existing order - or in messy cases at least
>>> not make it worse.
>>>
>>> I have had it pointed out to me that this is maybe not entirely
>>> obvious...
>>
>> Well, this is exactly what I would point out as an example of the strive
>> for commit atomicity getting in the way of a more readable codebase as
>> well as overall user experience (the users here being the developers who
>> are dealing with the code). The reason I'm pointing this out is that, in
>> the past, I have been dealing with projects that seemed to care more
>> about keeping a squeaky clean commit history than they seemed to care
>> about making the underlying code as good as it could possibly get, which
>> resulted in increased pain for the developers having to contend with
>> said codebase and ultimately end-users of the software produced from
>> that codebase.
>>
>> Again, I would assert that there has to exist a middle ground between
>> keeping a super-clean commit history and improving the source where it
>> can indeed be improved at little cost, by not always defaulting to
>> people having to devote extra time splitting patches.
>>
>> But I understand this is not my choice to make here. Thus I'll stay away
>> from reordering that doesn't have to do with new PCDs being introduced.
>>
> 
> Please keep in mind that when open source maintainers take ownership
> of your code, they assume the responsibility to ensure that it doesn't
> get broken by future updates elsewhere in the codebase, often way
> beyond the commercial lifetime of the product that is supported by
> that code. This is a sizable effort, and an important part of managing
> that effort is ensuring that the code is in an acceptable shape to
> begin with, and what 'acceptable' means differs between different
> maintainers. Not being able to revert a patch easily because it
> touches unrelated code may make our lives more difficult years after
> you have stopped caring about this platform entirely.

I think you are actually exposing the root of the problem without 
realizing it here.

Elements that may make a maintainer's life more difficult years after 
the contributor stopped working on it can actually be elements that 
makes, and will continue to make, a whole lot of developers' lives much 
easier right now.

For instance, someone today or tomorrow (rather than 2 or 5 years down 
the line) can very well copy from code that got rejected as an "Also" 
(say, the one instance I found in the Pi source where a %s was used 
instead of a %a, which is an easy thing to miss if you're not paying 
attention) and find out they are wasting time on an issue that they 
would never have had to contend with, had the EDK2 maintainership been 
flexible with regards to what might be acceptable to piggyback on a 
patch that pertains to a specific file (IMO, fixing typos or style 
should always be acceptable as a piggyback, and I'd really like to hear 
how including such changes is effectively going to make the maintainers' 
job that harder down the line).

And though this is a not directly related issue, I could also speak 
volumes on how myself, and I assume many, many other developers, have 
wasted countless hours (my current estimate puts that to around 4 to 5 
hours in my case) on the current CRLF enforcing situation with the EDK2 
codebase.

All this to re-state that I wish there existed a balance between the 
well established needs of the maintainers, and what they envision might 
emerge as issues in the long run (which I assert tends to encourage them 
to preserve an existing status-quo), and the possibly not so well 
publicized pain points and time wastage that consumers of the codebase 
encounter, who, of course (and, depending on how this discussion goes, I 
might come to see as perhaps the wisest choice) generally tend to avoid 
venting their frustration on a mailing list that aims at concerning 
itself solely with technical discussions...

In other words, if you are willing to consider how much more painful 
allowing the piggybacking of low-hanging "Also"'s onto existing patch 
may make your life as a maintainer down the line, please also be willing 
to envision the scenarios in which not allowing the same thing might 
actually be making the life of people who work with the codebase, and 
I'd really like to stress out that I'm really not talking only about 
myself here, harder right now.

Regards,

/Pete

> 
> 
> 


  reply	other threads:[~2019-11-19 16:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-14 16:07 [edk2-platforms][PATCH 0/8] Platform/RPi: Early Raspberry Pi 4 groundwork Pete Batard
2019-11-14 16:07 ` [edk2-platforms][PATCH 1/8] Platform/RPi: Add model family detection Pete Batard
2019-11-14 16:36   ` [edk2-devel] " Michael Brown
2019-11-14 16:55     ` Pete Batard
2019-11-18 17:51   ` Leif Lindholm
2019-11-18 17:58     ` Pete Batard
2019-11-18 18:05       ` Leif Lindholm
2019-11-18 18:32         ` Pete Batard
2019-11-19 15:07           ` Ard Biesheuvel
2019-11-19 16:30             ` Pete Batard [this message]
2019-11-20 10:27               ` [edk2-devel] " Leif Lindholm
2019-11-20 21:50                 ` Pete Batard
2019-11-21  8:55                   ` Laszlo Ersek
2019-11-21  9:04                     ` Laszlo Ersek
2019-11-21 20:02                       ` Pete Batard
2019-11-14 16:07 ` [edk2-platforms][PATCH 2/8] Platform/RPi: Replace Bcm283x SoC base register address with a PCD Pete Batard
2019-11-18 16:48   ` Leif Lindholm
2019-11-18 17:19     ` [edk2-devel] " samer.el-haj-mahmoud
2019-11-18 17:26       ` Leif Lindholm
2019-11-14 16:07 ` [edk2-platforms][PATCH 3/8] Silicon/Broadcom: Add Bcm2711 header Pete Batard
2019-11-18 16:50   ` Leif Lindholm
2019-11-14 16:07 ` [edk2-platforms][PATCH 4/8] Platform/RPi: Read more variables from VideoCore during early init Pete Batard
2019-11-18 17:11   ` Leif Lindholm
2019-11-14 16:07 ` [edk2-platforms][PATCH 5/8] Platform/RPi: Clean up and improve early memory init Pete Batard
2019-11-18 17:20   ` Leif Lindholm
2019-11-18 17:34     ` Pete Batard
2019-11-18 17:38       ` Leif Lindholm
2019-11-18 17:40         ` Pete Batard
2019-11-14 16:07 ` [edk2-platforms][PATCH 6/8] Platform/RPi: Replace Mailbox and Watchdog addresses with PCDs Pete Batard
2019-11-18 11:13   ` Philippe Mathieu-Daudé
2019-11-18 13:32     ` Pete Batard
2019-11-14 16:07 ` [edk2-platforms][PATCH 7/8] Platform/RPi: Replace MMCHS1BASE define with a PCD Pete Batard
2019-11-14 16:07 ` [edk2-platforms][PATCH 8/8] Platform/RPi: Replace DW2_USB_BASE_ADDRESS " Pete Batard

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=6dbfd653-ab36-09f4-2f0d-8a9675ed5fae@akeo.ie \
    --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