H. S. Teoh
Posted in reply to BlueBeach
| On Tue, Jan 09, 2024 at 02:02:36PM +0000, BlueBeach via Digitalmars-d wrote:
> On Tuesday, 9 January 2024 at 13:22:08 UTC, Timon Gehr wrote:
>
> > ... See druntime.
> I'm not familiar with this case. It is part of the DMD repository. Can you link/give a little more background?
See: http://dpldocs.info/this-week-in-d/Blog.Posted_2024_01_01.html
About 2/10 of the way down the page, you have this:
The code we know know as "druntime" originated as a fork because
Walter failed to accept community contributions. In 2004, after
attempting to work with upstream, these developers were left
with no option but to fork the language to keep their
contributions - which they must have felt were necessary to
expand the use of D - from being totally lost. This fork was
called "Ares" at first, and would later join forces with other
community efforts to become "Tango". Tango called itself "The
Developer's Library for D". I didn't understand why at the time,
I just knew to use it, you had to install some things from an
additional website and I didn't want to do that. But now,
knowing what I know now about D, the name was obvious: Tango was
where the developers actually were welcome to contribute. And
contribute they did: the Tango ecosystem had many things the
Phobos ecosystem lacked.
"Walter blesses many ideas. What I'm wondering is how
quickly he incorporates the results." jcc7, September
10, 2004, dsource.org forums
Only after four years of persisting in the fork and gaining
significant popularity, including capturing D's early commercial
users, did upstream finally relent and opened up to a
reconciliation, leading to the "druntime" we enjoy today.
> > A bit of competition is usually a good thing. It's also not like the two projects have no synergies,
>
> From what I understand one of the grievances of OP is the slow processing of PRs. If thats really the case, the effect of synergies by exchange is hindered.
It's not just the slow procesing of PRs. It's the arbitrary shutdown of contributions after months, often years, of silence, with no prior warning and no regard of the amount of work put into maintaining said PRs over that length of time. And often while totally misunderstanding what was actually done, as is being shown right at this moment with the discussion on DIP 1036e.
[...]
> > Walter opened a new thread now.
>
> That is very good. I think this distinction of organisational and technical issues is important and frankly I don't quite understand the problem with it. It seems to me the immediate reaction from Dlangs leadership is to deny or downplay the organisational aspect by jumping immmediatly and with great vigor into technical sophistry whithout any real need. On the one side it is fascinating on the other hand it also quite sad.
This is by far not the first time.
Some years ago, I, a random nobody online, showed up and complained about the lack of progress in the Phobos PR queue. (By then I had contributed a handful of PRs.) After making enough of a noise about it, I was suddenly handed the "keys to the kingdom", to so speak, i.e., commit access to Phobos, along with another contributor. That was good; we got to work and after several months, or perhaps even a year of work we managed to unclog most of Phobos' PR queue. A happy ending... or was it?
Well, after some time had passed, Andrei suddenly appeared out of nowhere after having been mostly silent (or occasionally giving one sentence or one-word responses) and came down upon us like a ton of bricks, saying that Phobos is a mess and indirectly implying that our efforts to get the ball rolling in the Phobos PR queue was the cause. He went on about Good Work vs. Great Work and a bunch of philosophical gripes -- none of which we were informed of prior to this. Neither was any concrete explanation given as to what exactly was required beyond the vague terms "Great Work" vs. "Good Work" and some handwaving explanation.
In the aftermath, the other contributor quit contributing. I continued, but scaled back my contributions to a mere trickle. Not because I was mad or anything, mind you, I just decided that since whatever I did wasn't good enough, and since I didn't "get it" about Good Work vs. Great Work, I'd just leave it to somebody else who "got it" to step up and fill the role.
Well guess what? Nobody stepped up. Phobos returned to stagnation, and the PR queue grew back to its old unmanageble proportions clogged up with PRs that never went anywhere unless you were willing to wait months or even years. And even after that it was anybody's guess as to whether it would move forward at all. Most just stagnated until the original author(s) abandoned it or quit in frustration. Eventually the DLF was forced to spend money to hire somebody to look after the queue, because nobody was willing to do it unless they were paid to do so.
And it wasn't as if there was a lack of willing contributors. Many willing contributors came, was active for a period of time, then left, usually over some disagreement or frustration at the way things were managed.
If it was merely a handful of contributors, then one could reasonably attribute it to personal disagreements, or that that person simply didn't "fit" in how things worked here. But it isn't just a handful. It's a whole long series of active contributors, some of whom made enormous contributions (Kenji Hara, for example, contributed about 1/2 of all the code currently in dmd), but eventually left due to some dispute. After more than 10 years of this very same pattern repeated over and over -- someone comes on board, actively contributes, sometimes makes major contributions, then leaves in a huff or withdraws from active contribution -- one cannot help asking the question, why? What are we doing wrong that's driving willing contributors away? What should we do to change this?
This issue has been brought up time and again throughout the history of D, and I have yet to see any action on the part of the leadership that actually made a difference. It's not that the leadership didn't try; they certainly did. But it's been more than 10 years, and whatever they have tried has not qualitatively changed the outcome. This past year there was a lot of noise about changing the process for the better, etc., but what was the outcome? Adam, one of the major contributors to D, decides to fork the project. What gives? It's time to ask some serious questions. Why is it that other programming languages are gaining contributors while we're bleeding them? Why are long-time D fans feeling so much frustration after years of being loyal to D? Something is not adding up, and whatever we've attempted in the past more than 10 years haven't solved this problem.
Perhaps it's time for a drastic, fundamental change in the way this project is run.
T
--
In order to understand recursion you must first understand recursion.
|