Mark,
Over the years, I have always strived to listen to all the opinions voiced. I also try to accommodate opinions diverging from mine and when it boils down to a matter of taste, I tend to privilege the opinions of others over my own. Certainly, there are examples that go both ways.
From a more general perspective, we have to ask ourselves how we want to see the log4j code evolve. One approach, apparently advocated Curt, consists of religiously preserving 100% and absolute backward compatibility. In my opinion such an absolutist approach leads to either stagnation or to code so convoluted as to be unmaintainable.
Breaking compatibility, even in small ways, causes trouble and headaches. Naturally, non-compatible changes elicit opposition. However, in log4j 1.3, we are facing problems related to the behavior of appenders when they are in an erroneous state. My changes are intended to address this problem. I tried to explain my point of view to Curt over the phone for quite almost an hour. We seemed to have reached an agreement but one which did not survive the night. Obviously, you could not have known this when you wrote your comments.
Your words are quite harsh but I guess it goes with the territory. Keeping everyone happy is not exactly a piece of cake.
At 05:27 PM 2/26/2005, Mark Masterson wrote:
Hello Ceki,
Well, I'm not a committer, so experience tells me you'll completely ignore my input and pretend as if it had never been voiced.
Nevertheless, as one of those poor schmucks who maintains an Appender outside of the log4j base, I do have an opinion about this debate, and it's certainly not favorable for you.
The core of Curt's argument, it seems to me, is that you -- dictatorially -- made these changes without discussing them with the list.
You are now claiming that they were only the beginning of some further sweeping changes -- changes which you choose not to describe in any further detail.
You are, in effect, asking the comitters to trust you -- blindly -- to make infallible judgements with regard to the evolution and design of log4j. Your changes will "improve the way appenders work", but you make no effort to describe how, or why.
You are a brilliant developer, and there are plenty of historical reasons for the committers to grant you the "freedom" that you are asking for. Perhaps they will do so, as they often have in the past.
Nevertheless, you do not seem to have grapsed that the underlying issue that this event has triggered is social, not technical.
The question that this argument exposes, I find, is the following: Is log4j Ceki's project, on which others may be allowed to work? Or is it a true collaborative project, on which Ceki just happens to be the founder?
I assume that the comitters will close ranks with you, and will collectively force Curt to cease agitating, as has happened with regard to similar events in the past. I expect that Curt will "lose" the argument, and that there will be no change in the way log4j is managed. I also think that's regrettable, and detrimental, and I simply couldn't ignore this opportunity to comment on it.
For the record, I agree almost completely with the technical points that Curt has raised. You seem to be displaying an alarmingly casual attitude towards the distinction between the Appender interface and the AppenderSkeleton utility class, and your repeated comments, along the lines of "Curt, today there is not a single appender which implements the Appender interface without extending the AppenderSkeleton class" reinforce the impression that, despite a great deal of hype about logging services, the top level project, and so forth, everything that is not a part of "log4j" is, from your perspective, a second class citizen.
Cheers, Mark
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Ceki G�lc�
The complete log4j manual: http://www.qos.ch/log4j/
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
