February 10, 2015
On Tue, 2015-02-10 at 07:02 +0000, Brian Schott via Digitalmars-d wrote:
> On Tuesday, 10 February 2015 at 06:22:51 UTC, Andrei Alexandrescu wrote:
> > Yet we do have matters that are important and urgent. We want to improve Phobos' take on memory allocation. Yet not one soul is working on RefCounted. Few know even what needs to be done of it.
> 
> I think you may have just answered your own question.
> 
> > Why? Why are so many of us dedicating so much energy to tweaking what already works, instead of tackling real problems? Problems that e.g. - pardon my being pedantic - are in the vision document?
> 
> I feel a bit of the myth of the interchangeable programmer creeping in here. Maybe the people who are working on websites aren't memory management experts. Are our memory management experts working on websites? If a web designer was tasked with improving RefCounted, what are the odds of their work getting through code review?

There is also the issue that very few, if any, people are paid to work on D implementation. Thus with only volunteer labour (you may think of that as labor if you really have to ;-) people will work on what they want to work on, and systemically, are more likely to work on the smaller things as they have clearly visible boundaries.

And then there is the trivial that also become the barrier. For example I find it very difficult to read Phobos style code, so I don't. Not that Phobos code style should change because I don't like it, but it shows that trivial barriers can stop contribution.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


February 10, 2015
On Mon, 09 Feb 2015 22:22:49 -0800, Andrei Alexandrescu wrote:

> Probably something that's neither important nor urgent.
> 
> Yet we do have matters that are important and urgent. We want to improve Phobos' take on memory allocation. Yet not one soul is working on RefCounted. Few know even what needs to be done of it. Why? Why are so many of us dedicating so much energy to tweaking what already works, instead of tackling real problems? Problems that e.g. - pardon my being pedantic - are in the vision document?

maybe 'cause people willing to fix the things that annoys them, not the things someone says they should fix? those "small changes" annoys people enough to do something, and they are relatively easy. not everybody has enough time and/or motivation to work on big changes (especially if they don't even use that things often enough).

i, for example, happily spent two days restoring `typedef` feature in DMD and GDC, 'cause i really want it, and `Typedef!` suxalot. yet i can't care less about `RefCounted`, so i don't even want to start working on it. same for most other things from "vision doc".

February 10, 2015
On Tue, Feb 10, 2015 at 12:00:53PM +0000, ketmar via Digitalmars-d wrote:
> On Mon, 09 Feb 2015 22:22:49 -0800, Andrei Alexandrescu wrote:
[...]
> > Yet we do have matters that are important and urgent. We want to improve Phobos' take on memory allocation. Yet not one soul is working on RefCounted. Few know even what needs to be done of it. Why? Why are so many of us dedicating so much energy to tweaking what already works, instead of tackling real problems? Problems that e.g. - pardon my being pedantic - are in the vision document?
> 
> maybe 'cause people willing to fix the things that annoys them, not the things someone says they should fix? those "small changes" annoys people enough to do something, and they are relatively easy. not everybody has enough time and/or motivation to work on big changes (especially if they don't even use that things often enough).
[...]

Yeah, welcome to the open source community. People work on what they *want* to work on, not what somebody else tells them they should work on.  :-)

The corollary is, if you want people to work on X, you should make X attractive enough that people *want* to work on it. Inspiration tends to work a lot better than command in a volunteer project.


T

-- 
People say I'm indecisive, but I'm not sure about that. -- YHL, CONLANG
February 10, 2015
On Tuesday, 10 February 2015 at 11:59:14 UTC, Russel Winder wrote:
> that as labor if you really have to ;-) people will work on what they
> want to work on, and systemically, are more likely to work on the
> smaller things as they have clearly visible boundaries.

refcounting is not a big thing, but I am not really sure if there is a clean way to do it with the current infrastructure.

I am pretty sure that someone would do it if there was a clean design for it.

> And then there is the trivial that also become the barrier. For
> example I find it very difficult to read Phobos style code, so I
> don't. Not that Phobos code style should change because I don't like
> it, but it shows that trivial barriers can stop contribution.

Yes, Phobos is too much like Tango. :-/ So I've started writing my own... :-P

February 10, 2015
On Tuesday, 10 February 2015 at 15:48:44 UTC, H. S. Teoh wrote:
> Yeah, welcome to the open source community. People work on what they
> *want* to work on, not what somebody else tells them they should work
> on.  :-)
>
> The corollary is, if you want people to work on X, you should make X
> attractive enough that people *want* to work on it. Inspiration tends to
> work a lot better than command in a volunteer project.

I want to note that I am not totally against more controlled contributions - but that is totally different type of collaboration that implies much more formal process, as well as willingness to actually manage such team. There is a big mindset gap between "I did those things I needed and can share them" and "I am going to work on things you consider important", those are not interchangeable.
February 10, 2015
On 2/9/15 11:28 PM, weaselcat wrote:
> On Tuesday, 10 February 2015 at 07:17:11 UTC, Dicebot wrote:
>
>> At the same time stuff like RefCounted is a mess.
>
> +1
> (Sorry for the noise, just wanted to share the opinion. :) )

One actionable item would be to point at a code fragment and argue "wtf - here's some good evidence". Thanks! -- Andrei

February 10, 2015
On 2/9/15 11:17 PM, Dicebot wrote:
> I do what I feel needs to be done. You are free either reject or accept
> it. But please don't tell me how I should manage my own spare time. If
> you want cultural change - lead by example.

I only replied because you explicitly asked for my opinion, under the assumption it would be discussed civilly even if it is not aligned with yours.

Andrei

February 10, 2015
On 2/9/15 11:49 PM, Mathias LANG wrote:
> On Tuesday, 10 February 2015 at 06:22:51 UTC, Andrei Alexandrescu wrote:
>>
>> Well I have to say something.
>>
>> This proposal is a good example of a cultural lore we should unlearn:
>> high-churn, low-impact changes.
>> https://github.com/D-Programming-Language/dlang.org/pull/896 is
>> another example. Meaning changes with a large surface that rewire vast
>> areas, yet result in only dingy improvements.
>
> I was quite surprised with your post, as you seemed on board with this
> idea last year (https://issues.dlang.org/show_bug.cgi?id=11792).

I still am. I think the result of the investigation should be a good analysis of the pros and cons. I don't see that, but instead a push to just do it with an unclear vision of the resulting setup.

>> Why? Why are so many of us dedicating so much energy to tweaking what
>> already works, instead of tackling real problems? Problems that e.g. -
>> pardon my being pedantic - are in the vision document?
>>
>
> We do have a strong syndrome of NIH in this community, but I don't think
> it's the issue here.
> You mentionned in a thread the vision documentation was stuff you and
> Walter were working on, rather than "TODO list" for contributors.
> I think what we need ATM is not a vision, but milestones. What's
> outlined in the doc has little value for someone who wants to contribute.

I'd agree NIH has nothing to do with this discussion. Probably insufficient empowerment does. We have many talented contributors but we don't give them enough trust to let them embark on really big things. So they spin their wheels on dingy little things that can be easily argued, can be done relatively easily, and are unlikely to be rejected. We must break this pattern.

> IMO the agenda ( horribly outdated: http://wiki.dlang.org/Agenda ) is
> more important than the vision if you want people to work on a specific
> area.

I've asked Martin whether we should remove it.

> You'll measure success more effectively if you are able to quantify (and
> consequently, tell you you're done with) a task. I don't see any of the
> points mentionned in the vision document as something that can be
> "ticked off". Beside "Create a D Language Foundation", but I can't do it
> myself.

"All of Phobos or these particular modules are @nogc." "D is safe". etc.


Andrei


February 10, 2015
On Tue, Feb 10, 2015 at 04:17:25PM +0000, Dicebot via Digitalmars-d wrote:
> On Tuesday, 10 February 2015 at 15:48:44 UTC, H. S. Teoh wrote:
> >Yeah, welcome to the open source community. People work on what they *want* to work on, not what somebody else tells them they should work on.  :-)
> >
> >The corollary is, if you want people to work on X, you should make X attractive enough that people *want* to work on it. Inspiration tends to work a lot better than command in a volunteer project.
> 
> I want to note that I am not totally against more controlled contributions - but that is totally different type of collaboration that implies much more formal process, as well as willingness to actually manage such team. There is a big mindset gap between "I did those things I needed and can share them" and "I am going to work on things you consider important", those are not interchangeable.

I've been with the open source community for about two decades, and my observation is that the thriving ones tend to be the ones where people contribute because they want to, rather than because they were told to. Of course, that does not preclude leadership and direction -- in fact, the most successful projects tend to have people in charge with strong leadership skills, but said leadership tends to work best when they inspire people to follow them, rather than laying down the law and saying you must work on X, Y, Z, otherwise you're not helping The Cause. The successful projects also tend to be those where contributions of any kind are welcomed, no matter how trivial they may seem to be.

There *are* successful projects that don't follow this pattern, but AFAICT they are quite rare.

Just my $0.02, FWIW.


T

-- 
People say I'm indecisive, but I'm not sure about that. -- YHL, CONLANG
February 10, 2015
On Tue, Feb 10, 2015 at 09:13:10AM -0800, Andrei Alexandrescu via Digitalmars-d wrote:
> On 2/9/15 11:49 PM, Mathias LANG wrote:
[...]
> >IMO the agenda ( horribly outdated: http://wiki.dlang.org/Agenda ) is more important than the vision if you want people to work on a specific area.
> 
> I've asked Martin whether we should remove it.
[...]

I've linked the Vision/2015H1 document to the front page, since otherwise it was literally impossible to find it. Perhaps it should even replace the Agenda page?


T

-- 
Tech-savvy: euphemism for nerdy.