New DIP73: D Drafting Library

Zach the Mystic via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 5 13:21:20 PST 2015


On Thursday, 5 February 2015 at 18:44:06 UTC, CraigDillabaugh 
wrote:
>>> 1) All Phobos proposals must go through 
>>> std.experimental.logger
>>> 2) It must implement something generally desired in Phobos
>>> 3) Implementation is supposed to be at least stable enough to 
>>> not undergo a full rewrite after inclusion. Major API changes 
>>> are acceptable.
>>> 4) Before DMD/Phobos release is made existing packages that 
>>> feel stable can undergo a formal review for inclusion in 
>>> Phobos main package
>>
>> It seems to me that number 2 is wrong. It doesn't matter what 
>> is generally desired. The final say depends completely on the 
>> leadership. Yes or No has to come from above. Or am I wrong 
>> about this?
>
> Well there is a voting process for getting libraries accepted 
> into Phobos, and Andrei and Walter are not the only ones who 
> vote.  However, if you implement something that Andrei/Walter 
> are strongly opposed to, I suppose the vote could be vetoed.

You know, I don't even like the use of voting when it comes to 
important decisions which last forever. I have no mechanism for 
determining fairly who has the right to vote and who doesn't. 
Well, speaking more specifically, who is *competent* to vote and 
who isn't. D doesn't have a Board of Approved Members, and so 
putting something up for vote will let any shmoe (such as myself) 
actually have an equal share in the decision making process.

I believe in leadership. Leadership requires both confidence and 
humility - confidence to stick up for yourself when you know 
you're right, and humility to listen to others when you're not 
sure of yourself. Leadership is really hard... but I think it's 
necessary in all but the most trivial of cases.

Imagine all the people on the spectrum of competence on a given 
issue - the most people will be found in the zone of least 
competence, and the fewest people in the zone of highest 
competence. The only reason for leadership to put something to a 
vote is if they can reliably assume that the majority will have a 
more competent opinion the issue than they will. There are only 
two reasons to do this:

1. The leadership is able to admit that they know so little about 
the issue that they wouldn't be able to differentiate the quality 
of their own opinion from the majority's.

2. The issue is so trivial that the leadership is willing to 
sacrifice the best outcome for the social approval gained by 
giving all people the vote.

I don't see either of these happening very often in the case of 
D. The first case is lamentable indeed, but I don't think it is 
improved by just passing the issue to a majority vote. The best 
solution, IMO, is to be honest about one's level of ignorance, 
and brace oneself for the onslaught of opinions which follow. 
Maybe in the ensuing chaos one will obtain at least a modicum of 
competence on what to do.

Also, it's often best to use one's lack of confidence on an issue 
to win the favor of the higher ups in the community by deferring 
to one person's, then another's judgment, than to just try to win 
the favor of a bunch of strangers by letting them all vote.

Anyway, I guess that's just about 5 cents worth of almost 
completely unsolicited opinion! :-)


More information about the Digitalmars-d mailing list