[sword-devel] How broadly do we define "API"
Chris Little
chrislit at crosswire.org
Tue Jun 9 20:11:25 MST 2009
Dmitrijs Ledkovs wrote:
> 2009/6/10 Jonathan Marsden <jmarsden at fastmail.fm>:
>> At the level of utilities that are used in scripts, and whose command
>> line parameters are therefore in some sense an "API" for those who write
>> scripts using them, the very recent (post 1.6.0) change to osis2mod that
>> adds the -d option *already* broke "osis2mod API compatibility" :)
>>
>
> Well *adding* function calls, flags etc does not break API. *Changing*
> behaviour of existings flags, function calls or removing them breaks
> api.
>
> My 2 UK pence
>
I think I'd further say that we don't consider command line parameters
part of the API. I think when we say API and refer to API stability, we
mean it in the standard sense that programmers mean it, i.e. function
calls, methods, etc. within the Sword library.
As Dmitrijs suggests, I think we should, in general shy away from
modifying existing command line parameters in a subtractive sense. So
existing parameters *should* be maintained in general, but additions
like -d on osis2mod are fine. Trying to make the utilities more user
friendly, accessible, and generally stable are all admirable objectives,
but fundamentally these are internal tools used by us for content
creation and doing that well is far more important than maintaining any
sort of argument stability for hypothetical script writers.
--Chris
More information about the sword-devel
mailing list