I've created MOOPH module in JavaScript. Purpose of this module is to make it easy to code a pseudomultithreaded application (so it can be seen as API). This module can be used to create various creative content (games, editors, whatever...). However one of possible pseudothreads may include quickly content from external sites to DOM - making a DOS. If multiple users access such project, it could make a DDOS. I hope this module is copyright protected. I hope anyone who wants to use (publish on their site) this module must ask me (I am author) if I allow use of this module anywhere else than on my domains (where I've uploaded and publish my code, applying copyright).
I don't think it's a good idea to turn off copyright protection of APIs, moving all of them to public domain. Some of them may be "public bad" instead of "public good" if they don't get managed using license agreements.
If your software is so bad it's harmful to the general public, you don't release it at all, rather than relying on the law to somehow prevent bad people from misusing it.
I've looked the meaning of word "interface" out. I used slovnik.cz (translator). Interface is translated as point of contact, connection, relationship, coordination, correspondence. In some czech phrases it's translated as bus (in USB) or as interface (GUI) or as interface if we speak about point used to connect peripherals to computer. In one of meanings it is close to the meaning of word "edge". I wouldn't be surprised if translation created disorder in law...
I've always understood API as "Application" (meaning application, program, something similar to script) "Programming" (creating code, writing) "Interface" (abstract definition of meaning of variables and functions, preferably with some code that makes those meanings "live", something real, "behind" those variable and function names). Maybe I'm wrong.
However code is code, be it a library, module, framework, API, program or anything else...
Code can implement an API, but an API is not code. Not using any reasonable definition of code. Code is something you are theoretically able to execute, in one way or another.
The term "code" also on my opinion doesn't have only one meaning. You can for example see the HTML code in your browser if you use "view source code" functionality of your browser. So authors of browsers consider HTML the code. I've always thought about code as about some text that's machine processable (parsed, interpreted, compiled...). This means I've also seen API as a code.
OK, for some time I've lived in one file projects (PHP) where I've defined interface and in the same file implemented the code itself, so I've seen too little difference... Maybe in other projects the difference is sharper.
Most likely yes. Because you gave it a specific implementation that is not required to make it work. The functionality - and any elements of the module that spring directly from that functionality - is not copyrightable.
If you gave a programmer pseudo code for your module and they created near enough the same module from it then the creative elements don't lie in the aesthetic art and so the copyright in it is very weak.
I don't think it's a good idea to turn off copyright protection of APIs, moving all of them to public domain. Some of them may be "public bad" instead of "public good" if they don't get managed using license agreements.