"Platform" vs "BSP" terminology

Continuing the discussion from Use of identifiers (e.g., Dn pin identifiers):

While "platform" may be the "correct" (more precisely, "official") term, BSP (Board Support Package) is an industry standard term that seems to apply here. What is your objection to it?

As you said:

This is a community dedicated to sharing technical information. We fundamentally care about being correct. Within the context of the Arduino ecosystem, any term other than "platform" is incorrect, so obviously we must use "platform". You might feel that the Arduino company made a mistake by not choosing the term "BSP", but that ship sailed over a decade ago.

If we are to effectively communicate, we must use consistent terminology. It is very rare to see "BSP" used in the Arduino world (I have seen it used in some Adafruit resources, but nowhere else), so if you use that term then the average reader won't understand what you are talking about. You could argue that there is a similar problem of the term "platform" not serving to effectively communicate meaning due to the unfortunate prevalence of incorrect use of the term "core", but at least "platform" is backed by having official status.

{    <- BRACES ->     }
[   <- BRACKETS ->    ]
(  <- PARENTHESES ->  )
<   <- WACAWACA ->    >
"    <- QUOTE ->      "
'     <- TICK ->      '
`   <- BACKTICK ->    `
\     <-ESCAPE ->     \
/     <- SLASH ->     /

[edit] ... the above is intended to show dissolving of "standards" to "colloquial"... often heard as "whatever feels good"... because "art v science" is still debated.

Hmm. In my mind, a “core” supports a chip family, a BSP supports a specific boards, and a “platform” supports several boards and perhaps several chip families…

(Not consistently followed by everyone implementing Arduino platforms, but “oh well.”)

Not even consistently followed by Arduino. I'll just point out that arduino-cli uses core rather than platform at times. (cough, cough)

$ arduino-cli core help
Arduino core operations.

Usage:
  arduino-cli core [command]

Examples:
  arduino-cli core update-index

Available Commands:
  download     Downloads one or more cores and corresponding tool dependencies.
  install      Installs one or more cores and corresponding tool dependencies.
  list         Shows the list of installed platforms.
  search       Search for a core in Boards Manager.
  uninstall    Uninstalls one or more cores and corresponding tool dependencies if no longer used.
  update-index Updates the index of cores.
  upgrade      Upgrades one or all installed platforms to the latest version.

I had in mind more flagrant "violations", like the ESP32 "platform" supporting two entirely different CPU architectures. (although I guess the peripherals are similar, "so CPU doesn't matter so much.")

Did you mean to say the esp32 "core" supporting two entirely different CPU architectures?

A platform can contain multiple cores (which is one reason why it is a bad idea to use the term "core" when actually referring to a platform). So it is possible for an Arduino boards platform to support boards of multiple architectures while aligning with your perspective:

The "esp32" boards platform does use a single esp32 core for all boards, so your two posts become consistent if "core" was substituted for "platform" in the latter one:

"violations", like the esp32 "core" supporting two entirely different CPU architectures

Will a beginner understand if one refers to a specific "platform"?

he enters "Additional boards manager URLs"
grafik

he gets an information regarding "index" or "board" updates

he choses Board to program one board (within a platform?)

he uses a Board Manager to update the "platform" (?)

and sometimes he will be noted which boards are in one "package"

"Index" is referring to the package index, not the platform:

https://arduino.github.io/arduino-cli/latest/package_index_json-specification/

Although the use of the general term "index" in the error message instead of the specific term "package index" is not technically incorrect, it would have been better to use the specific term. I suspect the reason for the use of the general term is this message comes from code that is used for for updating updates of both the libraries index and the package indexes.

As I said from the start:

I don't see a problem with this. It is a menu of boards, not a menu of platforms. It is true that the list of boards is broken up into per-platform submenus, but it still wouldn't be accurate to name the menu Tools > Platforms.

Certainly the feature could have been named "Platform Manager", but I think the chosen name "Boards Manager" is acceptable. Although it is indeed a tool for managing platforms, neglecting to use the term "platform" in the name of a tool related to platforms is a different situation that using the term "core" when talking about a platform.