Reproducibility: from arithmetic operations to building system packages
It is often not enough anymore to simply build software. Developers are required or feel compelled to provide certain guarantees, especially when working on open source projects. Is your software reliable and works in the same way in different environments? Will any of the developers working on the project be able to build the same binary or package for distribution? If your source code is open, how can end users be sure that binaries available for download are built from that source code?
In this talk, we will discuss what reproducibility, repeatability, and reliability are. The talk covers reproducibility and repeatability of simple arithmetic operations, generic build tasks, such as compilation and fetching dependencies, and finally packaging into deb/rpm. Both generic guidelines for achieving reproducibility applicable for virtually any technology stack and examples of specific build systems and tools are provided. We will also briefly discuss how reproducibility is enforced in some well-known open source projects.
Sr. Software Developer
Nikolay has more than 5 years' worth of experience in Linux backend development for hosting platforms and server control panels, as well as creation and maintenance of infrastructure for developers. He has an in-depth understanding of setup and management of many services typical for a hosting server. Nikolay currently implements a new build system at Plesk.