3 ms·
Nothing in that comment said you can't do whatever you want - it said, quite specifically, it's bad form to do it, and then explained exactly why that was the c
by awalton 10y ago
Nothing in that comment said you can't do whatever you want - it said, quite specifically, it's bad form to do it, and then explained exactly why that was the case.
Plenty of libraries break API/ABI all of the time. Notoriously FFMPEG was/is terrible about it. But depending on libraries that are hugely unstable in this way is terrible, so in most cases, people go out of their ways to avoid doing so (most frequently using another library, or in harder-to-avoid cases creating an interposer library to smooth out the instabilities of the underlying library).
OSS developers probably know more than anyone in the world that the most expensive thing to do in software engineering is maintaining a piece of software as time moves forward. Anything that makes that job more difficult needs to have an enormous upside to make it worth while, and in almost every case, using an unstable library is just not worth the extra maintenance costs attached.
- tener 10y agoAll true, but for some reason he sees the major libraries as a different beast and I just don't see why, which is why I wrote it strikes me as odd.
- curryhoward 10y agoI think you are interpreting it as "Major libraries are allowed to do it sometimes." I think what he meant to say is "Even major libraries do it sometimes." It is already understood that minor libraries do it.
- crpatino 10y agoI read it as: major libraries are reluctanly tolerated to break their API/ABI now and then. They are different beasts, whether you like it or not. A colorary to the above is: libraries that break their API/AIB too early or too ofter never get a chance to earn the 'major' label in the first place. You could also argue that a major library that abuses their privilege and breaks backwards compatibility beyond their "karma ballance" will be eventually forked or otherwise replaced by a more stable competitor. I am not sure if this idea holds water in the real world, but I really hope it does.