We constantly review various ways by which we can help the broader developer community to contribute to ML.NET. There are multiple channels through which we can communicate and help the community (GitHub issues, Gitter, upcoming public Teams, YouTube live, slack, Good old mailing list!, …).
This issue is filed to start a discussion on what would be the good set of tools that the community prefers to use (and we are able to support long term).
@markusweimer, @Zruty0 , @terrajobst , @GalOshri , @jwood803 , @rauhs , @feiyun0112 , @adamsitnik , @bojanmisic , @danmosemsft , @eerhardt , @CESARDELATORRE , @helloguo , @mjmckp , @fiigii
I think we should have a good way or channel we can use to communicate minor news/announcements (in addition to Blog Posts) so folks closely following ML.NET can be up-to-date.
For instance, the .NET team uses this GitHub site repo just to use the ISSUES, so anyone subscribed/watching the repo will be aware of the minor news/announcements (1,805 folks following):
https://github.com/dotnet/announcements
Or this one for the .NET Architecture News/Annoucements (1,331 folks following):
https://github.com/dotnet-architecture/News
Thoughts?
I think the dotnet/announcement repo is a good pattern; blog posts are also good, but we cannot make this conversation real time as we don't want to confuse our regular readers with the firehose that is GitHub. But a post every once in a while that summarizes what has happened is a good thing. However, that I believe is already happening in the release announcements.
Some teams also use Gitter (basically Slack/Teams for GitHub). The problem with Gitter is that it's just yet-another-IM-tool, of which we already have too many. I have no cycles to be in Gitter but if your engineering team is there, I can see it being a very convenient way for your community to engage with you directly.
YouTube would be a great engagement model, but the problem is that someone has to produce the content. We're live streaming our reviews but even for .NET all up we usually only get a few hundred views with tens of people watching live. If your goal is to reach more people, you need to produce content more deliberately than just live streaming day-to-day events. But short videos (<10 minutes) that demo specific parts of ML.NET would be useful for both regular users as well as potential contributors. You can also do longer videos that walk people through the implementation.
To what @terrajobst mentioned about YouTube, I have a couple of ML.NET videos out and they are my most popular ones. The one on the original Learning Pipeline already has over 3000 views, so I do believe people want the content around ML.NET.
With Gitter, I know there's one for ML.NET, but it's my least favorite of the team chat applications, at the moment. So if there's a place for ML.NET folks on Slack or Teams, I'll definitely head there.
Just my two cents, though. I'll still follow where the community decides to hang out. 😄
I find Gitter very useful for Akka.NET community. It is also less of a resource hog than Slack. My 2 cents as a person who got interested in Akka.NET in part because of the good impression made by the quality of Akka.NET Gitter chat. I believe Teams is the least used product by developers in open source products, so maybe it's not the best way to encourage bypassers to take contribute.
I really like github wikis. For instance, if I have some snippets or random thoughts that are worth sharing and I don't have the time to create a blog post or anything elaborate, I'll often go and put up the code to a github wiki page if one exists. They're great for some community collaboration.
I'm new to the whole .NET community (coming from Clojure) so I'm not even sure where to find blog posts/resources on ML.NET. All the links above were new to me. Again, I think a collection of blog posts about ML.NET or other helpful links would be a great use of a wiki.
Thanks for this issue & reaching out. :)
Some teams also use Gitter (basically Slack/Teams for GitHub). The problem with Gitter is that it's just yet-another-IM-tool, of which we already have too many. I have no cycles to be in Gitter but if your engineering team is there, I can see it being a very convenient way for your community to engage with you directly.
I second for Gitter. It's very easy to climb in if one has a GH account and it can foster discussion, even cross-bleeding across channels. Especially if there are people that can answer questions small and big and entertain ideas. I'll tag @ReubenBond and @sergeybykov in case they have opinions, privately or otherwise.
@rauhs, your post got me thinking about where to find collections of links to resources for ML.NET. I think the F# Foundation website does this very well. It gives a ton of links to how to use F#, learning F#, and guides on how to use F# for various scenarios.
Would it be worthwhile to have something similar for ML.NET? If so, I'll gladly lend some help in building it.
What I like about Gitter is its low barrier to entry - it's just a web page where you can read and search previous conversations before you even log in. And you can log in via GitHub easily. You can later install their desktop or mobile app, but that's totally optional.
Links to issues and PRs are also nice because you can simply type #xyz, and it will automatically point to issue/PR xyz in the associated repo. https://gitter.im/dotnet/orleans
@rauhs , we briefly considered GH wiki, but the sentiment was that a public wiki is time-consuming to maintain. As wiki is a more permanent content, we better have it accurate / up to date.
More transient 'chat-like' channels are easier in that sense. For that, Gitter seems to be the common denominator so far?
Also I like the idea of the announcements / news repository @CESARDELATORRE
In CoreFX we experimented with github wiki but decided not to go further. If you don’t make them publicly writeable they aren’t much value over docs in the repo and can end up duplicating them. If you do make them writeable, we don’t know a way to subscribe to edits to detect vandalism (history is preserved though).
Thanks everyone for the input! Let's close this issue, and we'll start using gitter more actively for transient things.
Most helpful comment
@rauhs, your post got me thinking about where to find collections of links to resources for ML.NET. I think the F# Foundation website does this very well. It gives a ton of links to how to use F#, learning F#, and guides on how to use F# for various scenarios.
Would it be worthwhile to have something similar for ML.NET? If so, I'll gladly lend some help in building it.