[GH-ISSUE #236] API defintion? #4405

Closed
opened 2026-06-13 12:24:38 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @FrankDMartinez on GitHub (Dec 9, 2014).
Original GitHub issue: https://github.com/semver/semver/issues/236

The website "semver.org" states:

For this system to work, you first need to declare a public API. This may consist of documentation or be enforced by the code itself. Regardless, it is important that this API be clear and precise.

Exactly what qualifies as an "API"? Any function/method/procedure? Only specific ones?

Originally created by @FrankDMartinez on GitHub (Dec 9, 2014). Original GitHub issue: https://github.com/semver/semver/issues/236 The website "semver.org" states: > For this system to work, you first need to declare a public API. This may consist of documentation or be enforced by the code itself. Regardless, it is important that this API be clear and precise. Exactly what qualifies as an "API"? Any function/method/procedure? Only specific ones?
Author
Owner

@noirotm commented on GitHub (Dec 12, 2014):

API stands for Application Programming Interface. The important word here is interface.

Simply put, an API represents a contract, that is what functionality is exposed to the consumers of your software, be it classes, functions, constants, as well as the documentation of what those do or represent.

If you expose a function, but suddenly decide to change what it does, for example by changing the return values, even though you are not changing its signature, but are documenting the change, you have changed the API.

So the API represents the whole set of what is publicly exposed by your software for others to use.

<!-- gh-comment-id:66749045 --> @noirotm commented on GitHub (Dec 12, 2014): API stands for Application Programming Interface. The important word here is **interface**. Simply put, an API represents a contract, that is what functionality is exposed to the consumers of your software, be it classes, functions, constants, as well as the documentation of what those do or represent. If you expose a function, but suddenly decide to change what it does, for example by changing the return values, even though you are not changing its signature, but are documenting the change, you have changed the API. So the API represents the whole set of what is publicly exposed by your software for others to use.
Author
Owner

@jwdonahue commented on GitHub (Dec 8, 2017):

@FrankDMartinez, unless you have further questions, please close this issue at your earliest possible convenience.

<!-- gh-comment-id:350150119 --> @jwdonahue commented on GitHub (Dec 8, 2017): @FrankDMartinez, unless you have further questions, please close this issue at your earliest possible convenience.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/semver#4405