@Juan Pablo Tosca Villanueva here's the quote from Rich Hickey's Spec-lation talk I wasn't remembering well:
"Similarly, you can break them in the same ways. Requiring more. Providing less. And when you think you want to do that, well think twice. Because what happens if you, instead of saying I am going to break foo, you make foo2? If you were going to break foo, what would you have to do? What happens today? You break foo, you say we have version 2 of our API. You have to tell everybody and their mother version 2 of the API is coming Tuesday. Switch here, talk to this new endpoint, blah, blah, blah. Change your world. There is no getting around that.
Now what happens if you just put foo2 next to foo? You can still tell people. They can say, "I am in Bermuda this week, but next week I will try foo2. That sounds awesome." But right now, my web service is going to keep working, because it calls foo, and you did not take it away from me while I was on vacation."
However, it's better if you listen to it: https://youtu.be/oyLBGkS5ICk?si=G59uJ_46zv3xqaiX&t=3959
Ha! 'Because backwards compatibility is for suckers, imports between dataverse instances of differing versions will fail if "productionPlace" multiple value is "false".' -- https://github.com/ubc-library-rc/dataverse_utils/issues/17
Another story of backward incompatibility: https://github.com/CDLUC3/counter-processor/issues/28 (nice fix by @Jérôme Roucou ) and https://groups.google.com/g/dataverse-community/c/2H5IBDaAZKk/m/mOSbqZDfAAAJ
Last updated: Nov 01 2025 at 14:11 UTC