From: James T. <jam...@kd...> - 2017-09-14 09:56:42
|
> On 14 Sep 2017, at 10:40, Richard Harrison <rj...@za...> wrote: > > Backwards compatibility is a constant problem for anyone developing > software. FlightGear development is moving quickly forwards at the > moment, and breaking compatibility is something that we all try to avoid > - but sometimes moving forwards is more important for the core code > because there are always things that cannot be kept compatible[1]. This is fair, and to be absolutely clear: *any* underscore prefixed pieces are NOT party of the supported compatibility API. There have to be parts of the API we keep compatible as much as possible, but there also have to be interfaces inside which the developers can adjust the implementation. Since nasal lacks a protection model, we can only do this by naming convention, not anything strict. So, as several people said, compatibility is hard, but important, and we expend plenty of development effort on it. But we can’t try to keep compatibility on APIs we have explicitly declared as private, otherwise what is the point of making that declaration at all? Kind regards, James |