Dear folks,
   Carsten Haese wrote:

On Thu, 2007-06-21 at 14:30 -0500, Carl Karsten wrote:
Carsten Haese wrote:
> On Thu, 2007-06-21 at 11:51 -0500, Carl Karsten wrote:
>> Carsten Haese wrote:
>>> On Thu, 2007-06-21 at 10:02 -0500, Carl Karsten wrote:
>>>> When we talk about backwards compatibility, I am wondering exactly what that means.
>>> A module is backwards compatible if code using it won't break if the
>>> module is replaced with a newer version.
>> Even if it relies on implementation details?
>
> Yes, if those details are documented. Otherwise, no.

I totally disagree, and have a feeling this needs to be voted on before either of us can continue this discussion.

Fine. Let's vote. Please define what we're voting on.

I, as a developer who implements interfaces, only recognize the commitments I have explicitly made in the documentation for how the interface works. A bug is when the code does not match the documentation. If you choose to look at my code instead of my documentation, then when I change the code you are responsible to change how you use it - I never made any commitment to not change my code. I will only entertain complaints about how my code
does not fulfill the commitments I made in the documentation.

I define "backward compatibility" as allowing to continue to work that behavior that conforms to the previously provided documentation! If you cheated and used my code to figure out how things work, you maintain that old version and leave me and my new work alone.

Thus, I think I side with Carsten on this issue.


   Thank you all,
   Art Protin

_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig

Reply via email to