Are we not forgetting something?
Part of our job as package maintainers in various distributions is to ensure the binary packages can be built from the corresponding source code. This is often a requirement, either from a distribution's own policies (eg, the DFSG for Debian), or from the license of the upstream package (eg, the GPL). But although we are used to seeing .c and .py files as source, we sometimes forget that our packages are built from many other files for which we also must make the source available.
In this talk I will explain why we require source code in the first place; without the availability of source code, the whole free software ecosystem would not exist. I will also describe file types that we sometimes forget to see as source, or which are considered binary but we forget to include the source code for. This includes documentation, build scripts, files generated at build time by various programs, fonts, multimedia such as sound, music, images and even video. I will also describe various problems we can encounter when trying to determine what the actual source is, and that even if we know what the source is, that it is sometimes creates practical problems for distributions to include all of it.