# Do not assume BB binary is used everywhere

**URL:** <https://discourse.julialang.org/t/do-not-assume-bb-binary-is-used-everywhere/54760>\
**Category:** Internals & Design\
**Created:** [February 5, 2021, 2:28pm UTC](https://discourse.julialang.org/t/do-not-assume-bb-binary-is-used-everywhere/54760 "2021-02-05T14:28:03Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [February 6, 2021, 10:08pm UTC](https://discourse.julialang.org/t/do-not-assume-bb-binary-is-used-everywhere/54760/7 "2021-02-06T22:08:01Z")

</div>

> [@yuyichao](#):
>
> However, this is something that should be only one per system, instead of having one for each programming environment.

Why? What harm does having more than one cause?

> [@Announcing ygg](https://discourse.julialang.org/t/announcing-ygg/54687/9):
>
> Not to mention that Windows users are “forced” to use cross-compile builds instead of the much smaller VS binaries (when created ofc) and lots of files that are not need at all (e.g. \*.a, \*.h, etc)

Again, who cares? Slightly bigger binaries 🤷🏼‍♂️

This is a very opinionated take (I’m an opinionated kind of guy): OSes have simply failed at providing for robust, reproducible installation of software. Worse: the brittle, irreproducible software installation they do support is wildly different on each platform, even across Linux distros. We tried using native package installers on each OS. **It did not work.** Moreover, Python, Ruby, R, etc have all been trying to do this for decades and also failed. This approach simply does not work. It is a dead parrot.

So we have taken the matter into our own hands and in a few short years succeeded far better than any OS besides NixOs (and more portably than NixOs), at delivering people fully working binary stacks in a way that is fast, reliable, portable and reproducible.

Moreover, there _is_ a mechanism for letting people use system binaries if they want to. It’s called “overrides”. It requires some tooling work to be done in order for it to be very useful, but the basic functionality has been there from the first artifacts release. But no one has done any of that tooling work. Guess what? It’s open source. Someone who cares about JLL overrides needs to implement that tooling.

Anyway all this complaining about how Pkg works (emphasis on the word “works” because it does actually work) is misplaced because this thread is about `ygg` which you can simply choose not to use if you don’t want to. So I’m splitting it into a separate thread where the complaining can continue until morale improves.

---

_[View the full topic](https://discourse.julialang.org/t/do-not-assume-bb-binary-is-used-everywhere/54760)._
