Announcement

Collapse
No announcement yet.

The Mission Of Coreboot - Is It About Open-Source Or Appeasing Hardware Vendors?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by starshipeleven View Post
    On Intel platforms the blobs (the FSP) are smart enough to init the whole thing and are also able to load payloads (like say u-boot) on their own. Coreboot is basically a wrapper for that. Also the docs to configure the FSP are available only under NDA.
    Just today we landed a change (by Intel themselves!) that returns some control over hardware init (SPI flash lock registers to be precise) on Cometlake from FSP to coreboot. FSP _can_ do everything (for the poor saps that use FSP in non-coreboot configurations), but in a coreboot configuration it doesn't and that makes coreboot more than "basically a wrapper".

    Reverse engineering efforts done outside Intel get into the tree as soon as they're usable and become the default configuration over "official" binaries (see Ivybridge).

    Originally posted by starshipeleven View Post
    on top of that it's not used much outside of x86.
    >10% of the boards in the coreboot tree are non-x86.

    That makes it still rather x86-focused but it's more diverse than it used to be.

    I really like to see all of that stuff improve: more reverse engineering, more non-x86 hardware, more open source contribution by the silicon vendors themselves. There are things I can't do (reverse engineering while having access to relevant information under NDA has rather bad optics), there are other things I do that aren't very visible (but that I'm quite certain have some positive impact).

    Raptor considers x86 a lost cause and so they moved to Power9. More power to them (pun intended) but due to costs it remains a 1%er solution (while Raptor managed to bring it more into mainstream from the 0.1%er solution it was before, so yay). I'm not so sure that things will remain that open there once it becomes mainstream hardware. As soon as a Netflix client becomes a "hard" requirement for the platform's user base, Power will undergo lockdown attempts as well (and an open ISA won't help: the ISA was never the problem, fab access is). We need systematic solutions to such requests, not just ISA owners that are desperate to increase their marginal slice of market share but will throw you under the bus as soon as things take off.

    I think x86 can be salvaged (not this chip generation, but the general direction) and through x86 and ARM (and their sway on the market, and the vendors, and everything) it might be possible to set healthier trends and standards for the entire industry.

    Comment


    • #42
      Originally posted by schmidtbag View Post
      Even still - so what?
      The website, wiki and press material still advertises it as if it was opensource when it is mostly not. That's what.

      Yes, Coreboot really is Coreboot. Just because the way it is used doesn't conform to Coreboot's goals, doesn't mean the software suddenly lost sight of its goals.
      Dunno, Coreboot was born to get rid of proprietary firmware and ends up being little more than a wrapper for blobs, requiring NDAs to be ported on any real hardware. That's so far against the original project goals that it isn't even funny.

      You can say "doesn't mean the software suddenly lost sight of its goals", but it's wrong.

      The difference here is Coreboot is open-source.
      No the difference is that Coreboot is not really "Opensource" anymore for x86 and this is worth pointing out on the website.

      This isn't about whining because of Coreboot's current state, it's about being honest about it to the world.
      Last edited by starshipeleven; 09 September 2019, 10:46 AM.

      Comment


      • #43
        Originally posted by starshipeleven View Post
        The website, wiki and press material still advertises it as if it was opensource when it is mostly not. That's what.
        coreboot is open source. That it uses some non-open services doesn't detract from 100% of the stuff in the coreboot repo being GPLv2 compatible (mostly GPLv2, some GPLv2+, some BSD-l, some other BSD-style licenses, some CC-by).

        Comment


        • #44
          Originally posted by starshipeleven View Post
          The website, wiki and press material still advertises it as if it was opensource when it is mostly not. That's what.
          Coreboot, as provided by its internal devs, is open source. Just because the way it is commonly used is proprietary, doesn't make Coreboot at it's core proprietary. There is nothing wrong about what Coreboot is doing.
          Dunno, Coreboot was born to get rid of proprietary firmware and ends up being little more than a wrapper for blobs, requiring NDAs to be ported on any real hardware. That's so far against the original project goals that it isn't even funny.
          I'm aware of this; I didn't say otherwise. But again - using a product outside of its intentions doesn't negate its intentions.
          You can say "doesn't mean the software suddenly lost sight of its goals", but it's wrong.
          How? Their goals are independent of what corporations what to use their software for.
          By your logic, that's like a kid saying "I want to get the highest grades in class" where a bully comes by and burns all of his books. Just because someone else is stomping on your dreams and aspirations, in no way does that mean they're suddenly voided. Coreboot can still strive to create a totally open source firmware. Even if the way it is used is just a wrapper for proprietary blobs, why does that mean they can't keep going at their goals?
          This isn't about whining because of Coreboot's current state, it's about being honest about it to the world.
          Coreboot is being honest. They're doing their part. It's not their fault corporations aren't playing along.

          Comment


          • #45
            Originally posted by schmidtbag View Post
            Coreboot, as provided by its internal devs, is open source.
            Wrong, Coreboot build system downloads and packs blobs in any image for modern hardware.

            How? Their goals are independent of what corporations what to use their software for.
            It's not "the corporations".
            It's "anyone that wants to port Coreboot to a modern board".

            This isn't some optional thing or some downstream fork. It's mandatory. You need NDAs for docs, and access to the tools to configure the blobs for your board.

            Even if the way it is used is just a wrapper for proprietary blobs, why does that mean they can't keep going at their goals?
            Dunno, the fact that they can't?
            It's not their choice, it's the vendor of the hardware they support that chose for them.
            Last edited by starshipeleven; 09 September 2019, 11:33 AM.

            Comment


            • #46
              Originally posted by pgeorgi View Post
              coreboot is open source. That it uses some non-open services doesn't detract from 100% of the stuff in the coreboot repo being GPLv2 compatible (mostly GPLv2, some GPLv2+, some BSD-l, some other BSD-style licenses, some CC-by).
              I don't care about GPLv2 compatibility of the source in the repo.

              I need that to actually act like if it was opensource in practice.

              If to port a new board (that isn't just a copycat of another existing one) you need an NDA with Intel for the docs and blob configuring tools, then what's the point of the stuff in the repo being "opensource".

              It might have been proprietary and it will be exactly the same. Only paying OEMs can use it, or even understand the more important parts of it. What's the point?

              Comment


              • #47
                Originally posted by starshipeleven View Post
                Wrong, Coreboot build system downloads and packs blobs in any image for modern hardware.
                Mind telling me where Coreboot packs the blobs in github?
                https://github.com/coreboot/coreboot
                This isn't some optional thing or some downstream fork. It's mandatory. You need NDAs for docs, and access to the tools to configure the blobs for your board.
                So you're telling me the Coreboot devs have to sign/agree to NDAs, even though a company like Intel or AMD could just take their code downstream?
                Dunno, the fact that they can't?
                It's not their choice, it's the vendor of the hardware they support that chose for them.
                That's irrelevant to my point. Just because a vendor chooses to use Coreboot in a closed-source manner, doesn't make it closed-source. Linux itself is used for closed-source purposes all the time. Does that make it closed-source?
                I get it - there pretty much isn't any Coreboot implementation that's fully open-source. That doesn't mean Coreboot as a project isn't open-source.

                Comment


                • #48
                  Originally posted by starshipeleven View Post
                  Wrong, Coreboot build system downloads and packs blobs in any image for modern hardware.
                  When using CONFIG_USE_BLOBS. I guess for bonus points I could finish https://review.coreboot.org/c/coreboot/+/28637, but to be honest, the best motivation killer for any work that supports the "blob free or death" community is having to deal with it.
                  Last edited by pgeorgi; 09 September 2019, 11:57 AM.

                  Comment


                  • #49
                    Originally posted by schmidtbag View Post
                    Mind telling me where Coreboot packs the blobs in github?
                    This folder https://github.com/coreboot/coreboot...aster/3rdparty
                    Note that it's mostly a link to other repos with the blobs, as in many cases they don't even have the right to host or redistribute the blobs themselves.

                    The build system downloads and adds automatically stuff where it's set to.

                    So you're telling me the Coreboot devs have to sign/agree to NDAs, even though a company like Intel or AMD could just take their code downstream?
                    Intel or AMD is the hardware vendor. Coreboot is a board firmware. The ones wanting a board firmware are the OEM (companies making the boards) or end users of such boards. And these parties need a NDA to Intel or AMD to be able to use the blobs (and Coreboot) at all.

                    Just because a vendor chooses to use Coreboot in a closed-source manner, doesn't make it closed-source.
                    As I said, it's not a "vendor that uses coreboot as closed source", but a Intel and AMD require any board port to use blobs that basically gut Coreboot.

                    It's no Linux itself is used for closed-source purposes all the time. Does that make it closed-source?
                    It would if you replaced the more critical parts of it with blobs. It's not comparable to kernel modules. It's the core that is replaced with a blob.

                    I get it - there pretty much isn't any Coreboot implementation that's fully open-source. That doesn't mean Coreboot as a project isn't open-source.
                    By that definition, even OpenGapps project is opensource https://github.com/opengapps/opengapps
                    Even if it is just a bunch of scripts that download and assemble binary Android packages from Google.

                    I mean, all we care is that we can legally call it "opensource"? Not that it can actually be tinkered with and worked on by people without NDAs.
                    Last edited by starshipeleven; 09 September 2019, 12:12 PM.

                    Comment


                    • #50
                      Originally posted by pgeorgi View Post
                      When using CONFIG_USE_BLOBS.
                      Which is mandatory for modern hardware?

                      Comment

                      Working...
                      X