<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>reproducible-builds.org</title>
    <description>“Reproducible builds” aim to provide a verifiable path from software source code to its compiled binary form.
</description>
    <link>https://reproducible-builds.org/</link>
    <atom:link href="https://reproducible-builds.org/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Fri, 15 May 2026 16:53:44 +0000</pubDate>
    <lastBuildDate>Fri, 15 May 2026 16:53:44 +0000</lastBuildDate>
    <generator>Jekyll v4.3.4</generator>
    
      <item>
        <title>Reproducible Builds summit 2025 to take place in Vienna</title>
        <description>&lt;p class=&quot;lead&quot;&gt;We are extremely pleased to announce the upcoming Reproducible Builds summit, which will take place from &lt;strong&gt;October 28th—30th 2025&lt;/strong&gt; in the historic city of Vienna, Austria.&lt;/p&gt;

&lt;p&gt;This year, we are thrilled to host the eighth edition of this exciting event, following the success of previous summits in various iconic locations around the world, including &lt;a href=&quot;/events/hamburg2024/&quot;&gt;Hamburg&lt;/a&gt; (2023—2024), &lt;a href=&quot;/events/venice2022/&quot;&gt;Venice&lt;/a&gt; (2022), &lt;a href=&quot;/events/Marrakesh2019/&quot;&gt;Marrakesh&lt;/a&gt; (2019), &lt;a href=&quot;/events/paris2018/&quot;&gt;Paris&lt;/a&gt; (2018), &lt;a href=&quot;/events/berlin2017/&quot;&gt;Berlin&lt;/a&gt; (2017), &lt;a href=&quot;/events/berlin2016/&quot;&gt;Berlin&lt;/a&gt; (2016) and &lt;a href=&quot;/events/athens2015/&quot;&gt;Athens&lt;/a&gt; (2015).&lt;/p&gt;

&lt;p&gt;If you’re excited about joining us this year, please make sure to read &lt;a href=&quot;/events/vienna2025/&quot;&gt;the event page which has more details about the event and location&lt;/a&gt;. As in previous years, we will be sending invitations to all those who attended our previous summit events or expressed interest to do so. However, even if you do not receive a personal invitation, please do &lt;a href=&quot;mailto:2025-summit-team@lists.reproducible-builds.org&quot;&gt;email the organizers&lt;/a&gt; and we will find a way to accommodate you.&lt;/p&gt;

&lt;h3 id=&quot;about-the-event&quot;&gt;About the event&lt;/h3&gt;

&lt;p&gt;The Reproducible Builds Summit is a unique gathering that brings together attendees from diverse projects, united by a shared vision of advancing the Reproducible Builds effort. During this enriching event, participants will have the opportunity to engage in discussions, establish connections and exchange ideas to drive progress in this vital field. Our aim is to create an inclusive space that fosters collaboration, innovation and problem-solving.&lt;/p&gt;

&lt;p&gt;With your help, we will bring this (and several other areas) into life:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/vienna2025/seminarroom_1.jpg&quot; width=&quot;640px&quot; /&gt;&lt;br /&gt;
 &lt;em class=&quot;small&quot;&gt;The main seminar room.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;schedule&quot;&gt;Schedule&lt;/h3&gt;

&lt;p&gt;Although the exact content of the meeting will be shaped by the participants, the main goals will include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Update &amp;amp; exchange about the status of reproducible builds in various projects.&lt;/li&gt;
  &lt;li&gt;Improve collaboration both between and inside projects.&lt;/li&gt;
  &lt;li&gt;Expand the scope and reach of reproducible builds to more projects.&lt;/li&gt;
  &lt;li&gt;Work together and hack on solutions.&lt;/li&gt;
  &lt;li&gt;Establish space for more strategic and long-term thinking than is possible in virtual channels.&lt;/li&gt;
  &lt;li&gt;Brainstorm designs on tools enabling users to get the most benefits from reproducible builds.&lt;/li&gt;
  &lt;li&gt;Discuss how reproducible builds will be usable and meaningful to users and developers alike.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logs and minutes will be published after the meeting.&lt;/p&gt;

&lt;h3 id=&quot;location--date&quot;&gt;Location &amp;amp; date&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.ibsc.at/ibsc-seminarzentrum/allgemeine-informationen/&quot;&gt;Fasangasse Seminarzentrum&lt;/a&gt;, ibsc Seminar Center, Fasangasse 25, 1030 Vienna, Austria&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;October 28th to October 30th 2025&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;registration-instructions&quot;&gt;Registration instructions&lt;/h3&gt;

&lt;p&gt;Please &lt;a href=&quot;/events/vienna2025/&quot;&gt;reach out&lt;/a&gt; if you’d like to participate in hopefully interesting, inspiring and intense technical sessions about reproducible builds and beyond!&lt;/p&gt;

&lt;p&gt;We look forward to what we anticipate to be yet another extraordinary event!&lt;/p&gt;
</description>
        <pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2025/08/20/reproducible-builds-summit-in-vienna/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2025/08/20/reproducible-builds-summit-in-vienna/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Reproducible Builds mourns the passing of Lunar</title>
        <description>&lt;p class=&quot;lead&quot;&gt;The Reproducible Builds community sadly announces it has lost its founding member.&lt;/p&gt;

&lt;p&gt;Jérémy Bobbio &lt;em&gt;aka&lt;/em&gt; ‘Lunar’ passed away on Friday November 8th in palliative care in Rennes, France.&lt;/p&gt;

&lt;p&gt;Lunar was instrumental in starting the Reproducible Builds project in 2013 as a loose initiative within the &lt;a href=&quot;https://debian.org/&quot;&gt;Debian&lt;/a&gt; project. Many of &lt;a href=&quot;https://lists.debian.org/debian-devel-announce/2015/02/msg00007.html&quot;&gt;our earliest status reports&lt;/a&gt; were written by him and many of our &lt;a href=&quot;https://diffoscope.org/&quot;&gt;key tools in use today&lt;/a&gt; are based on his design.&lt;/p&gt;

&lt;p&gt;Lunar was a resolute opponent of surveillance and censorship, and he possessed an unwavering energy that fueled his work on Reproducible Builds and &lt;a href=&quot;https://torproject.org&quot;&gt;Tor&lt;/a&gt;. Without Lunar’s far-sightedness, drive and commitment to enabling teams around him, Reproducible Builds and free software security would not be in the position it is in today. His contributions will not be forgotten, and his high standards and drive will continue to serve as an inspiration to us as well as for the other &lt;a href=&quot;https://linuxfr.org/news/deces-de-lunar-un-hacktiviste-pedagogue&quot;&gt;high-impact projects he was involved in&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Lunar’s creativity, insight and kindness were often noted. He will be greatly missed.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://lunar.anargeek.net/&quot;&gt;&lt;img src=&quot;/images/news/2024-11-14-reproducible-builds-mourns-passing-lunar/1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p class=&quot;small&quot;&gt;Other tributes:&lt;/p&gt;

&lt;ul class=&quot;small&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;https://lunar.anargeek.net/&quot;&gt;&lt;strong&gt;Anargeek.net&lt;/strong&gt;&lt;/a&gt; [FR]&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/997775/&quot;&gt;LWN&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.debian.org/News/2024/20241119&quot;&gt;Debian&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://upsilon.cc/~zack/blog/posts/2024/11/In_memory_of_Lunar/&quot;&gt;Stefano Zacchiroli&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://linuxfr.org/news/deces-de-lunar-un-hacktiviste-pedagogue&quot;&gt;Linuxfr.org&lt;/a&gt; [FR]&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.softwareheritage.org/2024/11/15/remembering-lunar/&quot;&gt;Software Heritage&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/docs/history/&quot;&gt;A history of the Reproducible Builds project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 14 Nov 2024 15:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2024/11/14/reproducible-builds-mourns-the-passing-of-lunar/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2024/11/14/reproducible-builds-mourns-the-passing-of-lunar/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Supporter spotlight: Kees Cook on Linux kernel security</title>
        <description>&lt;p&gt;&lt;img src=&quot;/images/news/supporter-spotlight-kees-cook/kees.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;big&gt;The Reproducible Builds project &lt;a href=&quot;/who/&quot;&gt;relies on several projects, supporters and sponsors&lt;/a&gt; for financial support, but they are also valued as ambassadors who spread the word about our project and the work that we do.&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;This is the &lt;em&gt;eighth&lt;/em&gt; installment in a series featuring the projects, companies and individuals who support the Reproducible Builds project. We started this series by &lt;a href=&quot;/news/2020/10/21/supporter-spotlight-cip-project/&quot;&gt;featuring the Civil Infrastructure Platform&lt;/a&gt; project, and followed this up with a &lt;a href=&quot;/news/2021/04/06/supporter-spotlight-ford-foundation/&quot;&gt;post about the Ford Foundation&lt;/a&gt; as well as recent ones about &lt;a href=&quot;/news/2022/04/14/supporter-spotlight-ardc/&quot;&gt;ARDC&lt;/a&gt;, the &lt;a href=&quot;/news/2022/04/26/supporter-spotlight-google-open-source-security-team/&quot;&gt;Google Open Source Security Team (GOSST)&lt;/a&gt;, &lt;a href=&quot;/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/&quot;&gt;Bootstrappable Builds&lt;/a&gt;, &lt;a href=&quot;/news/2022/06/24/supporter-spotlight-hans-christoph-steiner-f-droid-project/&quot;&gt;the F-Droid project&lt;/a&gt;, &lt;a href=&quot;/news/2022/12/15/supporter-spotlight-davidawheeler-supply-chain-security/&quot;&gt;David A. Wheeler&lt;/a&gt; and &lt;a href=&quot;/news/2023/08/01/supporter-spotlight-simon-butler/&quot;&gt;Simon Butler&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, however, we will be talking with &lt;big&gt;&lt;strong&gt;Kees Cook&lt;/strong&gt;&lt;/big&gt;,
founder of the &lt;a href=&quot;https://kspp.github.io/&quot;&gt;Kernel Self-Protection Project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant Cascadian: Could you tell me a bit about yourself? What sort
  of things do you work on?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees Cook:&lt;/strong&gt; I’m a Free Software junkie living in Portland, Oregon, USA.
I have been focusing on the upstream Linux kernel’s protection
of itself. There is a lot of support that the kernel provides
userspace to defend itself, but when I first started focusing on this
there was not as much attention given to the kernel protecting
itself. As userspace got more hardened the kernel itself became a
bigger target. Almost 9 years ago I formally announced the &lt;a href=&quot;https://kspp.github.io/&quot;&gt;Kernel Self-Protection Project&lt;/a&gt;
because the work necessary was way more than my time and expertise could do
alone. So I just try to get people to help as much as possible; people who
understand the ARM architecture, people who understand the memory management
subsystem to help, people who understand how to make the kernel less buggy.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: Could you describe the path that lead you to working on this
  sort of thing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I have always been interested in security through the aspect of
exploitable flaws. I always thought it was like a magic trick to make a
computer do something that it was very much not designed to do and seeing how
easy it is to subvert bugs. I wanted to improve that fragility.  In 2006, I
started working at Canonical on Ubuntu and was mainly focusing on bringing
Debian and Ubuntu up to what was the state of the art for Fedora and Gentoo’s
security hardening efforts. Both had really pioneered a lot of userspace
hardening with compiler flags and &lt;a href=&quot;https://en.wikipedia.org/wiki/Executable_and_Linkable_Format&quot;&gt;ELF&lt;/a&gt;
stuff and many other things for hardened
binaries. On the whole, Debian had not really paid attention to it. Debian’s
packaging building process at the time was sort of a chaotic free-for-all as
there wasn’t centralized build methodology for defining things. Luckily that
did slowly change over the years. In Ubuntu we had the opportunity to apply top
down build rules for hardening all the packages. In 2011 Chrome OS was
following along and took advantage of a bunch of the security hardening work as
they were based on &lt;a href=&quot;https://wiki.gentoo.org/wiki/Ebuild&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ebuild&lt;/code&gt;&lt;/a&gt; out of Gentoo
and when they looked for someone to
help out they reached out to me. We recognized the Linux kernel was pretty much
the weakest link in the Chrome OS security posture and I joined them to help
solve that.  Their userspace was pretty well handled but the kernel had a lot
of weaknesses, so focusing on hardening was the next place to go. When I
compared notes with other users of the Linux kernel within Google there were a
number of common concerns and desires. Chrome OS already had an “upstream
first” requirement, so I tried to consolidate the concerns and solve them
upstream. It was challenging to land anything in other kernel team repos at
Google, as they (correctly) wanted to minimize their delta from upstream, so I
needed to work on any major improvements entirely in upstream and had a lot of
support from Google to do that. As such, my focus shifted further from working
directly on Chrome OS into being entirely upstream and being more of a
consultant to internal teams, helping with integration or sometimes
backporting.  Since the volume of needed work was so gigantic I needed to find
ways to inspire other developers (both inside and outside of Google) to help.
Once I had a budget I tried to get folks paid (or hired) to work on these areas
when it wasn’t already their job.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/news/supporter-spotlight-kees-cook/linux-kernel-security.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: So my understanding of some of your recent work is basically
defining &lt;a href=&quot;https://en.wikipedia.org/wiki/Undefined_behavior&quot;&gt;undefined behavior&lt;/a&gt; in the language or compiler?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I’ve found the term “undefined behavior” to have a really strict
meaning within the compiler community, so I have tried to redefine my goal as
eliminating “unexpected behavior” or “ambiguous language constructs”. At the
end of the day ambiguity leads to bugs, and bugs lead to exploitable security
flaws. I’ve been taking a four-pronged approach: supporting the work people are
doing to get rid of ambiguity, identify new areas where ambiguity needs to be
removed, actually removing that ambiguity from the C language, and then dealing
with any needed refactoring in the Linux kernel source to adapt to the new
constraints.&lt;/p&gt;

&lt;p&gt;None of this is particularly novel; people have recognized how dangerous some
of these language constructs are for decades and decades but I think it is a
combination of hard problems and a lot of refactoring that nobody has the
interest/resources to do. So, we have been incrementally going after the lowest
hanging fruit. One clear example in recent years was the elimination of C’s
“implicit fall-through” in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;switch&lt;/code&gt; statements.  The language would just fall
through between adjacent &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;case&lt;/code&gt;s if a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;break&lt;/code&gt; (or other code flow directive)
wasn’t present.  But this is ambiguous: is the code meant to fall-through, or
did the author just forget a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;break&lt;/code&gt; statement? By &lt;a href=&quot;https://en.cppreference.com/w/c/language/attributes/fallthrough&quot;&gt;defining the “&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[[fallthrough]]&lt;/code&gt;” statement&lt;/a&gt;,
and &lt;a href=&quot;https://git.kernel.org/linus/dee2b702bcf067d7b6b62c18bdd060ff0810a800&quot;&gt;requiring its use in
Linux&lt;/a&gt;,
all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;switch&lt;/code&gt; statements now have explicit code flow, and the entire class of
bugs disappeared.  During our refactoring we actually found that 1 in 10 added
“&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[[fallthrough]]&lt;/code&gt;” statements were actually missing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;break&lt;/code&gt; statements. This
was an extraordinarily common bug!&lt;/p&gt;

&lt;p&gt;So getting rid of that ambiguity is where we have been. Another area I’ve been
spending a bit of time on lately is looking at how defensive security work has
challenges associated with metrics. How do you measure your defensive security
impact? You can’t say “because we installed locks on the doors, 20% fewer
break-ins have happened.” Much of our signal is always secondary or
retrospective, which is frustrating: “This class of flaw was used X much over
the last decade so, and if we have eliminated that class of flaw and will never
see it again, what is the impact?” Is the impact infinity?  Attackers will just
move to the next easiest thing. But it means that exploitation gets
incrementally more difficult. As attack surfaces are reduced, the expense of
exploitation goes up.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: So it is hard to identify how effective this is… how bad would it be
if people just gave up?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I think it would be pretty bad, because as we have seen, using
secondary factors, the work we have done in the industry at large, not just the
Linux kernel, has had an impact. What we, Microsoft, Apple, and everyone else
is doing for their respective software ecosystems, has shown that the price of
functional exploits in the black market has gone up. Especially for really
egregious stuff like a zero-click remote code execution.&lt;/p&gt;

&lt;p&gt;If those were cheap then obviously we are not doing something right, and it
becomes clear that it’s trivial for anyone to attack the infrastructure that
our lives depend on. But thankfully we have seen over the last two decades that
prices for exploits keep going up and up into millions of dollars. I think it
is important to keep working on that because, as a central piece of modern
computer infrastructure, the Linux kernel has a giant target painted on it. If
we give up, we have to accept that our computers are not doing what they were
designed to do, which I can’t accept. The safety of my grandparents shouldn’t
be any different from the safety of journalists, and political activists, and
anyone else who might be the target of attacks. We need to be able to trust our
devices otherwise why use them at all?&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: What has been your biggest success in recent years?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I think with all these things I am not the only actor. Almost
everything that we have been successful at has been because of a lot
of people’s work, and one of the big ones that has been coordinated
across the ecosystem and across compilers was &lt;a href=&quot;https://git.kernel.org/linus/f0fe00d4972a8cd4b98cc2c29758615e4d51cdfe&quot;&gt;initializing stack variables to 0 by default&lt;/a&gt;.
This feature was added in
&lt;a href=&quot;https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-ftrivial-auto-var-init&quot;&gt;Clang&lt;/a&gt;,
&lt;a href=&quot;https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ftrivial-auto-var-init&quot;&gt;GCC&lt;/a&gt;,
and &lt;a href=&quot;https://msrc.microsoft.com/blog/2020/05/solving-uninitialized-stack-memory-on-windows/&quot;&gt;MSVC&lt;/a&gt;
across the board even though there were a lot of fears about forking the C language.&lt;/p&gt;

&lt;p&gt;The worry was that developers would come to depend on zero-initialized stack
variables, but this hasn’t been the case because we still warn about
uninitialized variables when the compiler can figure that out. So you still
still get the warnings at compile time but now you can count on the contents of
your stack at run-time and we drop an entire class of uninitialized variable flaws.
While the exploitation of this class has mostly been around memory content
exposure, it has also been &lt;a href=&quot;https://outflux.net/slides/2011/defcon/kernel-exploitation.pdf&quot;&gt;used for control flow attacks&lt;/a&gt;.
So that was politically and technically a large challenge: convincing people it
was necessary, showing its utility, and implementing it in a way that everyone
would be happy with, resulting in the elimination of a large and persistent
class of flaws in C.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: In a world where things are generally Reproducible do you see ways
in which that might affect your work?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; One of the questions I frequently get is, “What version of the Linux
kernel has feature &lt;em&gt;$foo&lt;/em&gt;?” If I know how things are built, I can answer with
just a version number. In a Reproducible Builds scenario I can count on the
compiler version, compiler flags, kernel configuration, etc. all those things
are known, so I can actually answer definitively that a certain feature exists.
So that is an area where Reproducible Builds affects me most directly.
Indirectly, it is just being able to trust the binaries you are running are
going to behave the same for the same build environment is critical for sane
testing.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: Have you used &lt;a href=&quot;https://diffoscope.org/&quot;&gt;&lt;em&gt;diffoscope&lt;/em&gt;&lt;/a&gt;?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I have! One subset of tree-wide refactoring that we do when getting
rid of ambiguous language usage in the kernel is when we have to make source
level changes to satisfy some new compiler requirement but where the binary
output is not expected to change at all. It is mostly about getting the
compiler to understand what is happening, what is intended in the cases where
the old ambiguity does actually match the new unambiguous description of what
is intended. The binary shouldn’t change. We have
&lt;a href=&quot;https://outflux.net/blog/archives/2022/06/24/finding-binary-differences/&quot;&gt;used &lt;em&gt;diffoscope&lt;/em&gt; to compare&lt;/a&gt;
the before and after binaries to confirm that “yep, there is no change in
binary”.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: You cannot just use checksums for that?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; For the most part, we need to only compare the text segments. We try
to hold as much stable as we can, following the
&lt;a href=&quot;https://docs.kernel.org/kbuild/reproducible-builds.html&quot;&gt;Reproducible Builds documentation for the kernel&lt;/a&gt;,
but there are macros in the kernel that are sensitive to source line numbers
and as a result those will change the layout of the data segment (and sometimes
the text segment too). With diffoscope there’s flexibility where I can exclude
or include different comparisons. Sometimes I just go look at what diffoscope
is doing and do that manually, because I can tweak that a little harder, but
diffoscope is definitely the default. Diffoscope is awesome!&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: Where has reproducible builds affected you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; One of the notable wins of reproducible builds lately was
dealing with the fallout of the &lt;a href=&quot;https://en.wikipedia.org/wiki/XZ_Utils_backdoor&quot;&gt;XZ backdoor&lt;/a&gt; and just being able to ask
the question “is my build environment running the expected
code?” and to be able to compare the output generated from one
install that never had a vulnerable XZ and one that did have a
vulnerable XZ and compare the results of what you get. That was
important for kernel builds because the XZ threat actor was working to
&lt;a href=&quot;https://lore.kernel.org/lkml/27db456edeb6f72e7e229c2333c5d8449718c26e.camel@16bits.net/&quot;&gt;expand their influence and capabilities to include Linux kernel&lt;/a&gt;
builds, but they didn’t finish their work before they were noticed. I
think what happened with &lt;a href=&quot;https://lists.reproducible-builds.org/pipermail/rb-general/2024-March/003321.html&quot;&gt;Debian proving the build infrastructure was not affected&lt;/a&gt; is an
important example of how people would have needed to verify the kernel
builds too.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: What do you want to see for the near or distant future in security work?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; For reproducible builds in the kernel, in the work that has been
going on in the &lt;a href=&quot;https://clangbuiltlinux.github.io/&quot;&gt;&lt;em&gt;ClangBuiltLinux&lt;/em&gt; project&lt;/a&gt;, one of the driving forces of
code and usability quality has been the
continuous integration work. As soon as something breaks, on the
kernel side, the Clang side, or something in between the two, we get a
fast signal and can chase it and fix the bugs quickly. I would like to
see someone with funding to maintain a reproducible kernel build
CI. There have been places where there are certain
architecture configurations or certain build configuration where we lose
reproducibility and right now we have sort of a standard open source
development feedback loop where those things get fixed but the time
in between introduction and fix can be large. Getting a CI for
reproducible kernels would give us the opportunity to shorten that
time.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: Well, thanks for that! Any last closing thoughts?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kees:&lt;/strong&gt; I am a big fan of reproducible builds, thank you for all your work.
The world is a safer place because of it.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vagrant: Likewise for your work!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
&lt;em&gt;For more information about the Reproducible Builds project, please see our website at
&lt;a href=&quot;/&quot;&gt;reproducible-builds.org&lt;/a&gt;. If you are interested in
ensuring the ongoing security of the software that underpins our civilisation
and wish to sponsor the Reproducible Builds project, please reach out to the
project by emailing
&lt;a href=&quot;mailto:contact@reproducible-builds.org&quot;&gt;contact@reproducible-builds.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
        <pubDate>Sun, 29 Sep 2024 00:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2024/09/29/supporter-spotlight-kees-cook/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2024/09/29/supporter-spotlight-kees-cook/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Reproducible Builds at FOSDEM 2024</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3353-reproducible-builds-the-first-ten-years/&quot;&gt;&lt;img src=&quot;/images/news/2024-02-08-reproducible-builds-at-fosdem-2024/fosdem.jpeg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Core Reproducible Builds developer Holger Levsen presented at the main track at &lt;a href=&quot;https://fosdem.org/2024/&quot;&gt;FOSDEM&lt;/a&gt; on Saturday 3rd February this year in Brussels, Belgium. Titled &lt;em&gt;Reproducible Builds: The First Ten Years&lt;/em&gt;…&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In this talk Holger ‘h01ger’ Levsen will give an overview about Reproducible Builds: How it started with a small BoF at DebConf13 (and before), then grew from being a Debian effort to something many projects work on together, until in 2021 it was mentioned in an Executive Order of the President of the United States. And of course, the talk will not end there, but rather outline where we are today and where we still need to be going, until Debian stable (and other distros!) will be 100% reproducible, verified by many.&lt;/p&gt;

  &lt;p&gt;h01ger has been involved in reproducible builds since 2014 and so far has set up automated reproducibility testing for Debian, Fedora, Arch Linux, FreeBSD, NetBSD and coreboot.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3353-reproducible-builds-the-first-ten-years/&quot;&gt;&lt;img src=&quot;/images/news/2024-02-08-reproducible-builds-at-fosdem-2024/video.png#center&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More information can be found on FOSDEM’s &lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3353-reproducible-builds-the-first-ten-years/&quot;&gt;own page for the talk&lt;/a&gt;, including a &lt;a href=&quot;https://video.fosdem.org/2024/k1105/fosdem-2024-3353-reproducible-builds-the-first-ten-years.av1.webm&quot;&gt;video recording&lt;/a&gt; and &lt;a href=&quot;https://reproducible-builds.org/_lfs/presentations/2024-02-03-R-B-the-first-10-years/#/&quot;&gt;slides&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Separate from Holger’s talk, however, there were a number of other talks about reproducible builds at FOSDEM this year:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1769-reproducible-builds-for-confidential-computing-why-remote-attestation-is-worthless-without-it/&quot;&gt;Reproducible builds for confidential computing: Why remote attestation is worthless without it&lt;/a&gt; by &lt;a href=&quot;https://chaos.social/@malte&quot;&gt;Malte Poll&lt;/a&gt; and &lt;a href=&quot;https://infosec.exchange/@katexochen&quot;&gt;Paul Meyer&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1755-risc-v-bootstrapping-in-guix-and-live-bootstrap/&quot;&gt;RISC-V Bootstrapping in Guix and Live-Bootstrap&lt;/a&gt; by &lt;a href=&quot;https://ekaitz.elenq.tech/&quot;&gt;Ekaitz&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1767-rix-an-r-package-for-reproducible-dev-environments-with-nix/&quot;&gt;rix: an R package for reproducible dev environments with Nix&lt;/a&gt; by &lt;a href=&quot;https://www.brodrigues.co/&quot;&gt;Bruno Rodrigues&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-2651-making-reproducible-and-publishable-large-scale-hpc-experiments/&quot;&gt;Making reproducible and publishable large-scale HPC experiments&lt;/a&gt; by &lt;a href=&quot;https://ph-sw.fr/&quot;&gt;Philippe Swartvagher&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-2848-documenting-and-fixing-non-reproducible-builds-due-to-configuration-options/&quot;&gt;Documenting and Fixing Non-Reproducible Builds due to Configuration Options&lt;/a&gt; by &lt;a href=&quot;https://perso.eleves.ens-rennes.fr/people/georges-aaron.randrianaina/&quot;&gt;RANDRIANAINA Georges Aaron&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;… and there was even an &lt;a href=&quot;https://fosdem.org/2024/schedule/track/software-bill-of-materials/&quot;&gt;entire track on Software Bill of Materials&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2024/02/08/reproducible-builds-at-fosdem-2024/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2024/02/08/reproducible-builds-at-fosdem-2024/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Farewell from the Reproducible Builds Summit 2023!</title>
        <description>&lt;p class=&quot;lead&quot;&gt;Farewell from the &lt;em&gt;Reproducible Builds&lt;/em&gt; summit, which just took place in &lt;strong&gt;Hamburg, Germany&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/events/hamburg2023/&quot;&gt;&lt;img src=&quot;/images/news/2023-11-02-farewell-from-the-reproducible-builds-summit-2023/group_photo.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This year, we were thrilled to host the seventh edition of this exciting event. Topics covered this year included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Project updates from openSUSE, Fedora, Debian, ElectroBSD, Reproducible Central and NixOS&lt;/li&gt;
  &lt;li&gt;Mapping the “big picture”&lt;/li&gt;
  &lt;li&gt;Towards a snapshot service&lt;/li&gt;
  &lt;li&gt;Understanding user-facing needs and personas&lt;/li&gt;
  &lt;li&gt;Language-specific package managers&lt;/li&gt;
  &lt;li&gt;Defining our definitions&lt;/li&gt;
  &lt;li&gt;Creating a “Ten Commandments” of reproducibility&lt;/li&gt;
  &lt;li&gt;Embedded systems&lt;/li&gt;
  &lt;li&gt;Next steps in GNU Guix’ reproducibility&lt;/li&gt;
  &lt;li&gt;Signature storage and sharing&lt;/li&gt;
  &lt;li&gt;Public verification services&lt;/li&gt;
  &lt;li&gt;Verification use cases&lt;/li&gt;
  &lt;li&gt;Web site audiences&lt;/li&gt;
  &lt;li&gt;Enabling new projects to be “born reproducible”&lt;/li&gt;
  &lt;li&gt;Collecting reproducibility success stories&lt;/li&gt;
  &lt;li&gt;Reproducibility’s relationship to SBOMs&lt;/li&gt;
  &lt;li&gt;SBOMs for RPM-based distributions&lt;/li&gt;
  &lt;li&gt;Filtering diffoscope output&lt;/li&gt;
  &lt;li&gt;Reproducibility of filesystem images, filesystems and containers&lt;/li&gt;
  &lt;li&gt;Using verification data&lt;/li&gt;
  &lt;li&gt;A deep-dive on Fedora and Arch Linux package reproducibility&lt;/li&gt;
  &lt;li&gt;Debian rebuild archive service discussion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;… as well as countless informal discussions and hacking sessions into the night. Projects represented at the venue included:&lt;/p&gt;

&lt;div class=&quot;text-center text-muted&quot;&gt;
Debian, openSUSE, QubesOS, GNU Guix, Arch Linux, phosh, Mobian, PureOS, JustBuild, LibreOffice, Warpforge, OpenWrt, F-Droid, NixOS, ElectroBSD, Apache Security, Buildroot, Systemd, Apache Maven, Fedora, Privoxy, CHAINS (KTH Royal Institute of Technology), coreboot, GitHub, Tor Project, Ubuntu, rebuilderd, repro-env, spytrap-adb, arch-repro-status, etc.
&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;A huge thanks to our sponsors and partners for making the event possible:&lt;/p&gt;

&lt;div class=&quot;row p-md-4 p-sm-2 pt-5 pb-5&quot;&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://aspirationtech.org/&quot;&gt;
                &lt;img class=&quot;px-5 pt-5 pb-4 project-img&quot; src=&quot;/images/logos/aspirationtech.jpg&quot; alt=&quot;Aspiration&quot; /&gt;
            &lt;/a&gt;
            &lt;p class=&quot;text-muted mb-4&quot;&gt;Event facilitation&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://mullvad.net/&quot; name=&quot;Mullvad&quot;&gt;
                &lt;img class=&quot;px-5 pt-5 pb-4 project-img&quot; src=&quot;/assets/images/sponsors/mullvad.svg&quot; alt=&quot;Mullvad&quot; /&gt;
            &lt;/a&gt;
            &lt;p class=&quot;text-muted mb-4&quot;&gt;Platinum sponsor&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://www.opensuse.org/&quot; name=&quot;openSUSE&quot;&gt;
                &lt;img class=&quot;px-5 pt-5 project-img&quot; src=&quot;/images/logos/openSUSE.png&quot; alt=&quot;openSUSE&quot; /&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://www.debian.org/&quot; name=&quot;Debian&quot;&gt;
                &lt;img class=&quot;p-5 project-img&quot; src=&quot;/images/logos/debian.png&quot; alt=&quot;Debian&quot; /&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://sfconservancy.org/&quot; name=&quot;Software Freedom Conservancy&quot;&gt;
                &lt;img class=&quot;p-5 project-img&quot; src=&quot;/images/logos/sfconservancy.svg&quot; alt=&quot;Software Freedom Conservancy&quot; /&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col-xs-12 col-sm-6 mb-6 pb-3 mx-auto&quot;&gt;
        &lt;div class=&quot;card text-center&quot;&gt;
            &lt;a href=&quot;https://www.debian.org/&quot; name=&quot;allotropia software GmbH&quot;&gt;
                &lt;img class=&quot;p-5 project-img&quot; src=&quot;/assets/images/sponsors/allotropia.svg&quot; alt=&quot;allotropia software GmbH&quot; /&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;If you weren’t able to make it this year, don’t worry; just look out for an announcement in 2024 for the next event.&lt;/p&gt;
</description>
        <pubDate>Thu, 02 Nov 2023 00:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2023/11/02/farewell-from-the-reproducible-builds-summit-2023/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2023/11/02/farewell-from-the-reproducible-builds-summit-2023/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Supporter spotlight: Simon Butler on business adoption of Reproducible Builds</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://www.his.se/en/about-us/staff/simon.butler/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-simon-butler/simon.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;big&gt;The Reproducible Builds project &lt;a href=&quot;/who/&quot;&gt;relies on several projects, supporters and sponsors&lt;/a&gt; for financial support, but they are also valued as ambassadors who spread the word about our project and the work that we do.&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;This is the &lt;em&gt;seventh&lt;/em&gt; instalment in a series featuring the projects, companies and individuals who support the Reproducible Builds project. We started this series by &lt;a href=&quot;/news/2020/10/21/supporter-spotlight-cip-project/&quot;&gt;featuring the Civil Infrastructure Platform&lt;/a&gt; project, and followed this up with a &lt;a href=&quot;/news/2021/04/06/supporter-spotlight-ford-foundation/&quot;&gt;post about the Ford Foundation&lt;/a&gt; as well as recent ones about &lt;a href=&quot;/news/2022/04/14/supporter-spotlight-ardc/&quot;&gt;ARDC&lt;/a&gt;, the &lt;a href=&quot;/news/2022/04/26/supporter-spotlight-google-open-source-security-team/&quot;&gt;Google Open Source Security Team (GOSST)&lt;/a&gt;, &lt;a href=&quot;/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/&quot;&gt;Bootstrappable Builds&lt;/a&gt;, &lt;a href=&quot;/news/2022/06/24/supporter-spotlight-hans-christoph-steiner-f-droid-project/&quot;&gt;the F-Droid project&lt;/a&gt; and &lt;a href=&quot;/news/2022/12/15/supporter-spotlight-davidawheeler-supply-chain-security/&quot;&gt;David A. Wheeler&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, however, we will be talking with &lt;big&gt;&lt;strong&gt;Simon Butler&lt;/strong&gt;&lt;/big&gt;, an associate senior lecturer in the School of
Informatics at the &lt;a href=&quot;https://www.his.se/en/&quot;&gt;University of Skövde&lt;/a&gt;, where he undertakes research in software engineering that focuses on IoT and open source software, and contributes to the teaching of computer science to undergraduates.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: For those who have not heard of it before, can you tell us more about the School of Informatics at Skövde University?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon&lt;/strong&gt;: Certainly, but I may be a little long-winded. Skövde is a city in the area between the two large lakes in southern Sweden. The city is a busy place. Skövde is home to the regional hospital, some of Volvo’s manufacturing facilities, two regiments of the Swedish defence force, a lot of businesses in the &lt;a href=&quot;https://swedengamearena.com/en/&quot;&gt;Swedish computer games industry&lt;/a&gt;, other tech companies and more.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.his.se/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-simon-butler/skovde-campus.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The University of Skövde is relatively small. Sweden’s large land area and low population density mean that regional centres such as Skövde are important and local universities support businesses by training new staff and supporting innovation.&lt;/p&gt;

&lt;p&gt;The School of Informatics has two divisions. One focuses on teaching and researching computer games. The other division encompasses a wider range of teaching and research, including computer science, web development, computer security, network administration, data science and so on.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://link.springer.com/article/10.1007/s11219-022-09607-z&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-simon-butler/paper.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: You recently &lt;a href=&quot;https://link.springer.com/article/10.1007/s11219-022-09607-z&quot;&gt;had a open-access paper published in Software Quality Journal&lt;/a&gt;. Could you tell us a little bit more about it and perhaps briefly summarise its key findings?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon:&lt;/strong&gt; The paper is one output of a collaborative research project with six Swedish businesses that use open source software. There are two parts to the paper. The first consists of an analysis of what the group of businesses in the project know about Reproducible Builds (R-Bs), their experiences with R-Bs and their perception of the value of R-Bs to the businesses. The second part is an interview study with business practitioners and others with experience and expertise in R-Bs.&lt;/p&gt;

&lt;p&gt;We set out to try to understand the extent to which software-intensive businesses were aware of R-Bs, the technical and business reasons they were or were not using R-Bs and to document the business and technical use cases for R-Bs. The key findings were that businesses are aware of R-Bs, and some are using R-Bs as part of their day-to-day development process. Some of the uses for R-Bs we found were not previously documented. We also found that businesses understood the value R-Bs have as part of engineering and software quality processes. They are also aware of the costs of implementing R-Bs and that R-Bs are an “intangible value proposition” - in other words, businesses can add value through process improvement by using R-Bs. But, that, currently at least, R-Bs are not a selling point for software or products.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: You performed a large number of interviews in order to prepare your paper. What was the most surprising response to you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon:&lt;/strong&gt; “Most surprising” is a good question. Everybody I spoke to brought something new to my understanding of R-Bs, and many responses surprised me. The interviewees that surprised me most were I01 and I02 (interviews were anonymised and interviewees were assigned numeric identities).&lt;/p&gt;

&lt;p&gt;I02 described the sceptical perspective that there is a viable, pragmatic alternative to R-Bs - verifiable builds - which I was aware of before undertaking the research. The company had developed a sufficiently robust system for their needs and worked well. With a large archive of software used in production, they couldn’t justify the cost of retrofitting a different solution that might only offer small advantages over the existing system.&lt;/p&gt;

&lt;p&gt;Doesn’t really sound too surprising, but the interview was one of the first I did on this topic, and I was very focused on the value of, and need for, trust in a system that motivated the R-B. The solution used by the company requires trust, but they seem to have established sufficient trust for their needs by securing their build systems to the extent that they are more or less tamper-proof.&lt;/p&gt;

&lt;p&gt;The other big surprise for me was I01’s use of R-Bs to support the verification of system configuration in a system with multiple embedded components at boot time. It’s such an obvious application of R-Bs, and exactly the kind of response I hoped to get from interviewees. However, it is another instance of a solution where trust is only one factor. In the first instance, the developer is using R-Bs to establish trust in the toolchain. There is also the second application that the developer can use a set of R-Bs to establish that deployed system consists of compatible components. While this might not sound too significant, there appear to be some important potential applications. One that came to mind immediately is a problem with firmware updates on nodes in IoT systems where the node needs to update quickly with limited downtime and without failure. The node also needs to be able to roll back any update proposed by a server if there are conflicts with the current configuration or if any tests on the node fail. Perhaps the chances of failure could be reduced, if a node can instead negotiate with a server to determine a safe path to migrate from its current configuration to a working configuration with the upgraded components the central system requires? Another potential application appears to be in the configuration management of AI systems, where decisions need to be explainable. A means of specifying validated configurations of training data, models and deployed systems might, perhaps, be leveraged to prevent invalid or broken configurations from being deployed in production.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: One of your findings was that reproducible builds were perceived to be “good engineering practice”. To what extent do you believe cultural forces affect the adoption or rejection of a given technology or practice?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simon: To a large extent. People’s decisions are informed by cultural norms, and business decisions are made by people acting collectively. Of course, decision-making, including assessments of risk and usefulness, is mediated by individual positions on the continuum from conformity to non-conformity, as well as individual and in-group norms. Whether a business will consider a given technology for adoption will depend on cultural forces. The decision to adopt may well be made on the grounds of cost and benefits.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Another conclusion implied by your research is that businesses are often dealing with software deployment lifespans (eg. 20+ years) that differ from widely from those of the typical hobbyist programmer. To what degree do you think this temporal mismatch is a problem for both groups?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon&lt;/strong&gt;: This is a fascinating question. Long-term software maintenance is a requirement in some industries because of the working lifespans of the products and legal requirements to maintain the products for a fixed period. For some other industries, it is less of a problem. Consequently, I would tend to divide developers into those who have been exposed to long-term maintenance problems and those who have not. Although, more professional than hobbyist developers will have been exposed to the problem. Nonetheless, there are areas, such as music software, where there are also long-term maintenance challenges for data formats and software.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Based on your research, what would you say are the biggest blockers for the adoption of reproducible builds within ‘business’? And, based on this, would you have any advice or recommendations for the broader reproducible builds ecosystem?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon&lt;/strong&gt;: From the research, the main blocker appears to be cost. Not an absolute cost, but there is an overhead to introducing R-Bs. Businesses (and thus business managers) need to understand the business case for R-Bs.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://chains.proj.kth.se/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-simon-butler/chains.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Making decision-makers in businesses aware of R-Bs and that they are valuable will take time. Advocacy at multiple levels appears to be the way forward and this is being done. I would recommend being persistent while being patient and to keep talking about reproducible builds. The work done in Linux distributions raises awareness of R-Bs amongst developers. Guix, NixOS and Software Heritage are all providing practical solutions and getting attention - I’ve been seeing progressively more mentions of all three during the last couple of years. Increased awareness amongst developers should lead to more interest within companies. There is also research money being assigned to supply chain security and R-B’s. The &lt;a href=&quot;https://chains.proj.kth.se/&quot;&gt;CHAINS project at KTH in Stockholm&lt;/a&gt; is one example of a strategic research project. There may be others that I’m not aware of. The policy-level advocacy is slowly getting results in some countries, and where CISA leads, others may follow.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Was there a particular reason you alighted on the question of the adoption of reproducible builds in business? Do you think there’s any truth behind the shopworn stereotype of ‘hacker types’ neglecting the resources that ‘business’ might be able to offer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon&lt;/strong&gt;: Much of the motivation for the research came from the contrast between the visibility of R-Bs in open source projects and the relative invisibility of R-Bs in industry. Where companies are known to be using R-Bs (e.g. Google, etc.) there is no fuss, no hype. They were not selling R-Bs as a solution; instead the documentation is very matter-of-fact that R-Bs are part of a customer-facing process in their cloud solutions.&lt;/p&gt;

&lt;p&gt;An obvious question for me was that if some people use R-B’s in software development, why doesn’t everybody? There are limits to the tooling for some programming languages that mean R-Bs are difficult or impossible. But where creating an R-B is practical, why are they not used more widely?&lt;/p&gt;

&lt;p&gt;So, to your second question. There is another factor, which seems to be more about a lack of communication rather than neglecting opportunities. Businesses may not always be willing to discuss their development processes and innovations. Though I do think the increasing number of conferences (big and small) for software practitioners is helping to facilitate more communication and greater exchange of ideas.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Has your personal view of reproducible builds changed since before you embarked on writing this paper?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon:&lt;/strong&gt; Absolutely! In the early stages of the research, I was interested in questions of trust and how R-Bs were applied to resolve build and supply chain security problems. As the research developed, however, I started to see there were benefits to the use of R-Bs that were less obvious and that, in some cases, an R-B can have more than a single application.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Finally, do you have any plans to do future research touching on reproducible builds?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simon&lt;/strong&gt;: Yes, definitely. There are a set of problems that interest me. One already mentioned is the use of reproducible builds with AI systems. Interpretable or explainable AI (XAI) is a necessity, and I think that R-Bs can be used to support traceability in the configuration and testing of both deployed systems and systems used during model training and evaluation.&lt;/p&gt;

&lt;p&gt;I would also like to return to a problem discussed briefly in the article, which is to develop a deeper understanding of the elements involved in the application of R-Bs that can be used to support reasoning about existing and potential applications of R-Bs. For example, R-Bs can be used to establish trust for different groups of individuals at different times, say, between remote developers prior to the release of software and by users after release. One question is whether &lt;em&gt;when&lt;/em&gt; an R-B is used might be a significant factor. Another group of questions concerns the ways in which trust (of some sort) propagates among users of an R-B. There is an example in the paper of a company that rebuilds Debian reproducibly for security reasons and is then able to collaborate on software projects where software is built reproducibly with other companies that use public distributions of Debian.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.his.se/en/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-simon-butler/skovde.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris&lt;/strong&gt;: Many thanks for this interview, Simon. If someone wanted to get in touch or learn more about you and your colleagues at the School of Informatics, where might they go?&lt;/p&gt;

&lt;p&gt;Thank you for the opportunity. It has been a pleasure to reflect a little more widely on the research!&lt;/p&gt;

&lt;p&gt;Personally, you can find out about my work &lt;a href=&quot;https://www.his.se/en/about-us/staff/simon.butler/&quot;&gt;on my ‘official’ homepage&lt;/a&gt; and on &lt;a href=&quot;https://simonbutler.se/&quot;&gt;my personal site&lt;/a&gt;. The software systems research group (SSRG) &lt;a href=&quot;https://www.his.se/en/research/informatics/software-systems-research-group/&quot;&gt;has a website&lt;/a&gt;, and the &lt;a href=&quot;https://www.his.se/en/&quot;&gt;University of Skövde’s English language pages&lt;/a&gt; are also available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Many thanks for this interview, Simon!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
&lt;em&gt;For more information about the Reproducible Builds project, please see our website at
&lt;a href=&quot;/&quot;&gt;reproducible-builds.org&lt;/a&gt;. If you are interested in
ensuring the ongoing security of the software that underpins our civilisation
and wish to sponsor the Reproducible Builds project, please reach out to the
project by emailing
&lt;a href=&quot;mailto:contact@reproducible-builds.org&quot;&gt;contact@reproducible-builds.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 01 Aug 2023 11:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2023/08/01/supporter-spotlight-simon-butler/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2023/08/01/supporter-spotlight-simon-butler/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Reproducible Builds Summit 2023 in Hamburg</title>
        <description>&lt;p class=&quot;lead&quot;&gt;We are glad to announce the upcoming &lt;em&gt;Reproducible Builds Summit&lt;/em&gt;, set to take place from &lt;strong&gt;October 31st to November 2nd, 2023&lt;/strong&gt;, in the vibrant city of &lt;strong&gt;Hamburg, Germany&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This year, we are thrilled to host the seventh edition of this exciting event following the success of previous summits in various iconic locations around the world, including &lt;a href=&quot;/events/venice2022/&quot;&gt;Venice&lt;/a&gt; (2022), &lt;a href=&quot;/events/Marrakesh2019/&quot;&gt;Marrakesh&lt;/a&gt; (2019), &lt;a href=&quot;/events/paris2018/&quot;&gt;Paris&lt;/a&gt; (2018), &lt;a href=&quot;/events/berlin2017/&quot;&gt;Berlin&lt;/a&gt; (2017), &lt;a href=&quot;/events/berlin2016/&quot;&gt;Berlin&lt;/a&gt; (2016) &lt;a href=&quot;/events/athens2015/&quot;&gt;Athens&lt;/a&gt; (2015).&lt;/p&gt;

&lt;p&gt;If you’re excited about joining us this year, please make sure to read &lt;a href=&quot;/events/hamburg2023&quot;&gt;the event page which has more details about the event and location&lt;/a&gt;. As in previous years, we will be sending invitations to all those who attended our previous summit events or expressed interest to do so. However also without receiving such a personal invitation please do &lt;a href=&quot;mailto:2023-summit-team@lists.reproducible-builds.org&quot;&gt;email the organizers&lt;/a&gt; and we will find a way to accommodate you.&lt;/p&gt;

&lt;h3 id=&quot;about-the-event&quot;&gt;About the event&lt;/h3&gt;

&lt;p&gt;The Reproducible Builds Summit is a unique gathering that brings together attendees from diverse projects, united by a shared vision of advancing the Reproducible Builds effort. During this enriching event, participants will have the opportunity to engage in discussions, establish connections and exchange ideas to drive progress in this vital field. Our aim is to create an inclusive space that fosters collaboration, innovation and problem-solving.&lt;/p&gt;

&lt;p&gt;With your help, we will bring this space (and several other inside areas) into life:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/hamburg2023/fux_outdoor.jpg&quot; width=&quot;640px&quot; /&gt;&lt;br /&gt;
 &lt;em class=&quot;small&quot;&gt;The outside area at dock-europe (source: dock-europe.net)&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;schedule&quot;&gt;Schedule&lt;/h3&gt;

&lt;p&gt;Although the exact content of the meeting will be shaped by the participants, the main goals will include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Update &amp;amp; exchange about the status of reproducible builds in various projects.&lt;/li&gt;
  &lt;li&gt;Improve collaboration both between and inside projects.&lt;/li&gt;
  &lt;li&gt;Expand the scope and reach of reproducible builds to more projects.&lt;/li&gt;
  &lt;li&gt;Work together and hack on solutions.&lt;/li&gt;
  &lt;li&gt;Establish space for more strategic and long-term thinking than is possible in virtual channels.&lt;/li&gt;
  &lt;li&gt;Brainstorm designs on tools enabling users to get the most benefits from reproducible builds.&lt;/li&gt;
  &lt;li&gt;Discuss how reproducible builds will be usable and meaningful to users and developers alike.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logs and minutes will be published after the meeting.&lt;/p&gt;

&lt;h3 id=&quot;location--date&quot;&gt;Location &amp;amp; date&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;October 31st to November 2nd, 2023&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://dock-europe.net/&quot;&gt;Dock Europe&lt;/a&gt;, Zeiseweg 9, 22765, Hamburg, Germany.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;registration-instructions&quot;&gt;Registration instructions&lt;/h3&gt;

&lt;p&gt;Please &lt;a href=&quot;/events/hamburg2023&quot;&gt;reach out&lt;/a&gt; if you’d like to participate in hopefully interesting, inspiring and intense technical sessions about reproducible builds and beyond!&lt;/p&gt;

&lt;p&gt;We look forward to what we anticipate to be an extraordinary event!&lt;/p&gt;
</description>
        <pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2023/07/05/reproducible-builds-hamburg-meeting/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2023/07/05/reproducible-builds-hamburg-meeting/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Supporter spotlight: David A. Wheeler on supply chain security</title>
        <description>&lt;p&gt;&lt;big&gt;The Reproducible Builds project &lt;a href=&quot;/who/&quot;&gt;relies on several projects, supporters and sponsors&lt;/a&gt; for financial support, but they are also valued as ambassadors who spread the word about our project and the work that we do.&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;This is the &lt;em&gt;sixth&lt;/em&gt; instalment in a series featuring the projects, companies and individuals who support the Reproducible Builds project. We started this series by &lt;a href=&quot;/news/2020/10/21/supporter-spotlight-cip-project/&quot;&gt;featuring the Civil Infrastructure Platform&lt;/a&gt; project and followed this up with a &lt;a href=&quot;/news/2021/04/06/supporter-spotlight-ford-foundation/&quot;&gt;post about the Ford Foundation&lt;/a&gt; as well as a recent ones about &lt;a href=&quot;/news/2022/04/14/supporter-spotlight-ardc/&quot;&gt;ARDC&lt;/a&gt;, the &lt;a href=&quot;/news/2022/04/26/supporter-spotlight-google-open-source-security-team/&quot;&gt;Google Open Source Security Team (GOSST)&lt;/a&gt;, &lt;a href=&quot;/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/&quot;&gt;Jan Nieuwenhuizen on Bootstrappable Builds, GNU Mes and GNU Guix&lt;/a&gt; and &lt;a href=&quot;/news/2022/06/24/supporter-spotlight-hans-christoph-steiner-f-droid-project/&quot;&gt;Hans-Christoph Steiner of the F-Droid project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, however, we will be talking with &lt;big&gt;&lt;strong&gt;David A. Wheeler&lt;/strong&gt;&lt;/big&gt;, the Director of Open Source Supply Chain Security at the &lt;a href=&quot;https://www.linuxfoundation.org/&quot;&gt;Linux Foundation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/news/supporter-spotlight-david-a-wheeler/dwheeler-2003c.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger Levsen: Welcome, David, thanks for taking the time to talk with us today. First, could you briefly tell me about yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: Sure! I’m David A. Wheeler and
I work for the &lt;a href=&quot;https://www.linuxfoundation.org/&quot;&gt;Linux Foundation&lt;/a&gt; as the Director of Open Source Supply Chain Security.
That just means that my job is to help open source software projects
improve their security, including its development, build, distribution,
and incorporation in larger works, all the way out to its eventual use by end-users.
In my copious free time I also teach at &lt;a href=&quot;https://www.gmu.edu/&quot;&gt;George Mason University&lt;/a&gt; (GMU); in particular,
I teach a graduate course on how to design and implement secure software.&lt;/p&gt;

&lt;p&gt;My background is technical. I have a Bachelor’s in Electronics Engineering,
a Master’s in Computer Science and a PhD in Information Technology.&lt;/p&gt;

&lt;p&gt;My PhD dissertation is connected to reproducible builds.
My PhD dissertation was on countering the ‘Trusting Trust’ attack, an attack
that subverts fundamental build system tools such as compilers.
The attack was discovered by Karger &amp;amp; Schell in the 1970s, and later
demonstrated &amp;amp; popularized by Ken Thompson.
In &lt;a href=&quot;https://dwheeler.com/trusting-trust&quot;&gt;my dissertation on ‘trusting trust’&lt;/a&gt; I showed that a process
called ‘Diverse Double-Compiling’ (DDC) could detect trusting trust attacks.
That process is a specialized kind of reproducible build specifically designed
to detect trusting trust style attacks. In addition, countering the trusting trust
attack primarily becomes more important only when reproducible builds become
more common. Reproducible builds enable detection of
build-time subversions.
Most attackers wouldn’t bother with a trusting trust attack if they could just
directly use a build-time subversion of the software they actually want to subvert.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: Thanks for taking the time to introduce yourself to us. What do you think are the biggest challenges today in computing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are many big challenges in computing today. For example:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Lack of resilience &amp;amp; capacity in chip fabrication. Fabs are extraordinarily expensive,
and at the high end continue to have technological advancement.
As a result, supply is failing to meet demand, and geopolitical issues raise further concerns.
We’ve seen cars, gaming consoles and many other devices
unable to be delivered due to chip shortages. More fabs are
being built, and some politicians are raising concerns, but it’s unclear
that current efforts will be enough.&lt;/li&gt;
  &lt;li&gt;Lack of enough developers able to develop the software that people &amp;amp; organizations need.
Computers are far faster, and open source software has made software reuse
incredibly easy. However, organizations still struggle to automate
many tasks. The bottleneck is the lack of enough talented developers able to convert
ideas into working software. ‘Low-code’ and ‘no-code’ approaches help in specialized areas,
just like all previous ‘automate the programmer’ efforts of the last 60 years, but
there’s no reason to believe they will help enough.&lt;/li&gt;
  &lt;li&gt;Large scale of software. Small systems are easier to develop &amp;amp; maintain, but today’s
systems increasingly get bigger to meet users’ needs &amp;amp; are much harder to manage.
Even small embedded systems are often supported by huge back-end systems.&lt;/li&gt;
  &lt;li&gt;Ending tail of Moore’s law &amp;amp; rise of smartphones. Historically people would just wait a few years for their
software to speed up, but Moore’s law is petering out, and smartphones are necessarily
limited by power &amp;amp; size limits. As a result, software developers
can’t wait for the hardware to save their slow systems; they must redesign.
Switching to faster languages, or using multiple processors, is much more difficult than
waiting for performance problems to disappear.&lt;/li&gt;
  &lt;li&gt;Continuous change in interfaces. Developers continuously find reasons to change
component interfaces: perhaps they’re too inflexible, too hard to use, and so on.
But now that developers are reusing hundreds, thousands, or tens of thousands of components,
managing the continuous change of the reused components is challenging.
Package managers make updating easy — but don’t automatically handle interface changes.
I think this is mostly a self-inflicted problem — most components &lt;em&gt;could&lt;/em&gt; support old interfaces
(like the Linux kernel does) — but because it’s often not acknowledged as a problem, it’s often not addressed.&lt;/li&gt;
  &lt;li&gt;Security &amp;amp; privacy. Decades ago there were fewer computers and most computers weren’t connected to a network.
Today things are different. Criminals have found many ways to attack computer systems to
make money, and nation-states have found many ways to attack computer systems for their own reasons.
Attackers now have very strong motivations to perform attacks.
Yet many developers aren’t told how to develop software that resists attacks, nor
how to protect their supply chains. Operations try to monitor and recover from
attacks, but their job is difficult due to inadequately secure software that doesn’t
support those monitoring &amp;amp; recovery efforts well either. The results are terrible security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: Do you think reproducible builds are an important part in secure computing today already?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: Yes, but first let’s put things in context.&lt;/p&gt;

&lt;p&gt;Today, when attackers exploit software vulnerabilities, they’re primarily
exploiting unintentional vulnerabilities that were created by the software
developers. There are a lot of efforts to counter this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Train &amp;amp; education developers in how to develop secure software.
The OpenSSF provides a &lt;a href=&quot;https://openssf.org/training/courses/&quot;&gt;free course on how to do that&lt;/a&gt; (full disclosure: I’m the author).
Take that course or something like it!&lt;/li&gt;
  &lt;li&gt;Add tools to your CI pipeline to detect potential vulnerabilities. Yes, they have false
positives and false negatives, so you have to also use your brain… but that just means you
need to be smart about using tools, instead of not using them.&lt;/li&gt;
  &lt;li&gt;Get projects &amp;amp; organizations to update the components they use,
since often the vulnerabilities are well-known publicly
(e.g., &lt;a href=&quot;https://en.wikipedia.org/wiki/2017_Equifax_data_breach&quot;&gt;Equifax in 2017&lt;/a&gt;). Add some tools to your development process to warn you about
components with known vulnerabilities! GitHub &amp;amp; GitLab both provide tools to do this,
and there are many other tools.&lt;/li&gt;
  &lt;li&gt;When starting new projects, try to use memory-safe languages. On average 70% of the
vulnerabilities in Chrome and in Microsoft are from memory safety problems; using a memory-safe
language eliminates most of them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’re just starting to get better at this, which is good. However, attackers always
try to attack the easiest target. As our deployed software has started to be hardened
against attack, attackers have dramatically increased their attacks
on the software supply chain (&lt;a href=&quot;https://www.sonatype.com/state-of-the-software-supply-chain/open-source-supply-demand-security&quot;&gt;Sonatype found in 2022 that there’s been a 742% increase year-over-year&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The software supply chain hasn’t historically gotten much attention, making it the easy target.&lt;/p&gt;

&lt;p&gt;There are simple supply chain attacks with simple solutions:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;In almost every year the top attack has been typosquatting. In typo squatting,
an attacker creates packages with &lt;em&gt;almost&lt;/em&gt; the right name. This is an easy attack to
counter — developers just need to double-check the name of a package before adding it.
But we aren’t warning developers enough about it!
For more information, see papers such as the &lt;a href=&quot;https://dasfreak.github.io/Backstabbers-Knife-Collection/&quot;&gt;Backstabber’s Knife Collection&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Last year the top software supply chain attack was ‘dependency confusion’ — convincing
projects to use the wrong repo for a given package. There are simple solutions to this, such as
specifying the package source and/or requiring a cryptographic hash to match.&lt;/li&gt;
  &lt;li&gt;Some attacks involve takeovers of developer accounts. In almost all cases, these are
caused by stolen passwords. Using a multi-factor authentication (MFA) token eliminates
stolen password attacks, which is why several
repositories are starting to require MFA tokens in some cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unfortunately, attackers know there are other lines of attack.
One of the most dangerous is subverted build systems, as demonstrated by
the subversion of SolarWinds’ Orion system. In a subverted build system,
developers can review the software source code all day and see no problem,
because there &lt;em&gt;is&lt;/em&gt; no problem there. Instead, the process to convert source code
into the code people run, called the ‘build system’, is subverted by an attacker.&lt;/p&gt;

&lt;p&gt;One solution for countering subverted build systems is to make the build systems harder
to attack. That’s a good thing to do, but you can never be confident that it was ‘good enough’.
How can you be sure it’s not subverted, if there’s no way to know?&lt;/p&gt;

&lt;p&gt;A stronger defense against subverted build systems is the idea of verified reproducible builds.
A build is reproducible if given the same source code, build environment and build instructions,
any party can recreate bit-by-bit identical copies of all specified artifacts.
A build is &lt;em&gt;verified&lt;/em&gt; if multiple different parties verify that they get the same result for that situation.
When you have a verified reproducible build, either all the parties colluded
(and you could always double-check it yourself), or the build process isn’t subverted.&lt;/p&gt;

&lt;p&gt;There is one last turtle: What if the build system tools or machines are subverted themselves?
This is not a common attack today, but it’s important to know if we &lt;em&gt;can&lt;/em&gt; address them
when the time comes. The good news is that we &lt;em&gt;can&lt;/em&gt; address this.
For some situations reproducible builds can also counter such attacks.
If there’s a loop (that is, a compiler is used to generate itself), that’s called the ‘trusting trust’ attack,
and that is more challenging. Thankfully, the ‘trusting trust’ attack has been known about for
decades and there are known solutions. The ‘diverse double-compiling’ (DDC) process that
I explained in my PhD dissertation, as well as the ‘bootstrappable builds’ process, can
both counter trusting trust attacks in the software space. So there is no reason to lose hope:
there is a ‘bottom turtle’, as it were.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: Thankfully, this has all slowly started to change and supply chain issues are now widely discussed, as evident by efforts like 
&lt;a href=&quot;https://www.cisa.gov/uscert/sites/default/files/publications/ESF_SECURING_THE_SOFTWARE_SUPPLY_CHAIN_DEVELOPERS.PDF&quot;&gt;Securing the Software Supply Chain: Recommended Practices Guide for Developers&lt;/a&gt;
which you shared &lt;a href=&quot;https://lists.reproducible-builds.org/listinfo/rb-general&quot;&gt;on our mailing list&lt;/a&gt;. In there, Reproducible Builds are mentioned as recommended advanced practice, which is both pretty cool (we’ve come a long way!), but to me it also sounds like this will take another decade until it’s become standard normal procedure. Do you agree on that timeline?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: I don’t think there will be any particular timeframe. Different projects and
ecosystems will move at different speeds. I wouldn’t be surprised if it
took a decade or so for them to become relatively common — there are
good reasons for that.&lt;/p&gt;

&lt;p&gt;Today the most common kinds of attacks based on software
vulnerabilities still involve unintentional vulnerabilities in operational systems.
Attackers are starting to apply supply chain attacks, but the top such attacks
today are typosquatting (creating packages with similar names) and
dependency confusion) (convincing projects to download packages from the wrong
repositories).&lt;/p&gt;

&lt;p&gt;Reproducible builds don’t counter those kinds of attacks, they
counter subverted builds. It’s important to eventually have verified
reproducible builds, but understandably other issues are currently getting
prioritized first.&lt;/p&gt;

&lt;p&gt;That said, reproducible builds are important long term.
Many people are working on countering unintentional vulnerabilities
and the most common kinds of supply chain attacks.
As these other threats are countered, attackers will increasingly target
build systems. Attackers always go for the weakest link.
We will eventually need verified reproducible builds in many situations, and
it’ll take a while to get build systems able to widely perform reproducible builds,
so we need to start that work now. That’s true for anything where you know
you’ll need it but it will take a long time to get ready — you need to start now.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: What are your suggestions to accelerate adoption?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: Reproducible builds need to be:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Easy (ideally automatic). Tools need to be modified so that reproducible builds
are the default or at least easier to do.&lt;/li&gt;
  &lt;li&gt;Transparent to projects &amp;amp; potential users. Many projects have no idea that their results aren’t
reproducible, and many potential users of the project don’t know either.
That information needs to be obvious. I’ve proposed that the OpenSSF
Dashboard SIG try to reproduce builds, for at least some packages, to make it
more obvious to everyone when a project isn’t reproducible. I don’t know if that
will happen in that particular case, but the point is to help people learn that information
as soon as possible.&lt;/li&gt;
  &lt;li&gt;Deployed.
Experiments are great, but experiments showing that a project &lt;em&gt;could&lt;/em&gt; be reproducible
are inadequate. We need the projects that people &lt;em&gt;use&lt;/em&gt; to be reproducible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think there’s a snowball effect. Once many projects’ packages are reproducible,
it will be easier to convince other projects to make their packages reproducible.&lt;/p&gt;

&lt;p&gt;I also think there should be some prioritization. If a package is in wide use
(e.g., part of minimum set of packages for a widely-used Linux distribution or
framework), its reproducibility should be a special focus. If a package is vital for
supporting some societally important critical infrastructure (e.g., running dams),
it should also be considered important. You can then work on the
ones that are less important over time.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: How is the &lt;a href=&quot;https://github.com/coreinfrastructure/best-practices-badge/&quot;&gt;Best Practices Badge&lt;/a&gt; going? How many projects are participating and how many are missing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: It’s going very well. You can &lt;a href=&quot;https://bestpractices.coreinfrastructure.org/project_stats&quot;&gt;see some automatically-generated statistics&lt;/a&gt;, showing we have over 5,000 projects, adding more than 1/day on average.
We have more than 900 projects that have earned at least the ‘passing’ badge level.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: How many of the projects participating in the Best Practices badge engaging with reproducible builds?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;David: As of this writing there are 168 projects that report meeting the reproducible builds criterion.
That’s a relatively small percentage of projects. However, note that this criterion (labelled &lt;em&gt;build_reproducible&lt;/em&gt;)
is only required for the ‘gold’ badge. It’s not required for the passing or silver level badge.&lt;/p&gt;

&lt;p&gt;Currently we’ve been strategically focused on getting projects to at least earn a passing badge,
and less on earning silver or gold badges.
We would &lt;em&gt;love&lt;/em&gt; for all projects to get earn a silver or gold badge, of course, but
our theory is that projects that can’t even earn a passing badge present the most risk to their users.&lt;/p&gt;

&lt;p&gt;That said, there are some projects we especially want to see implementing higher badge levels.
Those include projects that are very widely used, so that
vulnerabilities in them can impact many systems.
Examples of such projects include the Linux kernel and curl.
In addition, some projects are used within
systems where it’s important to society that they not have serious security vulnerabilities.
Examples include projects used by
chemical manufacturers, financial systems and weapons.
We definitely encourage any of those kinds of projects to earn higher badge levels.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Holger: Many thanks for this interview, David, and for all of your work at the Linux Foundation and elsewhere!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.linuxfoundation.org/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-david-a-wheeler/lf-stacked-color.svg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
&lt;em&gt;For more information about the Reproducible Builds project, please see our website at
&lt;a href=&quot;/&quot;&gt;reproducible-builds.org&lt;/a&gt;. If you are interested in
ensuring the ongoing security of the software that underpins our civilisation
and wish to sponsor the Reproducible Builds project, please reach out to the
project by emailing
&lt;a href=&quot;mailto:contact@reproducible-builds.org&quot;&gt;contact@reproducible-builds.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 15 Dec 2022 12:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2022/12/15/supporter-spotlight-davidawheeler-supply-chain-security/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2022/12/15/supporter-spotlight-davidawheeler-supply-chain-security/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Supporter spotlight: Hans-Christoph Steiner of the F-Droid project</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://f-droid.org/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/fdroid.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;big&gt;The Reproducible Builds project &lt;a href=&quot;/who/&quot;&gt;relies on several projects, supporters and sponsors&lt;/a&gt; for financial support, but they are also valued as ambassadors who spread the word about our project and the work that we do.&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;This is the &lt;em&gt;fifth&lt;/em&gt; instalment in a series featuring the projects, companies and individuals who support the Reproducible Builds project. We started this series by &lt;a href=&quot;/news/2020/10/21/supporter-spotlight-cip-project/&quot;&gt;featuring the Civil Infrastructure Platform&lt;/a&gt; project and followed this up with a &lt;a href=&quot;/news/2021/04/06/supporter-spotlight-ford-foundation/&quot;&gt;post about the Ford Foundation&lt;/a&gt; as well as a recent ones about &lt;a href=&quot;/news/2022/04/14/supporter-spotlight-ardc/&quot;&gt;ARDC&lt;/a&gt;, the &lt;a href=&quot;/news/2022/04/26/supporter-spotlight-google-open-source-security-team/&quot;&gt;Google Open Source Security Team (GOSST)&lt;/a&gt; and &lt;a href=&quot;/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/&quot;&gt; Jan Nieuwenhuizen on Bootstrappable Builds, GNU Mes and GNU Guix&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, however, we will be talking with &lt;big&gt;&lt;strong&gt;Hans-Christoph Steiner&lt;/strong&gt; from the &lt;strong&gt;F-Droid&lt;/strong&gt; project&lt;/big&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://at.or.at/hans/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/hans.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris Lamb: Welcome, Hans! Could you briefly tell me about yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hans: Sure. I spend most of my time trying to private communications software usable by everyone, designing interactive software with a focus on human perceptual capabilities and building networks with free software. I’ve been involved in Debian since approximately 2008 and became an official Debian developer in 2011. In the little time left over from that, I sometimes compose music with computers from my home in Austria.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: For those who have not heard of it before, what is the F-Droid project?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hans: F-Droid is a community-run app store that provides free software applications for Android phones. First and foremost our goal is to represent our users. In particular, we review all of the apps that we distribute, and these reviews not only check for whether something is definitely free software or not, we additionally look for ‘ethical’ problems with applications as well — issues that we call ‘Anti-Features’. Since the project began in 2010, F-Droid now offers almost 4,000 free-software applications.&lt;/p&gt;

&lt;p&gt;F-Droid is also a ‘app store kit’ as well, providing all the tools that are needed to operate an free app store of your own. It also includes complete build and release tools for managing the process of turning app source code into published builds.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: How exactly does F-Droid differ from the Google Play store? Why might someone use F-Droid over Google Play?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/screenshot.png#right&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hans: One key difference to the Google Play Store is that F-Droid does not ship proprietary software by default. All apps shipped from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;f-droid.org&lt;/code&gt; are built from source on our own builders. This is partly because F-Droid is backed by the free software community; that is, people who have engaged in the free software community long before Android was conceived, and, in particular, share many — if not all — of its values. Using F-Droid will therefore feel very familiar to anyone familiar with a modern Linux distribution.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: How do you describe reproducibility from the F-Droid point of view?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hans: All centralised software repositories are extremely tempting targets for exploitation by malicious third parties, and the kinds of personal or otherwise sensitive data on our phones only increase this risk. In F-Droid’s case, not only could the software we distribute be theoretically replaced with nefarious copies, the build infrastructure that generates that software could be compromised as well.&lt;/p&gt;

&lt;p&gt;F-Droid having reproducible builds is extremely important as it allows us to verify that our build systems have not been compromised and distributing malware to our users. In particular, if an independent build infrastructure can produce precisely the same results from a build, then we can be reasonably sure that they haven’t been compromised. Technically-minded users can also validate their builds on their own systems too, further increasing trust in our build infrastructure. (This can be performed using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fdroid verify&lt;/code&gt; command.)&lt;/p&gt;

&lt;p&gt;Our signature &amp;amp; trust scheme means that F-Droid can verify that an app is 100% free software whilst still using the developer’s original &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.APK&lt;/code&gt; file. More details about this may be found in our &lt;a href=&quot;https://f-droid.org/en/docs/Reproducible_Builds/&quot;&gt;reproducibility documentation&lt;/a&gt; and on the page about our &lt;a href=&quot;https://f-droid.org/docs/Verification_Server/&quot;&gt;Verification Server&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: How do you see F-Droid fitting into the rest of the modern security ecosystem?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://f-droid.org/en/docs/Anti-Features/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/antifeatures.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hans: Whilst F-Droid inherits all of the social benefits of free software, F-Droid takes special care to respect your privacy as well — we don’t attempt to track your device in any way. In particular, you don’t need an account to use the F-Droid client, and F-Droid doesn’t send any device-identifying information to our servers… other than its own version number.&lt;/p&gt;

&lt;p&gt;What is more, we mark all apps in our repository that track you, and users can choose to hide any apps that has been tagged with a specific &lt;a href=&quot;https://f-droid.org/en/docs/Anti-Features/&quot;&gt;Anti-Feature&lt;/a&gt; in the F-Droid settings. Furthermore, any personal data you decide to give us (such as your email address when registering for a forum account) goes no further than us as well, and we pledge that it will never be used for anything beyond merely maintaining your account.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: What would ‘fully reproducible’ mean to F-Droid? What it would look like if reproducibility was a ‘solved problem’? Or, rather, what would be your ‘ultimate’ reproducibility goals?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hans: In an ideal world, every application submitted to F-Droid would not only build reproducibly, but would come with a cryptographically-signed signature from the developer as well. Then we would only distribute an compiled application after a build had received a number of matching signatures from multiple, independent third parties. This would mean that our users were not placing their trust solely in software developers’ machines, and wouldn’t be trusting our centralised build servers as well.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: What are the biggest blockers to reaching this state? Are there any key steps or milestones to get there?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://f-droid.org/en/docs/Reproducible_Builds/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/publish-chart.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hans: Time is probably the main constraint to reaching this goal. Not only do we need system administrators on an ongoing basis but we also need to incorporate reproducibly checks into our Continuous Integration (CI) system. We are always looking for new developers to join our effort, as well as learning about how to better bring them up to speed.&lt;/p&gt;

&lt;p&gt;Separate to this, we often experience blockers with reproducibility-related bugs in the Android build tooling. Luckily, upstreams do ultimately address these issues, but in some cases this has taken three or four years to reach end-users and developers. Unfortunately, upstream is not chiefly concerned with the &lt;em&gt;security&lt;/em&gt; aspects of reproducibility builds; they care more about how it can minimise and optimise download size and speed.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Are you tracking any statistics about reproducibility in F-Droid over time? If so, can you share them? Does F-Droid track statistics about its own usage?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hans: To underline a topic touched on above, F-Droid is dedicated to preserving the privacy of its users; we therefore do not  record usage statistics. This is, of course, in contrast to other application stores.&lt;/p&gt;

&lt;p&gt;However, we &lt;em&gt;are&lt;/em&gt; in a position to track whether packages in F-Droid are reproducible or not. As in: what proportion of APKs in F-Droid have been independently verified over time? Unfortunately, due to time constraints, we do not yet automatically publish charts for this.&lt;/p&gt;

&lt;p&gt;We do publish some raw data that is related, though, and we naturally welcome contributions of visualizations based on any and all of our data. The “&lt;a href=&quot;https://f-droid.org/docs/All_our_APIs/&quot;&gt;All our APIs&lt;/a&gt;” page on our wiki is a good place to start for someone wanting to contribute, everything about reproducible F-Droid apps is available in JSON format, what’s missing are apps or dashboards making use of the available raw data.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Many thanks for this interview, Hans, and for all of your work on F-Droid and elsewhere. If someone wanted to get in touch or learn more about the project, where might someone go?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://f-droid.org/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-hans/fdroid.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hans: The best way to find out about F-Droid is, of course, the &lt;a href=&quot;https://f-droid.org/&quot;&gt;main F-Droid homepage&lt;/a&gt;, but we are also on Twitter &lt;a href=&quot;https://twitter.com/fdroidorg&quot;&gt;@fdroidorg&lt;/a&gt;. We have many avenues to participate and to learn more! We have an &lt;a href=&quot;https://f-droid.org/en/about/&quot;&gt;About&lt;/a&gt; page on our website and a &lt;a href=&quot;https://forum.f-droid.org/&quot;&gt;thriving forum&lt;/a&gt;. We also have part of our documentation &lt;a href=&quot;https://f-droid.org/en/docs/Reproducible_Builds/&quot;&gt;specifically dedicated to reproducible builds&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
&lt;em&gt;For more information about the Reproducible Builds project, please see our website at
&lt;a href=&quot;/&quot;&gt;reproducible-builds.org&lt;/a&gt;. If you are interested in
ensuring the ongoing security of the software that underpins our civilisation
and wish to sponsor the Reproducible Builds project, please reach out to the
project by emailing
&lt;a href=&quot;mailto:contact@reproducible-builds.org&quot;&gt;contact@reproducible-builds.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 24 Jun 2022 10:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2022/06/24/supporter-spotlight-hans-christoph-steiner-f-droid-project/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2022/06/24/supporter-spotlight-hans-christoph-steiner-f-droid-project/</guid>
        
        
        <category>org</category>
        
      </item>
    
      <item>
        <title>Supporter spotlight: Jan Nieuwenhuizen on Bootstrappable Builds, GNU Mes and GNU Guix</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://janneke.lilypond.org/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-janneke/janneke.jpeg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;big&gt;The Reproducible Builds project relies on &lt;a href=&quot;/who/&quot;&gt;several projects, supporters and sponsors&lt;/a&gt; for financial support, but they are also valued as ambassadors who spread the word about our project and the work that we do.&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;This is the fourth instalment in a series featuring the projects, companies and individuals who support the Reproducible Builds project.&lt;/p&gt;

&lt;p&gt;We started this series by &lt;a href=&quot;/news/2020/10/21/supporter-spotlight-cip-project/&quot;&gt;featuring the Civil Infrastructure Platform&lt;/a&gt; project and followed this up with a &lt;a href=&quot;/news/2021/04/06/supporter-spotlight-ford-foundation/&quot;&gt;post about the Ford Foundation&lt;/a&gt; as well as a recent ones &lt;a href=&quot;/news/2022/04/14/supporter-spotlight-ardc/&quot;&gt;about ARDC&lt;/a&gt; and the &lt;a href=&quot;/news/2022/04/26/supporter-spotlight-google-open-source-security-team/&quot;&gt;Google Open Source Security Team (GOSST)&lt;/a&gt;. Today, however, we will be talking with &lt;strong&gt;Jan Nieuwenhuizen&lt;/strong&gt; about &lt;strong&gt;Bootstrappable Builds, GNU Mes and GNU Guix&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris Lamb: Hi Jan, thanks for taking the time to talk with us today. First, could you briefly tell me about yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: Thanks for the chat; it’s been a while! Well, I’ve always been trying to find something new and interesting that is just asking to be created but is mostly being overlooked. That’s how I came to work on &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;GNU Guix&lt;/a&gt; and create &lt;a href=&quot;https://www.gnu.org/software/mes/&quot;&gt;GNU Mes&lt;/a&gt; to address the bootstrapping problem that we have in free software. It’s also why I have been working on releasing &lt;a href=&quot;https://dezyne.org&quot;&gt;Dezyne&lt;/a&gt;, a programming language and set of tools to specify and formally verify concurrent software systems as free software.&lt;/p&gt;

&lt;p&gt;Briefly summarised, compilers are often written in the language they are compiling. This creates a chicken-and-egg problem which leads users and distributors to rely on opaque, pre-built binaries of those compilers that they use to build newer versions of the compiler. To gain trust in our computing platforms, we need to be able to tell how each part was produced from source, and opaque binaries are a threat to user security and user freedom since they are not auditable. The goal of bootstrappability (and the &lt;a href=&quot;https://bootstrappable.org/&quot;&gt;bootstrappable.org&lt;/a&gt; project in particular) is to minimise the amount of these “bootstrap” binaries.&lt;/p&gt;

&lt;p&gt;Anyway, after studying Physics at Eindhoven University of Technology (TU/e), I worked for &lt;a href=&quot;https://en.wikipedia.org/wiki/DigiCash&quot;&gt;digicash.com&lt;/a&gt;, a startup trying to create a digital and anonymous payment system – sadly, however, a traditional account-based system won. Separate to this, as there was no software (either free or proprietary) to automatically create beautiful music notation, together with Han-Wen Nienhuys, I created &lt;a href=&quot;https://lilypond.org/&quot;&gt;GNU LilyPond&lt;/a&gt;. Ten years ago, I took the initiative to &lt;a href=&quot;https://doe040.nl&quot;&gt;co-found a democratic school&lt;/a&gt; in Eindhoven based on the principles of &lt;a href=&quot;https://en.wikipedia.org/wiki/Sociocracy&quot;&gt;sociocracy&lt;/a&gt;. And last Christmas I finally went vegan, after being mostly vegetarian for about 20 years!&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: For those who have not heard of it before, what is GNU Guix? What are the key differences between Guix and other Linux distributions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://guix.gnu.org&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-janneke/guix.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jan: GNU Guix is both a package manager and a full-fledged GNU/Linux distribution. In both forms, it provides state-of-the-art package management features such as transactional upgrades and package roll-backs, hermetical-sealed build environments, unprivileged package management as well as per-user profiles. One obvious difference is that Guix forgoes the usual &lt;a href=&quot;https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard&quot;&gt;Filesystem Hierarchy Standard&lt;/a&gt; (ie. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/usr&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/lib&lt;/code&gt;, etc.), but there are other significant differences too, such as Guix being scriptable using &lt;a href=&quot;https://www.gnu.org/software/guile/&quot;&gt;Guile/Scheme&lt;/a&gt;, as well as Guix’s dedication and focus on free software.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: How does GNU Guix relate to &lt;a href=&quot;https://www.gnu.org/software/mes/&quot;&gt;GNU Mes&lt;/a&gt;? Or, rather, what problem is Mes attempting to solve?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: GNU Mes was created to address the security concerns that arise from bootstrapping an operating system such as Guix. Even if this process entirely involves free software (i.e. the source code is, at least, available), this commonly uses large and unauditable binary blobs.&lt;/p&gt;

&lt;p&gt;Mes is a Scheme interpreter written in a simple subset of C and a C compiler written in Scheme, and it comes with a small, bootstrappable C library. Twice, the Mes bootstrap has halved the size of opaque binaries that were needed to bootstrap GNU Guix. These reductions were achieved by first replacing &lt;a href=&quot;https://www.gnu.org/software/binutils/&quot;&gt;GNU Binutils&lt;/a&gt;, &lt;a href=&quot;https://gcc.gnu.org/&quot;&gt;GNU GCC&lt;/a&gt; and the &lt;a href=&quot;https://www.gnu.org/software/libc/&quot;&gt;GNU C Library&lt;/a&gt; with Mes, and then replacing Unix utilities such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;awk&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bash&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;coreutils&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sed&lt;/code&gt;, etc., by Gash and Gash-Utils. The final goal of Mes is to help create a full-source bootstrap for any interested UNIX-like operating system.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: What is the current status of Mes?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/software/mes/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-janneke/gnumes.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jan: Mes supports all that is needed from ‘&lt;a href=&quot;https://schemers.org/Documents/Standards/R5RS/&quot;&gt;R5RS&lt;/a&gt;’ and &lt;a href=&quot;https://www.gnu.org/software/guile/&quot;&gt;GNU Guile&lt;/a&gt; to run MesCC with Nyacc, the C parser written for Guile, for 32-bit x86 and ARM. The next step for Mes would be more compatible with Guile, e.g., have &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;guile-module&lt;/code&gt; support and support running Gash and Gash Utils.&lt;/p&gt;

&lt;p&gt;In working to create a full-source bootstrap, I have disregarded the kernel and Guix build system for now, but otherwise, all packages should be built from source, and obviously, no binary blobs should go in. We still need a Guile binary to execute some scripts, and it will take at least another one to two years to remove that binary. I’m using the 80/20 approach, cutting corners initially to get something working and useful early.&lt;/p&gt;

&lt;p&gt;Another metric would be how many architectures we have. We are quite a way with ARM, tinycc now works, but there are still problems with GCC and Glibc. RISC-V is coming, too, which could be another metric. Someone has looked into picking up NixOS this summer. “How many distros do anything about reproducibility or bootstrappability?” The bootstrappability community is so small that we don’t ‘need’ metrics, sadly. The number of bytes of binary seed is a nice metric, but running the whole thing on a full-fledged Linux system is tough to put into a metric. Also, it is worth noting that I’m developing on a modern Intel machine (ie. a platform with a &lt;a href=&quot;https://en.wikipedia.org/wiki/Intel_Management_Engine&quot;&gt;management engine&lt;/a&gt;), that’s another key component that doesn’t have metrics.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: From your perspective as a Mes/Guix user and developer, what does ‘reproducibility’ mean to you? Are there any related projects?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: From my perspective, I’m more into the problem of bootstrapping, and reproducibility is a prerequisite for bootstrappability. Reproducibility clearly takes a lot of effort to achieve, however. It’s relatively easy to install some Linux distribution and be happy, but if you look at communities that really care about security, they are investing in reproducibility and other ways of improving the security of their supply chain. Projects I believe are complementary to Guix and Mes include &lt;a href=&quot;https://nixos.org/&quot;&gt;NixOS&lt;/a&gt;, &lt;a href=&quot;https://debian.org/&quot;&gt;Debian&lt;/a&gt; and — on the hardware side — the &lt;a href=&quot;https://en.wikipedia.org/wiki/RISC-V&quot;&gt;RISC-V&lt;/a&gt; platform shares many of our core principles and goals.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Well, what are these principles and goals?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: Reproducibility and bootstrappability often feel like the “next step” in the frontier of free software. If you have all the sources and you can’t reproduce a binary, that just doesn’t “feel right” anymore. We should start to desire (and demand) transparent, elegant and auditable software stacks. To a certain extent, that’s always been a low-level intent since the beginning of free software, but something clearly got lost along the way.&lt;/p&gt;

&lt;p&gt;On the other hand, if you look at the &lt;a href=&quot;https://www.npmjs.com/&quot;&gt;NPM&lt;/a&gt; or &lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust&lt;/a&gt; ecosystems, we see a world where people directly install binaries. As they are not as supportive of copyleft as the rest of the free software community, you can see that movement and people in our area are doing more as a response to that so that what we have continues to remain free, and to prevent us from falling asleep and waking up in a couple of years and see, for example, Rust in the Linux kernel and (more importantly) we require big binary blobs to use our systems. It’s an excellent time to advance right now, so we should get a foothold in and ensure we don’t lose any more.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: What would be your ultimate reproducibility goal? And what would the key steps or milestones be to reach that?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logging.apache.org/log4j/&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-janneke/log4j.png#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jan: The “ultimate” goal would be to have a system built with open hardware, with all software on it fully bootstrapped from its source. This bootstrap path should be easy to replicate and straightforward to inspect and audit. All fully reproducible, of course! In essence, we would have solved the supply chain security problem.&lt;/p&gt;

&lt;p&gt;Our biggest challenge is ignorance. There is much unawareness about the importance of what we are doing. As it is rather technical and doesn’t really affect everyday computer use, that is not surprising. This unawareness can be a great force driving us in the opposite direction. Think of Rust being allowed in the Linux kernel, or Python being required to build a recent &lt;a href=&quot;https://www.gnu.org/software/libc/&quot;&gt;GNU C library (glibc)&lt;/a&gt;. Also, the fact that companies like Google/Apple still want to play “us” vs “them”, not willing to to support GPL software. Not ready yet to truly support user freedom.&lt;/p&gt;

&lt;p&gt;Take the infamous &lt;a href=&quot;https://en.wikipedia.org/wiki/Log4Shell&quot;&gt;log4j bug&lt;/a&gt; — everyone is using “open source” these days, but nobody wants to take responsibility and help develop or nurture the community. Not “ecosystem”, as that’s how it’s being approached right now: live and let live/die: see what happens without taking any responsibility. We are growing and we are strong and we can do a lot… but if we have to work against those powers, it can become problematic. So, let’s spread our great message and get more people involved!&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: What has been your biggest win?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: From a technical point of view, the &lt;a href=&quot;https://issues.guix.gnu.org/55227&quot;&gt;“full-source” bootstrap&lt;/a&gt; has have been our biggest win. A talk by Carl Dong at the 2019 &lt;a href=&quot;https://breaking-bitcoin.com/&quot;&gt;Breaking Bitcoin&lt;/a&gt; conference stated that connecting &lt;a href=&quot;https://savannah.nongnu.org/projects/stage0&quot;&gt;Jeremiah Orian’s Stage0 project&lt;/a&gt; to Mes would be the “holy grail” of bootstrapping, and we recently managed to achieve just that: in other words, starting from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hex0&lt;/code&gt;, 357-byte binary, we can now build the entire Guix system.&lt;/p&gt;

&lt;p&gt;This past year we have not made significant &lt;em&gt;visible&lt;/em&gt; progress, however, as our funding was unfortunately not there. The Stage0 project has advanced in RISC-V. A month ago, though, I secured &lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; funding for another year, and thanks to NLnet, Ekaitz Zarraga and Timothy Sample will work on GNU Mes and the Guix bootstrap as well. Separate to this, the bootstrappable community has grown a lot from two people it was six years ago: there are now currently over 100 people in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#bootstrappable&lt;/code&gt; IRC channel, for example. The enlarged community is possibly an even more important win going forward.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: How realistic is a 100% bootstrappable toolchain? And from someone who has been working in this area for a while, is “solving &lt;a href=&quot;https://archive.org/details/reflections-on-trusting-trust&quot;&gt;Trusting Trust&lt;/a&gt;)” actually feasible in reality?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://archive.org/details/reflections-on-trusting-trust&quot;&gt;&lt;img src=&quot;/images/news/supporter-spotlight-janneke/trustingtrust.jpg#right&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jan: Two answers: Yes and no, it really depends on your definition. One great thing is that the whole &lt;a href=&quot;https://savannah.nongnu.org/projects/stage0&quot;&gt;Stage0 project&lt;/a&gt; can also run on the Knight virtual machine, a hardware platform that was designed, I think, in the 1970s. I believe we can and must do better than we are doing today, and that there’s a lot of value in it.&lt;/p&gt;

&lt;p&gt;The core issue is not the trust; we can probably all trust each other. On the other hand, we don’t want to trust each other or even ourselves. I am not, personally, going to inspect my RISC-V laptop, and other people create the hardware and do probably not want to inspect the software. The answer comes back to being conscientious and doing what is right. Inserting GCC as a binary blob is not right. I think we can do better, and that’s what I’d like to do. The security angle is interesting, but I don’t like the paranoid part of that; I like the beauty of what we are creating together and stepwise improving on that.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Thanks for taking the time to talk to us today. If someone wanted to get in touch or learn more about GNU Guix or Mes, where might someone go?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: Sure! First, check out:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The &lt;a href=&quot;https://gnu.org/s/mes&quot;&gt;GNU Mes homepage&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://bootstrappable.org&quot;&gt;Bootstrappable.org&lt;/a&gt; project (also on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;irc.libera.chat&lt;/code&gt; in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#bootstrappable&lt;/code&gt; channel).&lt;/li&gt;
  &lt;li&gt;Our latest talk on GNU Mes from &lt;a href=&quot;https://archive.fosdem.org/2021/&quot;&gt;FOSDEM ‘21&lt;/a&gt; is &lt;a href=&quot;https://archive.fosdem.org/2021/schedule/event/gnumes&quot;&gt;available online&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://guix.gnu.org&quot;&gt;GNU Guix&lt;/a&gt; homepage and various &lt;a href=&quot;https://guix.gnu.org/en/blog/tags/bootstrapping&quot;&gt;blog posts about reproducible builds and bootstrapping in GNU Guix&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;A page describing &lt;a href=&quot;https://nlnet.nl/project/GNUMes-ARM_RISC-V&quot;&gt;our funding by NLnet&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m also on Twitter (&lt;a href=&quot;https://twitter.com/janneke_gnu&quot;&gt;@janneke_gnu&lt;/a&gt;) and on &lt;a href=&quot;https://octodon.social/&quot;&gt;octodon.social&lt;/a&gt; (&lt;a href=&quot;https://octodon.social/@janneke&quot;&gt;@janneke@octodon.social&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chris: Thanks for taking the time to talk to us today.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jan: No problem. :)&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For more information about the Reproducible Builds project, please see our website at
&lt;a href=&quot;/&quot;&gt;reproducible-builds.org&lt;/a&gt;. If you are interested in
ensuring the ongoing security of the software that underpins our civilisation
and wish to sponsor the Reproducible Builds project, please reach out to the
project by emailing
&lt;a href=&quot;mailto:contact@reproducible-builds.org&quot;&gt;contact@reproducible-builds.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 18 May 2022 10:00:00 +0000</pubDate>
        <link>https://reproducible-builds.org/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/</link>
        <guid isPermaLink="true">https://reproducible-builds.org/news/2022/05/18/jan-nieuwenhuizen-on-bootrappable-builds-gnu-mes-and-gnu-guix/</guid>
        
        
        <category>org</category>
        
      </item>
    
  </channel>
</rss>
