After the New Community Developer License is available many questions came up about the meaning of an Add-on. In this blog I'll try to explain this legal term with easier words so that you should be able to verify your use case.
In the license text you'll find the following definition:
"Add-On means any developments utilizing the SAP development environment, SAP published APIs, Enterprise Service Definitions, and/or libraries to create new objects that add new and independent functionality and consumes or is otherwise is coupled to the published SAP APIs and/or Enterprise Services (e. g. new SAP composite applications, new functional components for business processes not covered by the Software) and any documentation or other information provided in connection with any such Add-on. Standalone interface code from SAP Software to non-SAP software is excluded from this definition of Add-on."
In easier words: an Add-On is a component that through some SAP interfaces (e.g. BAPIs, RFCs, Web services, etc.) accesses SAP functionality.
So a project like e.g. SAPlink is definetely an Add-On as it needs to access some SAP interfaces for retrieving ABAP object classes. This is also true for the available plugins of SAPlink. These plugins will simply not work, if there is no SAP system behind it to provide the necessary SAP interfaces.
Also a PHP script, to take another example, that you've written to connect to an SAP interface is also an Add-on. You might not need the SAP NetWeaver Developer Studio to develop the PHP script, but you'll need the SAP NetWeaver Java/ABAP Application Server to provide the interface to your script.
The last sentence about the exclusion of standalone interface code from the Add-on sounds a little cryptic, but is easy to explain.
We want to avoid that somebody simply takes the SAP interface definitions and implements them in a non SAP software. The user should connect to SAP software through the SAP interfaces and not just "re-use" the SAP interface definition elsewhere.
I hope this explanation brought a little bit of light into the definition of an Add-on and what we mean with it. Let me know should you have more questions.