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