TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Eighteen Years of ABI Stability

166 pointsby TangerineDream7 months ago

11 comments

tialaramex7 months ago
Because this library is so very widely used, in practice it is subject to Hyrum&#x27;s law ABI breaks far beyond what is characterised in the SO_NAME. At the extreme Hyrum&#x27;s law gets you &quot;spacebar heating&quot;, this is not a demand that somehow nothing must change, but an acknowledgement of our reality.<p>Basically even though Daniel might say &quot;I didn&#x27;t change the ABI&quot; if your code worked before and now it didn&#x27;t, as far as you&#x27;re concerned that&#x27;s an ABI break. This particularly shows up for changed defaults and for removing stuff that&#x27;s &quot;unused&quot; except that you relied on it and so now your code doesn&#x27;t work. Daniel brings up NPN because that seems easy for the public Internet but there have been other examples where a default changed and well... too bad, you were relying on something and now it&#x27;s changed, but you should have just known to set what you wanted and then you&#x27;d have been fine.
nuancebydefault7 months ago
I&#x27;m a bit confused with the usage of ABI here. I thought compatibility between apps and libs is on the API level, while the ABI sits between machine (cpu intructions) and low level (curl?) lib?
评论 #41994243 未加载
评论 #41993745 未加载
Semaphor7 months ago
&gt; “third party” transfers over FTP,<p>Ohh that takes me back, that feature was used heavily in the FXP warez scene (the one the proper warez people looked down on), you’d find vulnerable FTP servers to gain access to, and the best ones would support this. That way you could quickly spread releases over multiple mirrors without being slowed down by your home internet.
评论 #41993704 未加载
anotherhue7 months ago
&gt; The Debian project even decided to override our decision “no, that is not an ABI breakage” and added a local patch in their build that lowered the SONAME number back to 3 again in their builds. A patch they would stick to for many years to come.<p>I get mad even reading about this. If I was in his shoes I&#x27;d demand they fork and rename their implementation. Too many times we hear about over zealous debian patches being the source is issues.
peterkelly7 months ago
I wish developers of JavaScript frameworks had this level of commitment to stability.
评论 #41993432 未加载
exabrial7 months ago
There’s JavaScript code we have that won’t compile after 3 months. Pretty sad state of affairs these days.
评论 #41994573 未加载
评论 #41998346 未加载
blenderob7 months ago
What are some things you could do in a C project to <i>cause</i> ABI breakage?<p>I ask this because I&#x27;d like to know what practices I might want to avoid to guarantee that there is no ABI breakage in my C project.
评论 #41996580 未加载
评论 #41994292 未加载
评论 #41994279 未加载
评论 #41995683 未加载
评论 #41994329 未加载
ForHackernews7 months ago
&gt; Before this release, you could use curl to do “third party” transfers over FTP, and in this release you could no longer do that. That is a feature when the client (curl) connects to server A and instructs that server to communicate with server B and do file transfers among themselves, without sending data to and from the client.<p>That sounds like a super useful feature that would be great if more FTP servers supported it. I guess FTP itself is a dying protocol these days, but it&#x27;s extremely simple and does what it says on the tin.
评论 #41994090 未加载
评论 #41994042 未加载
amadio7 months ago
Unfortunately this is no longer maintained, but it&#x27;s interesting nonetheless: <a href="https:&#x2F;&#x2F;abi-laboratory.pro&#x2F;?view=timeline&amp;l=curl" rel="nofollow">https:&#x2F;&#x2F;abi-laboratory.pro&#x2F;?view=timeline&amp;l=curl</a>
formerly_proven7 months ago
libcurl is part of the macOS API and de-facto standard on any Linux box and commonly available on BSD boxen as well. Microsoft has been shipping curl.exe for a while as well, though not the library.<p>If Microsoft would also ship the library in %system32%, we would have a truly cross-platform and stable, OS-provided and -patched high-level network protocol client.<p>(So that probably won&#x27;t happen)
评论 #41993557 未加载
评论 #41993509 未加载
评论 #41993446 未加载
jedisct17 months ago
Take note, Rust.
评论 #41997007 未加载