[Mono-dev] Environment.GetFolderPath() behaviour inconsistent with .NET

Miguel de Icaza miguel at xamarin.com
Fri Aug 19 23:46:22 EDT 2011


>
>
> Keeping in mind that .NET in general has many more users than Mono does, I
> do not understand why the Mono team is sometimes reluctant to break
> backward
> compatibility with older Mono versions.
>

Because we are not a perfect 1:1 match to the .NET universe, and our loyalty
is to the users that have deposited their trust in our platform not to
change.

If you knew me better, you would know that I detest the gratuitous breakage
of APIs for the sake of cleaning up, at the expense of breaking people's
software.   Evidence can be found on assorted mailing lists and interviews.


And you don't have to break compatibility brutally, you can do it in a soft
> way. If you release Mono 3.0 but clearly state in the release notes to
> watch
> out about this, I don't think there is that much harm done. You could even
> make the new behavior opt in at first, warn programmers about the new
> behavior, and after a year or two, make the new behavior the default.
>

This is not one of those things that can easily be detected, so it
introduces subtle errors, which might be impossible to diagnose.

The only way this would be remotely responsible is to entirely rip out the
API from the library, so every app that depended on it got a message "The
method does not exist, replace with XXX".

Faced with ripping out the API, or keeping the behavior, I will side with
"keep the behavior" and anyone that wants to get access to ~/Documents, will
have to deal with this difference.

People *porting* software already have to do a lot of work to port, this is
something else that they will deal with.    People that trusted us with
their code in the first place should not pay the price.


> The way I see it, it's a choice between "pissing off some people a lot now
> and be done with it" vs "pissing off some people for eternity". I'd go for
> choice one. I reckon I'm a bit of an Utopian.
>

Feel free to fork Mono and maintain Mono on your own with your patch.

Maybe history will prove you were right :-)

Miguel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110819/7bc8c41a/attachment.html 


More information about the Mono-devel-list mailing list