An API is different from implementing code. An API is a declaration of what code does, rather than being code itself.
It is perfectly legal for me to write about EXACTLY what happens when I put in XYZ in a program, and to write about the results I would be returned any time I put in "abc". It is not illegal to then reimplement an API. And that's the operative word there too: re-implement
An API is not code, it is literature that describes code.
@Zergling_man 🤷 Whatever floats your boat! I don't see anything wrong with that considering most will do the same or some won't know the distinction
@brandon Well... There is some value in always being clear about terms, so as to not reinforce confusion.
@Zergling_man I'd say that it really depends on the conversation.
If you're a developer who's working with multiple implementations of an API, you should probably call each implementation as such.
But if you're talking about XYZ product's API implementation and ABC product's API implementation...well there's only one of each implementation so it serves little to actually call them API implementations
@brandon ... if I have a friend describing to me what exactly happens in the Harry Potter books, and then I write & publish my own, using the same story, names, etc... I'd still get in trouble for it. Isn't this similar enough? Story == what the code does, API (call names etc) == character names... you could even argue that readers wouldn't recognize "Harry" if I didn't call him such ("compatibility").
My point is... 1/
@brandon ... API reimplementation isn't really legal by the Inherent Nature of Copyright. It _should_ be legal because if it wasn't, that'd have really bad side effects. Which is why "ohh this is fair use" is kinda unsatisfying: Congress should just sit down and write a sentence like "Copyright doesn't apply to APIs", instead of a whole lot of people trying to turn something that they _did_ write into what they _should_ have. 2/
@brandon side note: I'd be totally up for HP clone books being legal for the same reason API reimplementations are: this is how "human storytelling" worked until copyright broke it. They should say "warning: unofficial and totally not by JKR", but... that's what trademarks are for, right?
@brandon in addition, programs in languages that represented code as an e-graph (cf. https://github.com/egraphs-good/egg) rather than text aren't copyrightable because copyright only covers creative expressions (such as the literary content of a textual program), not abstract procedures (https://www.copyright.gov/circs/circ01.pdf)
@brandon that is to say, the literary work of a textual implementation of an API is copyrightable, but the equivalence class of all functionally identical implementations of that API is not
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.