Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Sep 2017 09:05:08 +0200
From:      Mathieu Prevot <mprevot@freebsd.org>
To:        Russell Haley <russ.haley@gmail.com>
Cc:        Marcin Cieslak <saper@saper.info>, David Naylor <naylor.b.david@gmail.com>, Geoffrey Huntley <ghuntley@ghuntley.com>, Freebsd-mono <freebsd-mono@freebsd.org>
Subject:   Re: DotNet Core on FreeBSD
Message-ID:  <CAP8Xrcuzu382_L0qk1iMN3Yhkci8inZ_dn0Ycq=po2ZVvytYrw@mail.gmail.com>
In-Reply-To: <CABx9NuTAxUB6E-6XdtP8d6ZAVsV7eGg-=9JrjWAexTRTfvz2Kg@mail.gmail.com>
References:  <CABx9NuQVGCnn32pNz2Opbnua8wwuuYjTDJyq3qO0iF%2BkiGfVBg@mail.gmail.com> <nycvar.OFS.7.76.6.1709100805500.3008@z.fncre.vasb> <20170910155228.6545490.82502.31658@gmail.com> <CABx9NuTxcgDfe8oApu%2BsChN3wGfYHC_RNBeakxoh=7sK6_1O=g@mail.gmail.com> <CABx9NuTpxj8g2s1OtNUrg_8g-c3CS9Lph2DcMJarmxi%2Bbzf51g@mail.gmail.com> <CABx9NuR59a_11QfpNRt1GkFKy-KFm1WmMi1a8Bqs1LygdP6Ypw@mail.gmail.com> <CABx9NuTAxUB6E-6XdtP8d6ZAVsV7eGg-=9JrjWAexTRTfvz2Kg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Russell,

I'm in. Can't engage formally as I'm quite loaded with work, but I'm rather
familiar with the .NET ecosystem.

I can provide dedicated FreeBSD/Linux VMs for nightbuilds, tests, with big
bandwidth, and 2-4 cores per VM from E5-2673v3, that I can put in
USA/EU/Asia/more.
I guess the best would be 2 VMs, one Linux for build, one FreeBSD for test.
We might need to have some talk about the most relevant config.

My github account uses mprevot@freebsd.org

Cheers
M

2017-09-14 8:23 GMT+02:00 Russell Haley <russ.haley@gmail.com>:

> Hey Guys,
>
> So I had a good chat on the phone today with Karel Zikmund and Tomas
> Weinfurt from Microsoft. Karel and Tomas work together on the DotNet
> Core Team. Tomas was looking for a way to get in deep with the
> framework and has past FreeBSD experience, so offered to look into
> porting Core 2.0 over to FreeBSD on his own time. Karel has supported
> Tomas by advocating for giving him work time to devote to the porting
> process.[1]
>
> Microsoft and the DotNet Core Team have agreed to restart the FreeBSD
> porting process and are looking to engage the FreeBSD community
> because there is quite a bit of work to be done. There are many moving
> parts to building and running DotNet, each with it's own challenge in
> the porting process. Just between the three people in the phone call
> there were numerous paths identified for others to engage. Because of
> the width of the problem, Karel and Tomas have put together the
> following outline of the outstanding work:
>
>   1.  Produce binaries in CoreCLR & CoreFX repo targeting FreeBSD =E2=80=
=93
> using hacks is fine
>      *   Hard to parallelize, Tomas will work on that
>      *   The build can be mix of builds from other platforms (Mac,
> Linux) targeting FreeBSD
>      *   We will need steps to reproduce the build with
> FreeBSD-specific bug fixes
>   2.  Run & stabilize CoreCLR tests (using corerun)
>      *   Tests may be built on another platform
>      *   Goal: Provides basic quality of runtime
>   3.  Run & stabilize CoreFX tests (using corerun)
>      *   Tests may be built on another platform
>      *   Note this requires xunit. We believe, based on our past
> porting experience, once #2 is done, xunit will just work.
>      *   This can be in theory parallelized with #2 =E2=80=93 it may requ=
ire
> shortcutting xunit (e.g. generate static execution recipe on another
> platform)
>   4.  Full stack build on FreeBSD (using corerun as bootstrapper from
> #1-#3)
>      *   We will need all tools (nuget, msbuild, roslyn) to work on
> boostrapping .NET Core
>   5.  Installers (FreeBSD ports)
>      *   First-stage: Using product binaries from nuget feeds
>      *   Second-stage: Build product from source (blocked on build
> from source effort)
>      *   Requires FreeBSD community expertise and guidance on design
>      *   Note: We can link FreeBSD packages also from official .NET
> Core download pages as community-support packages
>   6.  Regular build and test runs on FreeBSD
>      *   Goal: Make sure changes in .NET Core repos breaking FreeBSD
> are known early
>      *   Design needed
>      *   Requires FreeBSD community expertise and guidance on design
>
> This list is just a general overview of what's needs to happen. There
> is still some incomplete critical path work, but that seems to be
> pretty well in hand by Tomas. I asked them to give us whatever they
> had and let the people pour over it, so Tomas has agreed to put
> together a document.
>
> The next big step in getting traction is for the community to identify
> people who would like to participate in the porting process, and
> finding ways to engage. Obviously, you're free to do what you want,
> but Karel and Tomas are hoping to direct the work towards specific
> goals and try to drive the porting process as fast as possible. I
> suggested that teams like the KDE team, or past mono teams seem to
> have worked liked that.
>
> If you'd like to participate/join the fun, please set up a GitHub
> account and send a 'me too' email with the username or email address.
> I'll send an invite for the FreeBSD-DotNet to that account. I'm not so
> sure anymore about using GitHub for FreeBSD stuff, but it's a good
> place to congregate.
>
> Either way, I'm hoping to get a handle on the whole thing again and
> try and be productive myself. I'm hoping to talk to David about
> spring-boarding off of his Mono 5 work and start a new dotnet-core
> port. There are also opportunities to use Mono to kickstart the build
> process to get people working with the system.
>
> Thanks guys, I look forward to hearing from you (I hope!). If not,
> I'll be keeping people up to date on this mailing list.
>
> Cheers,
> Russ
>
> [1] My paraphrasing of the situation. I could be totally off base.
>
> On Sun, Sep 10, 2017 at 10:09 PM, Russell Haley <russ.haley@gmail.com>
> wrote:
> > Does anyone here run Unity? Unity is a very popular gaming engine that
> > is cross platform and provides a C# API.
> >
> > https://en.wikipedia.org/wiki/Unity_(game_engine)
> >
> > https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/
> >
> > Kaboom! (Head exploded again. This is getting messy)
> >
> > Russ
> >
> > On Sun, Sep 10, 2017 at 10:03 PM, Russell Haley <russ.haley@gmail.com>
> wrote:
> >> On Sun, Sep 10, 2017 at 9:59 PM, Russell Haley <russ.haley@gmail.com>
> wrote:
> >>> Hey Marcin,
> >>>
> >>> So I just read the Contribution License Agreement and I didn't see
> >>> anything untoward.
> >>>
> >>> https://cla2.dotnetfoundation.org/cladoc/net-foundation-
> contribution-license-agreement.pdf
> >>>
> >>> Just remember all these projects are MIT, Apache 2 or CC license. I
> >>> think bringing this code into FreeBSD is a bonkers good idea. (Kaboom=
!
> >>> lolz). Especially if you think about how much proprietary code is out
> >>> there on Windows that people will want to protect. A FreeNAS style
> >>> management console would make FreeBSD a particularly attractive offer
> >>> over GPL licensed OSes for companies to create appliance style system=
s
> >>> (physical or virtual, a-la FreeNAS). Jails become yet another great
> >>> way to distribute proprietary code.
> >>>
> >>> Sony PS 3&4, NetApp and now Nintendo Switch are all great examples of
> >>> what you can do with FreeBSD in a proprietary system.
> >>>
> >>> Dot Net Core also opens up Arm based systems on FreeBSD in some ways
> >>> because it's specifically designed do be modular. I don't think Mono
> >>> has built on Arm for a long time and the performance of Mono has been
> >>> a problem of note.
> >>>
> >>> Russ
> >>
> >> I'm trying to perform due diligence because I want to throw some time
> >> into this. Avoiding GPL and other encumbering licenses is important to
> >> me. I had to know myself so I made this list of licenses:
> >>
> >> https://github.com/dotnet/csharplang - Microsoft
> >> https://github.com/dotnet/cli -
> >> https://www.microsoft.com/net/dotnet_library_license.htm
> >>
> >> https://github.com/dotnet/source-build - MIT
> >> https://github.com/dotnet/core-setup - MIT
> >> https://github.com/dotnet/corefx - MIT
> >> https://github.com/dotnet/coreclr - MIT
> >> https://github.com/dotnet/sdk - MIT
> >> https://github.com/dotnet/dotnet-docker - MIT
> >> https://github.com/dotnet/standard - MIT
> >> https://github.com/dotnet/sdk - MIT
> >> https://github.com/dotnet/netcorecli-fsc - MIT
> >>
> >> https://github.com/nuget/home - A2
> >> https://github.com/aspnet/home - A2
> >> https://github.com/dotnet/roslyn - A2
> >>
> >> https://github.com/aspnet/Docs - CC
> >> https://github.com/dotnet/docs - CC
> >>
> >> Russ
> >>
> >>> On Sun, Sep 10, 2017 at 8:52 AM, Russell Haley <russ.haley@gmail.com>
> wrote:
> >>>> Sorry for the top post,
> >>>>
> >>>> Marcin, can you expand on your thoughts about the contributor
> license? This has been one of the concerns of mine=E2=80=8E (part of the
> pedanticism). I didn't get a chance to read the doc itself yet.
> >>>>
> >>>> Russ
> >>>>
> >>>> Sent from my BlackBerry 10 smartphone on the Virgin Mobile network.
> >>>>   Original Message
> >>>> From: Marcin Cieslak
> >>>> Sent: Sunday, September 10, 2017 1:13 AM
> >>>> To: Russell Haley
> >>>> Cc: David Naylor; Geoffrey Huntley; Freebsd-mono;
> freebsd-advocacy@freebsd.org; freebsd-ports@freebsd.org
> >>>> Subject: Re: DotNet Core on FreeBSD
> >>>>
> >>>> On Sun, 10 Sep 2017, Russell Haley wrote:
> >>>>
> >>>>> Hey guys,
> >>>>>
> >>>>> I am talking to Karel and Tomas at Microsoft's DotNet Core Team abo=
ut
> >>>>> putting together a "proposal" for community involvement, which will
> be
> >>>>> followed by more information on this list. Most of the talk has bee=
n
> >>>>> me blowing air and being pedantic about nothing (I get excited and
> >>>>> type alot).
> >>>>
> >>>> I was tinkering around FreeBSD support when dotnet core was first
> published.
> >>>> Stack unwinding for exceptions was very hacky at the time, and there
> were
> >>>> some unnecessary discussions about how to implement some FreeBSD
> sepecific
> >>>> sysctl's. I got a bit frustrated with that (a whole porting effort i=
s
> about
> >>>> coercing Unix to offer part of Win32 APIs).
> >>>>
> >>>> It was somewhat running on FreeBSD natively back then, haven't check=
ed
> >>>> recently.
> >>>>
> >>>> I have also decided not to sign their bad contributor agreement
> >>>> and some of the sysctl code I decided to put in mono instead :)
> >>>>
> >>>> Marcin
> >>>> saper on github
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP8Xrcuzu382_L0qk1iMN3Yhkci8inZ_dn0Ycq=po2ZVvytYrw>