public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: Sean Brogan <spbrogan@outlook.com>,
	devel@edk2.groups.io, rebecca@bsdio.com
Cc: michael.d.kinney@intel.com,
	Ard Biesheuvel <ard.biesheuvel@arm.com>,
	Andrew Fish <afish@apple.com>, Leif Lindholm <leif@nuviainc.com>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>,
	Peter Grehan <grehan@freebsd.org>
Subject: Re: [edk2-devel] Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg?
Date: Fri, 15 May 2020 11:39:44 +0200	[thread overview]
Message-ID: <ab712188-fb73-2e23-deba-e388dfc504c7@redhat.com> (raw)
In-Reply-To: <BN8PR07MB69628EC8992C6C230213EB5BC8BC0@BN8PR07MB6962.namprd07.prod.outlook.com>

On 05/14/20 19:48, Sean Brogan wrote:

> Adding another platform to a core repository that might or might not
> work at any given time is a burden to all core contributors and doesn't
> bring value to the core project.

Platforms that depend on edk2, but are not inside edk2, are near
guaranteed to break when core edk2 changes occur. Such external
dependencies are impossible to locate with "git grep"; you can't run a
git-grep on "all projects in the universe that consume edk2".

Even if you manage to identify some high-profile out-of-tree platforms
(by sheer diligence, or by those platforms' own CI systems -- doesn't
matter), you are effectively prevented from adjusting them in the *right
patch order*, as you cannot cover multiple repositories in a single
patch series.

This is already causing *massive* and everyday pain with edk2-platforms;
contributions that would normally take the form of a run-of-the-mill
patch series, now have to be split in at least three waves (prepare the
core, update external platforms, switch over the core). With in-tree
platforms, the approach is of course the same, the difference is that
these stages can be managed, and merged, in a unified series of commits.
Addressing external dependencies by splitting work into sub-series slows
development to a crawl.

(BaseTools is no exception. I've agreed to splitting it out because the
demand for that seems to be huge, and with careful maintenance of
"pip-requirements.txt", and with the features offered by pip virtual
environments, it appears technically possible. Conceptually, with these
bits in place, the BaseTools <-> edk2 dependency tracking should not
lose any safety. It *will* lose efficiency.)


Furthermore , I disagree with your "burden to all core contributors" and
"doesn't bring value to the project" statements 100%.

- I *am* a core contributor (feel free to look up the patches I've
contributed, with git-log),
- DynamicTablesPkg, EmulatorPkg, FmpDevicePkg, IntelFsp2Pkg,
IntelFsp2WrapperPkg, SignedCapsulePkg, SourceLevelDebugPkg,
StandaloneMmPkg, UefiPayloadPkg, UnitTestFrameworkPkg carry exactly zero
interest for me,
- but they are also exactly zero burden to me.

So your statement "burden to all core contributors" is false
(EmulatorPkg in particular is a platform which sometimes does break),
and it does not bother me at all.

Then, having bhyve in-tree *does* bring value to the project, because it
simplifies the testing and development of core edk2 modules on a new,
thus far not officially targeted, hypervisor platform. It exposes edk2
to a wider audience; people using FreeBSD as their everyday desktop will
have an easier time running and hopefully developing edk2.

Laszlo


  parent reply	other threads:[~2020-05-15  9:39 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-08 15:44 Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg? Rebecca Cran
2020-05-11 15:55 ` Laszlo Ersek
2020-05-11 16:20   ` Ard Biesheuvel
2020-05-11 16:36     ` Michael D Kinney
2020-05-11 16:38       ` Andrew Fish
2020-05-11 16:41         ` [edk2-devel] " Michael D Kinney
2020-05-11 21:12       ` Laszlo Ersek
2020-05-11 21:22         ` Michael D Kinney
2020-05-11 21:58           ` [edk2-devel] " Rebecca Cran
2020-05-12  9:28             ` Laszlo Ersek
2020-05-12  9:52               ` Ard Biesheuvel
2020-05-12 15:09                 ` Laszlo Ersek
2020-05-14  2:34               ` Rebecca Cran
2020-05-14 10:24                 ` Laszlo Ersek
2020-05-14 16:20                   ` Rebecca Cran
2020-05-14 17:48                     ` Sean
2020-05-14 18:22                       ` Rebecca Cran
2020-05-14 18:46                         ` Sean
2020-05-14 18:54                           ` Rebecca Cran
2020-05-15  9:39                       ` Laszlo Ersek [this message]
2020-05-15  9:42                     ` Laszlo Ersek
2020-05-15  9:47                       ` Ard Biesheuvel
2020-05-15 12:51                         ` Laszlo Ersek
2020-05-15 15:03                           ` Leif Lindholm
2020-05-11 16:25   ` Michael D Kinney

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=ab712188-fb73-2e23-deba-e388dfc504c7@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