Getting involved


(Majken Longlade) #1

Hi,

I’d like to get involved in supporting the project. I’m not a coder, my skills are community building, education/support and project management/coordination, all in the context of open source. Who can I connect with to see where I can be useful?


(Cristóbal ) #2

What do you wish to do, exactly? If you give an example I could give you an focused answer. Generally, the most critical aspects are to get new developers and new users. If you could spread the word in both, then you would do a lot.

Anyway, you should talk to Dennis or Goob for details if you wish


(Majken Longlade) #3

I want to apply my skills in a way that will contribute to the success of the project. With my background there are several different areas I could contribute to. I’m not sure the current state of the team so not sure where there are gaps to fill. But to at least create a smaller target:

  1. I’d like to be involved in overall strategy - I have been a Mozilla volunteer with good connections inside the organisation since before Firefox. I have strong opinions about what went well and what didn’t. I believe in holding onto your ideals, but being pragmatic about how to get there, not by compromising them, but by adapting based on the situation you’re in and accepting human nature when working with both developers and users. I’m a “systems thinker” in the sense that I don’t just see a support ticket as an interaction with a single user, I see how it connects to marketing, QA, engineering. A single user doc doesn’t live in a bubble, it is part of a catalogue that needs to feel cohesive and easy to navigate. A single tweet gets lost in the ether where a coordinated push amplifies the message. I’m not happy working on the single, I want to be part of the whole.

  2. I prefer working with people, not code - My friends have always been developers, so I am comfortable in that sphere, but my passion has always been education/marketing/logistics. I was on the original support team for Mozilla and led the wildly successful (but short lived) live chat offering. I was also a founding leader in their Reps program. In both cases I ended up stepping away due to misalignment with the project managers. Engineers shouldn’t run marketing, and marketing shouldn’t run engineering however it’s key that they are aligned and respect each other. I “speak” both engineer and user.

  3. I still have technical chops - I led the volunteer team that brought Discourse to Mozilla. I have experience managing forums over the past 20 years. I’m currently a certified Jira Administrator and was until recently a consultant specializing in Jira and Confluence. I have used those tools, and more, to manage documentation libraries. My current role is PM, though I’m agile certified and much prefer to work by agile principles. I think it’s best suited when working with volunteers as well.

It’s important to understand the current state before suggesting changes. Things are the way they are for a reason, and some of those reasons may be good ones. At the very least you need to address why things are the way they are if you stand a chance at changing them. It’s also really disrespectful to come in as the new person and presume you know better than the people who have been living it. However, let’s assume for a moment that you’ve read the above and are thinking “OMG, we need this person, please please please take user outreach and do whatever you want with it!!” Some ideas I would consider:

  1. First, get some solid documentation going with a clear path to support. Why not use Discourse? You’d need 3 categories with a good base (not necessarily comprehensive, but quality)
  • User docs
  • Getting involved / mission / policy
  • Developer documentation
  1. Once you have content ready, start a user driven marketing push. Provide the graphics and the messaging and let the community run with it.

Oversimplified of course, but also not so difficult if the project can align on central values and messaging.

And after all this I guess you want to know why I want to help this particular project. I work with Atlassian so I’m not a die hard FLOSS advocate, right? Well neither are most users of the internet. I believe in the Mozilla mission that the internet needs to be accessible to all. It needs to be protected as a communication medium. It cannot be allowed to continue to be used as a marketing platform. All the mainstream social platforms are just that, marketing platforms. They do not make it easier to interact. Facebook makes everyone I know feel worse and yet in the same breath these people who took on Microsoft will shrug and say that Facebook is too big to challenge. These people who have instragram and snapchat and facebook and twitter and telegram and whatsapp and pinterest and whatever-else-the-kids-these-days-are-using accounts also claim that no one is going to join another social media platform.

I call bullshit. And if they aren’t going to try to fix this I guess I have to try. Not only does diaspora have potential, it already has the features I care most about. It is a much calmer experience. I feel better using it. I can physically feel the lack of engagement tactics. Diaspora does not try to make me keep using it when I wouldn’t use it otherwise. People assume that people like me - moms who don’t code, who don’t like spending every waking hour on a screen - don’t care about the politics of the internet, but I talk to other people like me and I promise you we do. However, most other people like me didn’t spend so much time at the edge of silicon valley knowing what they could have had, how things could be different. I want more people to know what it could be like. I want more people to demand that it be like that. I want tech to stop shrugging its shoulders and saying it’s too late.

The browser wars are obsolete. If we’re going to win this fight it’s going to be on social. I remember what winning was like 15 years ago. I want to win again.


(Dennis Schubert) #4

You already are. The strategy is to use Discourse to have discussions on proposals and ideas, and to have voluntary developers working on whatever they feel is important to them, because this is a voluntary open source project, not a commercially developed thing where someone can tell someone else what to work on. If you want to be part of how the project develops, read and engage discussions here on Discourse. Also, check out this discussion. And keep in mind that diaspora* is not Firefox, and we don’t have a marketing or QA department, we are a bunch of folks working on the project, and while some people tend to focus on some things (like @supertux88 is mostly tackling federation tasks, while @goob is great with engaging with the community and doing support with the HQ account), there are no dedicated roles, and there are no dependencies on each other’s functions. There aren’t enough people in the project.

That’s cool. Our Get Involved page on the project site outlines some possible things to work on, but in general, the best way to do something is to do it. Unless it involves you looking like you’re representing the project in any way, you are fine to do whatever you want. If you have an idea and want to get feedback on it before doing something, you’re already on the right platform to do so.

First, “agile” is just a meaningless label that gets slapped on many different ways of working, so you have to elaborate. Secondly, I am afraid I have to disagree. Any form of active PM’ing requires someone to follow along with the tasks and do those. We tried defining milestones and goals many, many, many times before, but in reality, this is a useless exercise here, because no PM in the world can make things happen. Our contributors, both in engineering and non-engineering roles, contribute because they want to work on something, and they work on whatever is right in their opinion. You can assign labels and priorities to issues all day long, they won’t resolve themselves. So, in this project, the way to go is to discuss about those things (which is happening here very often) and convince the Engineering folks that this is something they want to do (and by that, I mean with rational, valid arguments, not by repeating “I want dis” over and over again). If you get someone excited about something, chances are high they are willing to spend time on it.

I’d love to explain things, but… you didn’t ask any questions? If there are questions about why something is the way it is, please ask, I am very happy to help.

First, get some solid documentation going with a clear path to support. Why not use Discourse?

That’s exactly what we do. Our project site as a “Discussions and Support” link in the header, which links to this Discourse. Here, we have three categories: #support for user support, #support:podmin-support for podmin help, and #support:developer-support for questions about setting up development environments or general, non-issue-specific discussions around the development workflow. There is #website-and-documentation for discussions on our documentation contents (which soon will get relaunched with a more stable, flexible, and maintainable base as well as new contents), and we have #communication-and-outreach for coordinating what you’d call “marketing pushes”.

I am struggling a bit to answer to your post, mainly because it didn’t involve questions, and is suggesting things we technically already do. Is the information behind the links above useful to you? Do you have any concrete things you’d like to tackle or concrete questions? If you want to have a 1-on-1 chat, feel free to reach out via … things. IRC works (Freenode, Mozilla), other things might work as well, but I probably prefer discussing in public, because this information can benefit other folks as well.


No, no, not at all. Signed, a Mozilla employee.


(Majken Longlade) #5

Strategy isn’t the same as telling people what to work on, but a lot of energy and effort can be lost with only offering ad hoc as the strategy. I think a huge mistake Mozilla made with community was only supporting corporate led initiatives. Discourse happened because we did it ourselves. Strategy doesn’t have to be top down. Strategy can also be about how you watch for and support the ad hoc initiatives that have gained momentum.

Mozilla had 12 employees when I started volunteering. There was definitely not a marketing department. There was not a UX team etc. etc. However there are dependencies on each other’s functions whether you want to recognize them or not. There may not be dependencies on the specific people performing those functions but they do not live in a vacuum. When you appreciate the connections and the inter-dependencies then you can make life easier for the people you do have.

Is that page linked anywhere here? I looked for it in the category topic.

As I said, I’m a systems thinker and am not interested in working randomly on my own. A coordinated effort is more powerful. That doesn’t mean taking the approach Mozilla did though and only support the corp approved initiatives. Again getting back to strategy, at any one time there will be paths to getting involved that will be more successful than others. This will be in a state of flux based on the ebb and flow of the active contributors. Now you could really use volunteers with x skills to help implement an idea the community loves. In 6 months it will be y skills for a different initiative. x and y skills will always be welcome, but the immediate need and the resources available for a new contributor will look different. Again with how far I go back with Mozilla I know just how much potential can be lost with the only strategy being “just find what you want and do that”. It works for some people, and it works better than trying to bribe people into doing work.

Appealing to the people who want a more coordinated experience without pushing out the ones who want to just pick something up and do it is something I could help with.

I said “agile certified” because I have more than one. However the agile principles are not a meaningless label, they are well defined and map very closely to the ways you’ve argued for working in your replies to me.

Actually I’m going to have to disagree with you here. Just like marketing is usually used for evil, in and of itself it is neutral. It can be done well and it can be done poorly. Again, like strategy, project management does not have to be top down (though traditional PMP certainly does prescribe this).

Assigning labels and priorities isn’t what a good PM does

^ This is what a good PM does

No, I didn’t. I described the skills I have to offer and this section is me exp.aining why I can’t just say I want to do this specific thing

Regarding the documentation, it looks like that will not be on Discourse? That’s the part I was referring to with “why not use Discourse”. But this also goes to what I was saying about wanting to get matched up to where there is a need and then understand what is currently in the works. How many different properties will go into the flow and is there a good plan for sending visitors back and forth seamlessly? If that’s already covered then that doesn’t sound like the place I’d be needed.

Thanks, again this goes to the root of my being a systems thinker and a collaborative worker. I have listed the types of things I have the skills and passion to help with, but I am just not wired to do it if there isn’t a recognized need. I have enough experience now that I believe I could help grow a community that doesn’t favour one style of contribution over the other, but that creates room for everyone to play to their strengths.

Well, this is an argument for a different Discourse :wink:


(Cristóbal ) #6

Well I think here the work is chaotically made, because all the people have lives beyond d*. You seems to be at the top of energy; perhaps if you bring more developers to the project, it would be great. I don’t believe that the current workflow would change if there isn’t any modification on the number of developers or the commits that are sending to the github page. If the variables will be the same, the behaviour will continue being the same.

Anyway thank you, I learned a lot of things reading your posts :slight_smile:


(Dennis Schubert) #7

First, this isn’t Mozilla, it will never be, and most comparisons won’t work. Last year, diaspora* had 0 employees, will stay at 0 this year, and will also have 0 next year. Creating any specific roles, processes, and dependencies fail horribly because you can neither rely on people to do specific work nor can you expect people to do a particular job. They might do it, but they might also not do it, and it’s their good right not to do it. All I was stating is that, although we have people who tend to focus on specific areas of work, it makes no sense to create specific roles. We’ve been there, and it didn’t work.

That’s super fine if you have the resources to support those initiatives. Such support usually happens by either assigning workforce to get things done or to provide infrastructure for these initiatives. Both are things that we, as a 100% voluntary project without anyone getting paid to do their work (well, not entirely true, because there is this, but that’s another topic), and without anyone committing time or resources to the project.

The assumption is you didn’t arrive on Discourse from somewhere else, but usually, you end up on either the project site, the wiki, or from within diaspora, and that’s where all the relevant information is stored. Discourse is for discussions and discussions only (well, and support.)

Please provide concrete examples that are relevant to this project. I am only aware of scenarios that work within environments with fixed available resources but fail for projects like diaspora* for the reasons mentioned above. What we did and still do are things like making sure we have a list of “help wanted” bugs ready, as well as define “good first bugs”, which add some coordination, but I get the feeling that’s not at all what you are talking about.

You disagree to my point saying “management is awesome, as long as there is someone following management’s plans” with “management can be done well”, which doesn’t address my point at all. The point is: no matter how good your plan is, and how awesome the approaches for defining these plans are, these plans are meaningless if nobody commits to implement them.

Jup, right. And if you take that slider and drag it all the way to the left where it says “community-driven”, that’s where diaspora is. We have a “management team”, which we call “the core team”, and all we do is providing infrastructure and moderation. So while we usually keep some kind of veto-privilege, we don’t make up the rules, and that actually is awesome.

diaspora* has some features and some approaches to things that the “core team” actually did never agree with, but we still have those things, because the majority of people (contributors and users alike) were in support of these things, and managed to express their support with good arguments, so the core team had no reason to veto, and it happened, because people thought it would be a good thing to happen. So, if you want to boil it down to one sentence, it would be “Everyone is diasporas project manager”. All the core team does is supporting these community-driven proposals, and moderate them. Generally, we do not steer them, and our opinion is on the same level as everyone else’s.

I acknowledge that this model has some disadvantages, and it might not be suitable for everyone, but it’s the model we agreed on a long time ago, and so far, nobody brought up enough reasons to reconsider that. And in my personal opinion, this anarchic approach is sometimes a bad thing, but for a project like diaspora, it’s quite fitting.

Ah, I misunderstood that. No, that documentation will not be on Discourse, and I don’t think it should be. If you want to elaborate, we probably should split this off into a second thread, but in short: Editing permissions on Discourse is a mess, while with the new documentation base, people can submit Pull Requests to our documentation. Accessibility on Discourse can be tricky, and while that may be fine for discussions, we should not settle with that for our documentation. Having multi-language documentation on Discourse is pretty much impossible. Also, general discovery (for both users and search engines) is terrible.

The linked proposal describes all web-properties in detail, which will include a FAQ-like thingy, installation guides, development guides, user guides, as well as the official project website. There are lots of cross-links there, and the content will be easily discoverable. Besides that, we maintain this Discourse as a communication platform for authoritative proposal discussion and IRC channels for casual chatter and real-time feedback. We link to those channels from inside our documentation, and links back (i.e., from Discourse to something else) happens within context. As the new project site isn’t launched yet (content work and publishing will happen before the end of May, I hope), I am not sure if this works out as we imagine, but that’s something to come back to if we see it didn’t work out.

I am honestly having a hard time figuring out how to support you support the project, and this discussion is turning into us explaining our worldview, which is interesting but not leading somewhere in regards to bringing this project forward. :slight_smile: So, what do you want to do, and what do you need to support that work?


(Majken Longlade) #8

I haven’t claimed this is Mozilla but you keep making comments that mischaracterize my experience. You’re telling me what Mozilla was like years before you were involved.

You and I are going in circles because you’re trying to tell me how the way things are is the only way things can be. Just like with Mozilla, you want to tell me what it’s like instead of learning whether my experience would bring a different approach that might work.

I understand working with volunteers. I have been one for 15 years. As much as you like to think so, you’re not saying anything unique. People aren’t so different, even if you think diaspora* is.

If you speak for the core team then it seems what I have to offer isn’t welcome. If you don’t speak for the core team then perhaps you should step back and allow someone more interested in what I’ve offered to take point on coordinating with me. It’s not very conducive to growing a community to tell enthusiastic volunteers that everything they know is wrong. One lesson that could be learned from the early days of Mozilla if you cared to learn from the mistakes of others.


(Dennis Schubert) #9

I repeatedly asked you to explain what you can offer and how the project can support you. In fact, that’s literally how my previous message ended. I also never claimed you are wrong about anything. I once explained why I think your comparison isn’t really suitable in my opinion. For having documentation on Discourse instead of a dedicated website, I explicitly invited you to a further discussion, whilst explaining my opinion on that. In all other cases, I clearly stated I am having a hard time understanding your proposal and asked for clarification.

I personally am having a hard time seeing how me asking questions can be considered “unwilling to learn from your experience”. I unfortunately cannot read minds, and thus, asking you to explain what you want to do instead of meta-writing that you can do things without actually talking about what and how isn’t helping me (or anyone else, because I had a chat with other folks about this thread) at figuring out how to assist.

You going full-attack mode on me here for asking questions because I do not understand your actual proposal is neither fair, nor productive.

I understand that you consider me unwilling to participate in this discussion, or to “learn from your experience”, and while I don’t agree, I acknowledge your opinion, and to avoid this becoming a personal thing, I will not participate here any further.


(Majken Longlade) #10

Indeed. It’s a hard path to critical mass. You need to maximize the number of volunteers you can onboard into the right places. This can easily be done poorly, through gamification for example. And you don’t want to put energy into one area, like onboarding, at the expense of retention or culture.

One big mistake Mozilla made was focusing heavily and singularly on autonomous volunteers - developers who could self-serve their way into code contribution. While that type of volunteer is valuable, those are not the volunteers that will build a sense of community. That sense of being part of a group is what keeps many people involved with an organization even when they’re burnt out. They may take a break from contribution, but with those social connections they’ll come back rather than finding another project.

QA is an important front door for developers and support is an important door for QA. A solid knowledge base is the seed for doing end user support, which is a seed for QA. Your support, QA and developer pools are at this point coming from your end user base.

You need potential developers to stay in your tool long enough to want to stick around and do QA or support when they have a problem. Again, a solid knowledge base is the seed. What’s not intuitive in the tool needs to be easily discovered in end user documentation (or the source code!).

So it all really fits together in a cycle, with different areas being pathways to each other depending on the style of the particular volunteer.


(Majken Longlade) #11

Is that really what you call full attack mode?

And it wasn’t because of the parts where you asked questions. That’s really disingenuous. You said more things than asking questions, I am probably referring to some of those things.


(Benjamin Neff) #12

Well, I have the same questions and still now answers, so:


(Majken Longlade) #13

Right, so as the back and forth on project management illustrates my point, just because I want to do something doesn’t mean it will be welcome. So from the list of things I can do, is there anyone trying to do one of those things that has been looking for help? Or is there no one doing one of them that people have wished someone would come along and do?

It looks like there’s a need for developer outreach, from the other conversation I’ve been having. So a good next step would be to have a conversation with the person(s) currently working on that so I can see what I can help with immediately and then also get my bearings to figure out what I think would be good ideas to build on that.