Mvvmcross: Build a more active community of contributors

Created on 25 Jul 2018  ·  14Comments  ·  Source: MvvmCross/MvvmCross

🏗 Enhancement Proposal

Currently there are less than a half a dozen active contributors. This is a massive problem as the issues list is growing without any plan to bring it under control.

Pitch

A couple of ideas:

  • Identify small tasks and actively seek developers who have logged/commented/contributed and ask if they would be interested in taking on a task (or two).
  • Bug bash day/week
  • Scheduled Q&A session - this is more for building the community and encouraging more developers to engage with the maintainers
  • Aggressive triage of issues to work out what's a bug, what needs more investigation
up-for-grabs

Most helpful comment

Some more ideas:

  • Monthly webcast with maintainers, where we can go through certain topics or features the framework provides (no more than 15 minutes) - and answer people's questions at the end.
  • Create different teams here in GitHub so we can assign people to review PRs (we can have for example one group per platform)
  • Promote "up for grab" issues on the MvvmCross account on twitter, also offering support to start working on that issue.

Other than this, I'm a little bit against being aggresive on the triage of issues (as you might know already ^^). I feel like it is very unlikely they will realise how important is it to contribute back if we do so. We better convince them by the benefits and advantages.

All 14 comments

Also check out https://reactiveui.net/blog/2018/05/reactiveui-succession

ReactiveUI is a composable, cross-platform model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming which is a paradigm that allows you to express the idea around a feature in one readable place, abstract mutable state away from your user interfaces and improve improve the testability of your application.

Some more ideas:

  • Monthly webcast with maintainers, where we can go through certain topics or features the framework provides (no more than 15 minutes) - and answer people's questions at the end.
  • Create different teams here in GitHub so we can assign people to review PRs (we can have for example one group per platform)
  • Promote "up for grab" issues on the MvvmCross account on twitter, also offering support to start working on that issue.

Other than this, I'm a little bit against being aggresive on the triage of issues (as you might know already ^^). I feel like it is very unlikely they will realise how important is it to contribute back if we do so. We better convince them by the benefits and advantages.

Thanks @nmilcoff for the great suggestions.

w.r.t. my point about issues - it's more that we need to triage them and get any bugs fixed. Issues should either be bugs (and fixed asap), features/tasks or closed as "won't fix". In the case of features I'm ok with them sitting in the issues list but I'd really like to see someone championing them to get the work done - this doesn't mean they're the one doing the work, just that they are the one that ensures the feature is in the roadmap (almost product owner role but at a feature level)

Create different teams here in GitHub so we can assign people to review PRs (we can have for example one group per platform)

Have a look at how ReactiveUI does codeowners https://github.com/reactiveui/ReactiveUI/blob/master/.github/CODEOWNERS

I personally love how it automatically assigns teams for code reviews and promotes active development and merges. There shouldn't be a single bottleneck in terms of getting code into develop and by following this model we can make certain people owning specific areas for example plugins or MvvmCross android.

@vatsalyagoel I totally agree with this idea. It'd be great to get people to volunteer for different components of MvvmCross so we can work out what teams make sense

A great starting point would be going through the contributor history and reaching out to them. The core contributors would own the whole code base and then we could have certain people having their own teams which would then give them the opportunity to invite more people and grow the community.

We could also add a documentation team which owns the website and then we can put up for grabs on docs

Love it - I think you just created a task for yourself 👍

@vatsalyagoel are you able to create a PR to create the codeowners file and then we can try reaching out to various contributors

Hi @nickrandolph I'll do it in the evening today

Also check out https://ghuntley.com/live (the entire purpose is to aide with succession and introduce more people to open-source). You may also find github.com/reactiveui/rfcs interesting - steal if you think it will work for mvx.

Geoffrey Huntley

Created CODEOWNERS File
Teams that need to be created:

  • @mvvmcross/core-team
  • @mvvmcross/maintainers
  • @mvvmcross/learning-team
  • @mvvmcross/devops-team
  • @mvvmcross/android-team
  • @mvvmcross/ios-team
  • @mvvmcross/mac-team
  • @mvvmcross/tizen-team
  • @mvvmcross/uap-team
  • @mvvmcross/wpf-team
  • @mvvmcross/plugins-team

They've been created, although a slightly different structure. They can be seen here: https://github.com/orgs/MvvmCross/teams

GitHub
GitHub is where people build software. More than 28 million people use GitHub to discover, fork, and contribute to over 85 million projects.

https://github.community/t5/How-to-use-Git-and-GitHub/CODEOWNERS-works-with-users-but-not-teams/td-p/4986

It looks like you've set up the CODEOWNERS file correctly, but I believe the issue you're having is down to team permissions.

Teams are only requested for a review on a pull request when they have write access to the repository on the team itself. It's not enough for all the members to have write access, you need to grant write access to the actual team.

https://help.github.com/articles/managing-team-access-to-an-organization-repository/

Once you do this all future pull requests that involve files owned by that team should be automatically requested for a review.

In https://github.com/ciena-blueplanet/ciena-devops-testbed when using the CODEOWNERS entries of   * @notmessenger @juwara0 @job13er README.md @notmessenger @juwara0   and making a PR changing just the .THROWAWAY file all three users (@notmessenger @juwara0 @job13er) are added as reviewers and it o...
Organization owners and team maintainers can add repositories to a team, as well as change the team's read, write, and admin access to the repository. …

Edit: It works with devops : https://github.com/MvvmCross/MvvmCross/pull/3077

Just need to give the teams write access to the repository

Was this page helpful?
0 / 5 - 0 ratings

Related issues

erviem99 picture erviem99  ·  3Comments

GWawrzeniecki picture GWawrzeniecki  ·  3Comments

ueman picture ueman  ·  4Comments

a7ex picture a7ex  ·  3Comments

neminush picture neminush  ·  4Comments