I agree with you on the relative conditions of gift-giving and receiving, to an extent, but I completely disagree, with OSS being considered gift-giving.
If I put some code online, like putting something on my doorstep, it's "without warranty", it's not a gift, it's there on the off-chance it's of use to someone; only they can make that determination, if they decide they want it, but don't have the means; can't get it home, can't maintain the code, anything they request beyond that point is "charity".
I might feel charitable and take the furniture to their home, or provide some maintenance on the code, but my act of placing it there for anybody and nobody entitles them to nothing from me, they don't like it, they don't take it.
I placed no burden on them by putting it there, and that's the difference with gift-giving and this; If I gift you a £1M house, and put the deeds in your name for you, I'm placing a burden on you, you didn't ask for that as the "giftee", I've potentially caused you harm even by "gifting" that to you, I can see you having some entitlement there.
OSS is not the same, if I post it online, you take it or leave it, if you take it, you're not entitled to my help/time/effort, it wasn't a gift, you placed the burden on yourself. If an individual wants some help, I may choose to offer it, if a company wants my help with it, I may choose to, or choose not to, I owe them nothing.
Of course much of this comes down to our own opinions on what putting our OSS code online is, if you consider yours to be a gift, that's fine, I don't (consider mine to be), we can agree to disagree.
I agree with your proposition that it is not considered gift-giving. How-ever that also doesn't excuse the author from explicitly stating it in the terms in the code of the said works that they publish online, how-ever most common-wealth countries do have inherent statutory copyright laws rights that protect the creator of said works.
I think this certainly complicates things for a potential user, they're less likely to use it, I assume, if it's unclear what they are and aren't "allowed" to do with it. It would be nice if there could be some sort of implied "social contract" like we have in the real world, but I also understand that's more complicated with matters like IP.
Thinking about my response here, I think much of the difference with "code" vs the analogies is the IP. For some reason I'm able to chase some intellectual property rights on code that I would not with a piece of furniture I gave away on the street. What if I built that furniture with my own two hands, and could replicate it, just like I could my code?
Apologies, gone way off on a tangent there, but it's an interesting discussion.