On Library Maintenance
Most likely in reference to the subject of maintaining a somewhat important library, Murray Cumming writes:
Likewise, in GNOME, maintainers sometimes have to ignore people who think they are shouting on behalf of the majority, because the maintainers know that they do not, and because the maintainers have actually thought things through.
I certainly do not disagree, however, I would like to point out that when maintainers make such decisions it is their responsibility to take the time to explain these things that they know that us mere application developers do not. We have plenty on our plates already from the users of our software—we can’t always see the full picture of a library, and we shouldn’t have to rewrite our application every time a maintainer decides that the way we were doing things was wrong.
I’d go further and suggest that when an application breaks due to changes in a maintainer’s library (during a stable release series, no less), and the application developers approach the maintainer for suggestions on how their design should change to accommodate the breakage, the maintainer should not call one of the application developers “an ungrateful fuck.”
Edit: No, Murray, you did not tell us how to investigate the problem. You told us to do our own damn debugging, which we have done and would have done before ever approaching you! You have code in gtkmm specifically to prevent the use of manage() on Gtk::Window’s despite the fact that Gtk+ allows that sort of thing. libsigc++ /changed/ from 1.2 to 2.0, and even switching from a SigC::Object to a Glib::Object where we get our reference() and unreference() back, we still get a crash in a sigc proxy signal.
The part I’m most upset about is how incredibly freaking rude you’ve been to us and repeatedly told us this was our problem unless we came up with a test case that proves otherwise. This is not “innocent until proven guilty” in front of a court of law. It works fine with gtkmm 2.2, and it crashes in a sigc proxy function in gtkmm 2.4. Stop telling us it’s our fault. From conversations with you and Daniel it’s clear that you decided the design that we had chosen in Gabber was not a valid way to design an application. Temas and I were trying to find a way to fix things without rewriting everything. Daniel didn’t see a valid way to fix BaseGabberWindow without using “delete this”—and when we use “delete this” we get the crash in a sigc proxy function.
Now go away, you just piss me off every time you speak to me.
I really think that if those people are so rude and naive, you should just stop supporting their library.
It’s not like their library is the only workable one on earth.
< Most likely in reference to the subject of maintaining a somewhat important library
No, I was talking about things like Nautilus. There’s a lot of loud and uniformed public comment about it.
< I’d go further and suggest that when an application breaks due to
< changes in a maintainer’s library (during a stable release series, no
< less)
For the nth time, there is no such breakage. If you still think that there is breakage then submit a bug with a test case, just like anybody else would. Nobody is keeping a secret from you, and nobody has added a special feature intended to make your application crash, so there’s no point in repeatedly asking for advice about how to cope with a breakage after repeatedly being told that there is no such breakage. I even gave you advice about how to investigate your application’s problems. You know what to do.
I don’t want to comment on the library or whatsoever because I’m just an ignorant little person. But the Murray guy up there, your website has no taste — I haven’t seen somebody with such a nice background that would make people dizzy in such a long time!
Congratulations for having such good taste.
What about inherit the BaseGabberWindow from the Glib::Object. It has reference() and unreference() too. I am not sure if that will work, but it seems ok.
Gee, this bug looks awfully familiar. Now, maybe if I had had a company paying me […]
I really think that if those people are so rude and naive, you should just stop supporting their library.