3 ms·
It's all down to history. When Debian was started, individual maintainers owned their packages completely, and they were often not kept under version control.
by rleigh 8y ago
It's all down to history. When Debian was started, individual maintainers owned their packages completely, and they were often not kept under version control. This was a practical necessity for distributed development in the mid '90s. They uploaded the source and binaries when they uploaded a new Debian package version, but the actual source packages weren't necessarily under any sort of version control other than the Debian archive storing the uploaded versions.
Today, keeping packages under version control is considered good practice, but even today it's not mandatory as far as I'm aware.
While other systems, like the BSD ports, are in a single repository, this complete separation has had its advantages. The system is almost completely modular, with all the interdependencies explicitly documented. It's easy to add third-party packages. Look how easy it is to add extra BSD ports packages. You have to fork the entire thing because the repo doesn't just include the packages, it includes all the build infrastructure. This makes building third-party ports a bit more of a pain, because it wasn't considered important, while for Debian it was a fundamental design goal. On the flip side, making a patch for the BSD ports is the same for every single package and it takes just a few minutes to attach it to a bugzilla ticket.