Project management at diaspora* - or: what the heck am I doing here?

@faldrian your description looks like github milestones :wink:

Okay, but as far as I can see contributors are not assigned to issues (unless they are part of the diaspora repository team) - so it will not work the way we need. :slight_smile:

Iā€™m a fairly new user, although Iā€™ve been following diaspora on and off since the original KickStarter. Iā€™ve made some fairly scathing comments about diaspora on my blog/ social media. Basically, Iā€™m one of those users who are functionally illiterate (as far as code is concerned), and who value new/ shiny features over stability/ maintenance stuff we donā€™t have to deal with :slight_smile: Itā€™s great to read this explanation of what an open source project looks like from the perspective of a core contributor, so thanks @denschub for writing this.

I do have years of experience trying to work with teams online however, and I know how hard it can get. Sometimes adding another tool (eg Trello) can help, sometimes it just adds another ritual (and set of login credentials) to the already complex process of becoming a new contributor. I think itā€™s great that @denschub has opened this discussion, so the pros and cons off adding new tools or processes can be evaluated thoughtfully before any action is taken that could prove to be a wild goose chase.

One thing thatā€™s been really helpful for the team I work with on permaculture.org.nz is monthly meetings using Mumble (itā€™s like IRC with voice chat). Hearing other team membersā€™ voices reminds me they are people, not just random online entities that push text at me, and it removes a lot of the ambiguity that exists when all you get is text (is it sarcastic or sincere?).
One voice chat session can resolve something that could otherwise take weeks of patiently exchanging text (whether by email, IM, social media, pull request etc), and in my experience itā€™s the least frustrating way to make complex decisions about project management (which collaboration tools to use and for what, and how to manage relationships between core contributors, casual patchers, and the user community). Mumble may not be the ideal online conference software, but it works for us. Its advantages are:

  • simple to learn, especially for anyone who already uses IRC
  • simple to set up (download, install, set-up wizards runs on first boot)
  • client software is available for most platforms (GNU/Linux, OSX, Windows, Android, iOS)
  • requires very little processing power and bandwidth at the client end, due to not trying to handle video, and using a central server (like IRC) instead of more experimental P2P networking (eg Tox)

I think this post is a good way to go forward.

Here are my 2 cents:

One suggestion for the communication: Ask, donā€™t assume!

For example on the [rejected PR}(https://github.com/diaspora/diaspora/pull/6834):

. Sorry, but you are aware of his work

You could have asked whether he knew this or what the reasons were to do this PR anyway.
It also would have been enough to say

Sorry, we wonā€™t merge this PR because somebody is working on the refactoring (and the links you gave).

ā€œYou should have done this or thatā€ is not very nice. Phrasing it as a suggestion or question could help.
It would probably hard to find somebody who could communicate for you. So maybe you could just asked for a second opinion when you are about to write something that could come across wrongly (Rejecting a PR).

What you wrote under ā€œStatus Quoā€ is important for people who want to contribute. Can this information be found somewhere else like on the wiki? It would be helpful to see who is working on what but I am not sure where or how to do this.

If somebody wants to do a lot of work, like Comrade Senya more coordination would be better. I think the suggestion of Strypey is quite good. Talking in a (bi-)weekly online meeting could help understanding the expectations of the core team and the other contributors.

You have raised so many question in your post that it is hard to answer all of them or to keep track of the comments. Maybe it would be good to discuss them separately. ā€œShould we use a tool like Trello?ā€ could be discussed and voted on.

Do you feel comfortable with me doing the project maintenance?

Yes. I think you are doing a good job setting priorities and you have a good overview.

Hey, Senya, Iā€™m sorry you wasted your time, but SuperTux has already refactored large portions of it.

and my answer:

Iā€™m sorry, Senya, but this PR is absolutely wasted work. @SuperTux88 has refactored large portions of that code already

I think we got lost in translation. I know understand that you meant ā€œIā€™m sorry, Senya, but this PR is absolutely wasted work.ā€ in the sense of ā€œyou wasted your time doing this workā€ but it could also be understaood as ā€œit work is waste/garbageā€. And knowing your very frank way of talking, itā€™s not dfficult to understand the sentence the second way.

Good luck teaching an Aspergers guy how meta communication works!

So you have an ASD? Well, that explains a lot. But if you know you are an asperger, I suppose you have been diagnosed hence, there is a very low chance that you do not see a psychiastrist. If not, you should do so. Most autists can learn how to communicate without saying exactly what they think.

Because this is the only problem here. When you say:

Maybe I should start my texts with a ā€œDo not read between the lines, you wonā€™t find anything there.ā€

you completely miss the point. You are used to say exactly what you think without measuring the consequences on otherā€™s feelings. The problem is not that people will read between lines, the problem is they will read exactly what you mean. And it can hurt, even though youā€™re not always able to understand why.

So, as you seem to be open to suggestions, here are two:

  • when you review code on Github, just stick to the technical facts; people donā€™t want to know what you think about them or their work when they contribute; they want to know :

    • is it acceptable?
    • if not, can it be improved?
    • in what way?
  • maybe itā€™s time to open up the core team and accept new members that will be able to communicate in a better way, to introduce new developpers, to guide them so that you do not have to do all the review work alone.

1 Like

Iā€™ve just checked the code of conduct.

I think that the Dennisā€™s comment really violates the code of conduct (ā€œTrolling or insulting/derogatory commentsā€):

I really appreciate your effort, but please donā€™t move code around just to get some PRs for your crowdfunding campaign (at least thats how it looks to me at the moment). I do understand that you want to have stuff to present to your supporters, but maybe start at doing the work you initially planned to doā€¦

Though my further comments may be considered as the COC violation as well.

I guess, we should all stop doing this, because this document here for reason.

If COC was violated by mistake and unintended, then person must reconsider their behavior. And if COC was violated deliberately or keeps getting violated repeatedly, then this problem must be brought to the community level discussion.

It is very easy to misunderstand online communications with strangers. A vast amount of communication is paralinguistic. The online 'bandwidth is severely throttled. Respect to denschub for trying to detoxify this unfortunate situation. And to all of you for your work.

Hi!
Who wants to talk about these things in a Hangout On Air?