---
title: Who chooses the requirements
pretalx_url: https://pretalx.seagl.org/2024/talk/LD8UA7/
beginning: '2024-11-08T16:30:00-08:00'
end: '2024-11-08T16:50:00-08:00'
presenters:
- name: Jeremiah Paige
  pretalx_url: https://pretalx.seagl.org/2024/speaker/BY78H8/
  biography: A professional code twiddler. The computers work better after I’ve added
    code to them more often than the alternative.
---

All modern software is the composition of independently developed projects. As a programmer you have some duty to record the relationship your project has to other projects in order to build and run correctly.

It is tempting to think that you, the software author, or you the package maintainer, are in full control over what those requirements are, but you are not. This misunderstanding is the source of many errors. And when authors do discover this but instead of accept it they make a power grab, all they really do is contribute to "dependency hell".

Don't add to dependency hell, add to the users' success and learn to live with less control.
