I know the title is a bit misleading, I guess it might not be possible to release software as open source with this restriction, so the question is how I should license the following scenario:
I want to release one or more software tools (SDK etc) that has a specific purpose. One of the points behind the whole project idea, is that everyone should use the same API because that benifits the other people using the same tools. Might sound a bit cryptic, but I guess you understand the point.
Other than that, I want the project to be like a normal open source project (MIT/BSD license). Sharing, contributing, no problem. People can even copy the tools and modify them if they want. The only important thing is that they still use the given API for backend requests, at least in any open environment (production), having a local API for testing/developing is no problem.
The goal is to keep the benifits of using the same API, instead of anyone trying to set up their own API for the same purpose, splitting up the project and thereby the benifits for the end users.
Sort of like if Facebook released all their frontend code, allowing people to make their own FB app, only demanding that people use their API instead of setting up their own, so the database of users are not split up.
What would be a possible licensing for a project like this?
If there is no way to release an open source project with the described restriction, how about the following:
I copy the text of an open source license (like BSD), and add a clause for the described API rule. I don't refer to the license as BSD, only use the same text as a template. In the project Readme/docs, I would of course explain that it is not a standard open source project, and refer to the license file. Would that be OK in regards to whatever case where the project license would be relevant?