1. 42
  1. 11

    Here’s a good follow-up email from FreeBSD’s Kyle Evans: https://lists.freebsd.org/pipermail/freebsd-hackers/2021-March/057082.html

    1. 6

      I admire Jason’s commitment and approach to doing things. Given this experience, this makes me wonder about the quality of code in FreeBSD for other protocols.

      1. 6

        I’d just like to understand how the code got committed to the mainline branch/trunk if it was of such low quality?

        I’m certain I’m missing something here but I’m also too busy to go digging around in the repo history + mailing lists to piece together the full story.

        1. 8

          In BSDs the main branch is the development branch. If we’re not sure something is ready to be used in production, but is under active development, it will be committed to the main branch, but is either not hooked up to build or otherwise disabled by default. This is to facilitate testing and review and contributions from others who want to test the system as it evolves (“those who run -CURRENT”).

          I’m a NetBSD developer, not a FreeBSD developer, so I’m not an authoritative source on their development process. Jason has also objected to NetBSD independently developing a “WireGuard compatible VPN interface” (note the name of the specification is a registered trademark) without his oversight, and then not responded when asked to state his exact problem with the code or identify exact bugs for more than 6 months. The implication that the specification is complex or incomplete enough that his involvement in any implementation is required is worrying at best, but definitely good for job security (though it’s also worth noting serious bugs have been found in implementations he did spend a year visiting developers’ homes for).

          1. 6

            For the audience at home, here is the thread. I think Jason looks somewhat suspicious in it, with how he makes vague threads and claims about NetBSD’s implementation, but can’t point out anything concrete.

            1. 5

              If you read the linked thread, as well other *BSDs’ mailing lists, you can clearly see that he doesn’t consider anything he hasn’t personally touched to be worthy. WireGuard is clearly his baby - he’s both the author of the specification as well as reference implementation… problem is, that he doesn’t like any other (competing?) implementations of any sort. He actually makes it quite clear that WireGuard isn’t an RFC-style protocol - and every single implementation seems to need his personal blessing.

              In that particular thread, it very much looks like he barges in both barrels blazing and makes demands such as Revert this code at once, sir! (I’m paraphrasing here) without actually spending some time reading how development is done in NetBSD - even after they, repeatedly(sic!), try to tell him this is the development branch.

              For the record, the right thing to do would be to have sought input from the WireGuard project during those two years, which we would have enthusiastically provided, and maybe NetBSD would have this ready to go years ago. It strikes the project as rude that you’d write some halfbaked code and try to pass it off as “wireguard”, ruining what to date has been a uniform experience for users in using WireGuard across platforms. The fact is, you jumped the gun and didn’t reach out beyond your community.


              Again, while I’m not happy with this situation and the inflexibility here, […]

              Who’s being rude and inflexible here?

              Beyond the offers of help, time, energy, enthusiasm(!?), etc. all I can read between the lines are ego, grandeur, and the need for benediction.

              1. 3

                That is really bad behavior – it’s full-on micro-management that is really destroying any kind of relationships in the long run. I hope Jason will learn to let go, as this will just erode the trust and fail to create a progressive community around WireGuard.

                1. 2

                  I’ve been talking with him (Jason) in private and can vouch for him. There’s more that’s going on that meets the eye.

              2. 2

                Ah - that makes perfect sense. Thanks for the explanation and additional context.

              3. 5

                A blog post by Netgate now links to the original change request: https://reviews.freebsd.org/D26137 – I think this just proves the maxim: “Make a ten line change and you’ll get 11 comments, make a 1000+ lines change and you’ll get LGTM”. The blog post author boasted that there were 92 comments, which I still think is way way too little for a 40k+ lines change that touches security and networking.

                1. 3

                  Of all the (main? net, open, free) BSDs, I think FreeBSD is most willing to include all sorts of code.

                1. 7

                  Seems there are some harsh words and threats exchanged: https://lists.zx2c4.com/pipermail/wireguard/2021-March/006499.html

                  1. 6

                    I don’t know what it is with Netgate but they seem embroiled in needless drama ridiculously often and seem to have a massive persecution complex. This entire thing seems right on par with what I’ve come to expect from them. Must be some fumes in the Netgate office building or something.

                    1. 4

                      Also note that the quotes are of a discussion that wasn’t posted to this mailing list.

                    2. 7