← Back to context

Comment by spott

2 months ago

My reading of this wasn’t that Apple has a bunch of security bug fixes they aren’t upstreaming, it is that they are maintaining their own forks of an old version and back porting security bug fixes from upstream into their fork.

Maybe they are doing their own security fixes, but at this point they are so far diverged from upstream that it isn’t clear that those security bugs exist in upstream.

But that is my guess, I don’t really have enough information to say much for sure.

Digging into it further, it looks like there's a mix - backported bugfixes, Apple-specific fixes, and security issues which may or may not have been fixed by upstream long ago.

Some of it almost certainly would be useful upstream (eg. the clang warnings, and any unfixed security issues), and some might warrant being reimplemented in a different way (those Apple-specific ifdefs in the middle of platform-independent code blocks). But that's not ever going to happen, because of the way Apple jumbles it all together.

  • We have contributed a number of upstream fixes

      $ cd gnome-libxml2.git
      $ git log --oneline --author=@apple.com | wc -l
          43
    

    The main reason we have a fork at all is that upstream libxml2 has broken source and binary compatibility in various ways, and we can't take those changes because libxml2 is public API on our platforms. We do make an effort to upstream all security fixes, though we sometimes get to it only after we ship.

    • I do appreciate you showing up and clarifying that effort to upstream fixes are made! But is your fork developed in the open?

      I think the root issue here is that Apple takes from the commons and then (at best) throws the leftovers over the fence.

      If there is a poster child for why BSD/MIT licenses lead to less desirable outcomes, it's BSD being endlessly forked.