Thank you for pointing out the new API terms, Chris. Some feedback:
"5. Your API key is personal to you and cannot be used by or
transferred to any other person without DIA’s written permission.
6. You must keep your API key secure and confidential. If you believe
that the security and confidentiality of your API key has been
compromised, you must notify us as soon as possible at
in...@digitalnz.org"
The terms treat the API key as a secret but the requirements for
confidentiality preclude multiple useful development options. For
example, a pure javascript app that operates in browser would expose
the API key even though this is an attractive deployment option for
certain use cases. Also, an app deployed to iPhone or Android would
potentially expose the key unless additional steps are taken to
obfuscate the credential in the code. Would distributing an app
containing the API key contravene clause 5?
"7. If you are displaying DigitalNZ metadata retrieved via the
DigitalNZ API on or through a website or application that requires
registration you must, on request by DIA or any metadata contributor,
provide a logon to the website or application to DIA or the metadata
contributor, without charge."
What would DIA or any metadata contributor do with their access? What
are they checking for?
"12. You must not make more than 3000 API calls per day, per API key
issued to you, without written approval from DIA."
It would be nice if this was friendlier. 3000 API calls isn't much if
a particular app got popular. Also, an app "in the wild" might be
suddenly discovered or shared on social media causing a spike of
traffic completely unknown by the developer. Surely DigitalNZ can
implement some basic throttling or DDOS prevention to reduce the
impact of a traffic spike?
"(a) not to grant an API key to any person at its complete
discretion;"
I don't think a clause like this should be in a government API. There
should be solid grounds for disallowing online access, not simply
discretion.
"(ii) providing a website or application that is enabling others to
act in a manner that is either contrary to these terms of use or is
bringing or could bring DigitalNZ, the National Library, DIA or any
contributor of metadata to DigitalNZ into disrepute; and"
Ditto. Would a site that used Digital NZ data to critique
institutional practices be shut down by such a clause?
"19(d) to otherwise terminate your access to, or discontinue, the
DigitalNZ API at any time, for any reason and at its sole discretion."
Ditto. This type of clause was in the very first terms for DigitalNZ
(~June 2009) and was subsequently removed - why has it made a
comeback? I don't like the idea that DigitalNZ/DIA could unilaterally
terminate my use, especially if I have put significant time or money
into developing an application. There's no mention of any mechanism
for handling disputes or misunderstandings.