"project governance" - aka a "bigger, more fun party" #841

Closed
slodge opened this Issue Dec 1, 2014 · 38 comments

Projects

None yet
@slodge
Contributor
slodge commented Dec 1, 2014

I've been talking about this for aaaaages....

Basically....

I'm not planning on disappearing anywhere - I still love Mvx

But I don't think I'm that special and I'm also aware that my work gets in the way of the project sometimes (I've been too busy and slow this year!)...

I see so many great contributions from the community, and I'm very happy to give others within the community genuine authority within the project...

@nikmd23 has been very sage and wise in his advice:

Yes - totally making sense now Stuart.

I think the key here is to be transparent and intentional about your actions. Say what you plan to do (listen to feedback), do it (listen to feedback) and they say what you did (and listen to feedback).

It should be totally fine, and appreciated, for you to say that you've identified a few flaws in the projects governance model and want to move towards something else. If you are moving towards a meritocratic model, you may want to have a chat with the people you are electing (if any?) to be maintainers of the project to make sure they are all on the same page you and you make announcement together.

So... I'd like to "nominate" some people into the management/steering side of the project... @Cheesebaron is already there - and has done heaps of awesome stuff - thanks Tomasz - I do owe you beer :)

For ideas of people who are already involved, I will look at the graph on https://github.com/MvvmCross/MvvmCross/graphs/contributors (although note that this only shows 3.2 work)

I'm going to talk with @Cheesebaron and then ask people if they want to be involved...

e.g. @lothrop's already said yes - he's recently delivered awesomeness on Xamarin.iOS (and beyond)

Beyond that, we're very open to other suggestions - so please do get in touch if you want to be involved! If in doubt, if you are wondering why you haven't already been asked... please don't feel offended (if in doubt, assume I've been very English and very introverted about asking people if they want to be involved... and assume I've not asked half the people who I meant to... if in doubt, assume I'm being sloooooow.....)

@kjeremy
Contributor
kjeremy commented Dec 1, 2014

๐Ÿ‘

@slodge
Contributor
slodge commented Dec 12, 2014

.... slowly moving forwards - I've got to work out a way of talking to @lothrop and @Cheesebaron ... and a way to get more in too...

Work and chrimbo getting in the way :)

@slodge
Contributor
slodge commented Jan 8, 2015

Now... how do we do this governance thing...

Guess we could just hold our discussions here?

First up, my proposals for right now:

  • I've heard several good stories back about 3.5-beta (especially unified) - so I guess this is clear to ship as a release?
  • I'm wondering about who else we should invite on to the admin list - any nominations :)
  • I'm wondering about what to add more of to the central repo - are there any Lollipop (card view?) type Android views we should bind? Are there any Gear or Watch (soon) views to bind? With MS, I guess we just have to wait for Build in April...
  • what other projects should we support... e.g. I'm wondering about contributing some nuspec files to cheesebaron's mvx-xamforms repo
  • wondering how I can share the nuget apikey for uploading mvx versions with the admin team without making it public...
  • what else?

Happy also to discuss stuff on jabbr - or we could set up a Slack room

Right...I'm now late for work :)

Stuart

@slodge
Contributor
slodge commented Jan 8, 2015

Oh... 2 more things....

  • what docs do we need to add/change?
  • when we push release on 3.5 I will also do a big R#er update to the csharp headers to replace the "// Project Lead" line to list the Twitter handles of all project admins.... should help spread the spam ๐Ÿ‘
@kjeremy
Contributor
kjeremy commented Jan 8, 2015

For the the support libraries I was thinking that we should definitely bind widgets like RecyclerView/CardView. Maybe we should ship them in their own assemblies mirroring what's in the support package (CardView/RecyclerView/Palette are all in their own libraries).

Then there are widgets like SwitchCompat which are in the general appcompat lib. I'm not sure what to do with that one.

@Cheesebaron
Member

As for the Mvx + Xam.Forms stuff, I have some code on my laptop more or less split from that sample project which also builds nicely with Mvx 3.5. I just need to upload it and make that WinCommon presenter.

I just need to get this M.Sc. thesis done, which should be in around two weeks. I can dump the code and if someone wants to look at it they are welcome to do so.

About the "//Project Lead" stuff, I think we should just write MvvmCross Team and refer to a file containing the names of all the contributors. Isn't that much more clean?

@gshackles
Member

@slodge What about removing those headers entirely? ๐Ÿ˜„

Also, as far as calling out contributors there directly, why not just attribute it to "MvvmCross", and maintain a list of core contributors in the repository itself? Seems easier to maintain.

@lothrop
Member
lothrop commented Jan 8, 2015

I would like to wait with the 3.5 release until next week when Xamarin is planning to release the final version. I'm really hoping we won't see any more breaking changes but you never know.

I'm also not a friend of file headers.

Oh, and I nominate @gshackles. ๐Ÿ˜

@Dexyon
Contributor
Dexyon commented Jan 8, 2015

I do have to agree with @gshackles on the headers. Maintaining a list of people who have contributed to MvvmCross in the repository itself is a bit more maintainable and would also create the possibility to reference projects which those people have created.

We can introduce a 'Wall of Fame'

@lothrop
Member
lothrop commented Jan 13, 2015

Unified API for iOS is now on the stable channel. It's the same version that was on the alpha channel yesterday. I don't see any problems with it and propose we release 3.5.

@slodge
Contributor
slodge commented Jan 13, 2015

๐Ÿ‘ sounds great!

Will do a fresh build and push to public "soon" (when not in this office!) - unless anyone else wants to do it...

I have heard a couple of noises about issues upgrading droid projects (something to do with our System.Net and System.Xml.Serialization shim assemblies being removed from our "PortableSupport" package - but nuget not removing them from the projects) - doesn't sound like a biggie, but it does sound like it might cause quite a few people some pain :(

I'm also aware the community sqlite project is in a bit of a mess - it needs some time spent on it working out what is working in unified, what in windows universal, etc... ergh

On other things...

  • @Cheesebaron should stop reading this and get back to typing ;) Good luck with the thesis :)
  • on headers, it sounds like we should drop the header down to the minimum copyright we can - a single comment line? Or should we even drop lower that too?
  • let's add a section at the top of the readme for project leads/admins/gods...
  • sounds like elevating @gshackles to god status would be a fab idea (although really he's been there for a long while already!)
  • maybe @kjeremy too? And any other nominations?
  • once 3.5 is out, then let's talk about what else needs doing...

Right, back to the day job :)

@lothrop
Member
lothrop commented Jan 13, 2015

The Xamarin.Mac Unified API release accidentally slipped into 3.5.0. I hope that's OK.

@AmandaUrsula

Hi Guys

Eagerly awaiting the 3.5 nuget package release so that I can continue with my new Xamarin project using Unified API . Is it possible to put the Mvx.Plugins.Settings plugin into the 3.5 branch? Got everything working using the 3.5 code except for the ISettings ...

@martijn00
Member

I've added milestones for all the PR's now. My plan is that for all new PR's that come in, we attach them to the milestone when they get merged in. We don't need to add any date to those milestones because that would be too much pressure. That way we can track back what got in where. Would everyone agree on that?

I've cleaned the outstanding issue's and PR's so far i could. Currently I am looking more into the Mvx framework to got a better understanding of the code, so i can look into some of the older issue's.

@slodge
Contributor
slodge commented Feb 8, 2015

Hello again :)

I'm trying to get some time on Mvx this weekend

On my list:

  • trying to merge in a fix for the public setter properties - #907
  • trying to think about a fix for these unified GC changes - #902 - although I'm feeling "odd" about this one as I can't repro it... and nor have a few other people... suspect Xam stable is a state of mind
  • looking at merging in the Universal/WinRT suspension changes - #550 (might have that number wrong)
  • looking at merging in a few other recent pulls too ("misc")
  • on this task, I'm wondering about adding @kjeremy and @gshackles to the admin team (and maybe @martijn00 too!) - and I'm wondering about how to distribute my nuget key (in case I'm ever mown-down-by-a-bus or out cycling when an urgent push is needed!)

Thoughts welcome - including if there's any urgent fixes/changes people are aware of. Trying to improve the democracy model :)

Stuart

@slodge
Contributor
slodge commented Feb 8, 2015

Ooohh.... and I'm also thinking @jonstoneman on-board too :)


I've made some merges and fixes...

Getting to the level of trying to build a 3.5.1-alpha1....

I'm hitting issues with the Touch build chain - if I rebuild CrossCore.Touch manually it builds OK into /bin/Mvx/Debug/Touch - but if I try to rebuild just Binding.Touch (or if I build everything using Batch Build) then CrossCore.Touch doesn't seem to make it out of the CrossCore obj directory - anyone seen this before?

I can build as a 2-step process ... but I'd rather not... just puzzled by this at present :/

@powerdude

Seems like a dll vs. project reference problem in the dependency chain

From: Stuart Lodge [mailto:notifications@github.com]
Sent: Sunday, February 8, 2015 2:23 PM
To: MvvmCross/MvvmCross
Subject: Re: [MvvmCross] "project governance" - aka a "bigger, more fun party" (#841)

Ooohh.... and I'm also thinking @jonstoneman https://github.com/jonstoneman on-board too :)


I've made some merges and fixes...

Getting to the level of trying to build a 3.5.1-alpha1....

I'm hitting issues with the Touch build chain - if I rebuild CrossCore.Touch manually it builds OK into /bin/Mvx/Debug/Touch - but if I try to rebuild just Binding.Touch (or if I build everything using Batch Build) then CrossCore.Touch doesn't seem to make it out of the CrossCore obj directory - anyone seen this before?

I can build as a 2-step process ... but I'd rather not... just puzzled by this at present :/

โ€”
Reply to this email directly or view it on GitHub #841 (comment) . https://github.com/notifications/beacon/AAvqUpaI8xgxqgp8xKPs1gugnj9duvXcks5np70wgaJpZM4DCYx6.gif

@evnik
Contributor
evnik commented Feb 9, 2015

@slodge, by the way, you have not share your NuGet key, while you can add co-owners to the package. See details in NuGet documentation.

@powerdude

@slodge, I hope you sort it out. you may need to check the dependencies of that other project too as it, or an ancestor could be out of whack. Good luck!!

@promontis
Contributor

We discussed this a bit on the Jabbr channel some days ago. Because MvvmCross is growing bigger and bigger, it would be nice to take "the next step".

  • Improve the docs. Suggestions were made to use readthedocs or a similar service, so that we can have more professional looking docs while keeping stuff in one place (github).
  • Organize weekly standups for whoever want to join on hangouts or something. We can divide tasks there.
  • Host the docs on docs.mvvmcross.com
  • Create a list of contributors to give people an incentive to help the project.
  • Document the way a release is created... more scheduled releases by automating it
  • Create a myget repository for people to push plugins to (like the public nuget gallery). Create a small website around that myget repository to discover the plugins... something like a component 'store' (but free)
@Stephanvs
Member

Great ideas so far!

  • I actually investigated readthedocs.com a while ago for MvvmCross, but didn't come around to actually writing some ๐Ÿ˜ฌ Would we need a dedicated MvvmCross-Docs repo under the main account for that?
  • Hosting an automated build and putting nugets up nightly sounds like an awesome idea, also testing changes would become way more easy and we would speed up the feedback loop from other devs as well! I guess the challenge in running automated is the required Xamarin license..?

I'd say go ๐Ÿ‘ :shipit:

@lothrop
Member
lothrop commented Oct 19, 2015

When we last asked Xamarin they said we could use any developer's license on the build server. But it might be a good idea to apply for one of the free licenses for open source projects?

@kjeremy
Contributor
kjeremy commented Oct 19, 2015

๐Ÿ‘ on readthedocs

@martijn00
Member

Good to get this discussion rolling again! Some opinions of me:

  • I like the docs Polymer uses: https://github.com/Polymer/docs
  • I think weekly standups might be difficult to organize, but we could try.
  • Keeping a list of contributors sounds like a good idea! Easy thing to start with.
  • Automated builds are nice. Is there any documentations on how that could work with Nuget?

About the docs hosting. We could put the source in a repo inside the MvvmCross organization, but for most website types we would need separate hosting. Microsoft Azure lets you pick a repo to use as source for a web app. Maybe that would be an option?

Also i think we could use a new website which integrates both the blog, documentation and samples.

@promontis
Contributor

Let us first decide on the documentation.

Currently, we have the following services:

  1. readthedocs
  2. readme.io
  3. site generator (like Jekyll) and hosting it via Azure

Any others?

Because we are open source 1 and 2 are free for use. 3 would require a little bit more time to setup and I think we don't have a free Azure subscription. I'm leaning to either readthedocs or readme.io because it is very easy to setup and easy to share with other people wanting to contribute.

@promontis
Contributor

I created a readme.io project to give people a bit of better feeling on how it looks/works. I think it is great! Already invited some people... Any other people I can invite (@martijn00)? If so, please provide your (obfuscated) email address.

@martijn00
Member

readme.io looks interesting! @promontis can you contact me on Slack (or Jabbr) to have a chat?

@Dexyon
Contributor
Dexyon commented Oct 20, 2015

I am willing to help out writing some stuff. You can find my e-mail in my profile I guess

@promontis
Contributor

@Dexyon already gave you access :)

@gshackles
Member

If there's a need for Azure hosting I can help out there. I'm also doing some inquiring about CI options.

@Stephanvs
Member

@gshackles Are you talking about the Xamarin CI EAP if not maybe that's worth considering? For automated releases, we'd need a mac for building the iOS libs.

@promontis
Contributor

Anybody already got a nice CI solution up and running? Especially with the iOS libs.
I know there is https://hosted-ci.com/plan/free and https://www.bitrise.io. Didn't know about the Xamarin CI EAP. Would be nice though

@gshackles
Member

Yeah that's what I'm exploring, the wheels are in motion. Will report back as I find out more ๐Ÿ˜„

@Dexyon
Contributor
Dexyon commented Oct 20, 2015

@gshackles Were you looking at hosted-ci, bitrise or Xamarin CI EAP? Maybe Teamcity is an option however we still need Osx installed.

@gshackles
Member

I'm exploring the options with Xamarin

@Dexyon
Contributor
Dexyon commented Oct 20, 2015

Nice. Curious how it will look and behave. Would be nice if we could get the project running there.

@martijn00
Member

I think we are doing great on this topic! Let's close this issue, and please contact us on slack for more information.

@martijn00 martijn00 closed this May 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment