From owner-freebsd-mono@freebsd.org Thu Sep 14 07:05:31 2017 Return-Path: Delivered-To: freebsd-mono@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9C87DE044C7 for ; Thu, 14 Sep 2017 07:05:31 +0000 (UTC) (envelope-from mathieu.prevot@gmail.com) Received: from mail-lf0-x229.google.com (mail-lf0-x229.google.com [IPv6:2a00:1450:4010:c07::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0485367A3E for ; Thu, 14 Sep 2017 07:05:31 +0000 (UTC) (envelope-from mathieu.prevot@gmail.com) Received: by mail-lf0-x229.google.com with SMTP id l196so5979979lfl.1 for ; Thu, 14 Sep 2017 00:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=8cGn8fPAoq6ChNI5nSW+VIRWspJqPLr0SVHE5TlWpGw=; b=NZrgra9YKw1tTzoquZqIR2ZT2y27W+heKQoG2XFNAlsb2tlxSEAwWLw0ekjbBSRrAQ rKiTKg3TTUmgehTt2AEwPTwYRhhOyrCVCEeiH/PLVMC2reEApGH54bSrR2uZszn828I3 zJON8fxmdN4FFBeQZgWovi0QYwgbr1/tEH+QUxM5GfkJ9cjaLr0ckGr/K8asV1nf2ejZ q55aW++RF48bGZImrf7UUuIx75jHSloPoLZAK6gV4MYeMJvJAenRzlOZE65uf3wMmvkx M/80MC65CkKwpuvnPtd9Rvb9ewqrQCB+PdOhlVHNOKE5QvHeJ5DsKMT2gvWVVgUiIinH oOZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=8cGn8fPAoq6ChNI5nSW+VIRWspJqPLr0SVHE5TlWpGw=; b=jQmlOw/G/q7SfJeUypxb2AfMPxbNzwvWffLjb3uHqqFG5XejBQuk396dNhDaOiKkXR shiC1K0kXl5v7iJid7JTbGHzVmN18SIgkE3/YV4VE4jD1UZ1+b080cK04SJ5GpYv7WWl G0Dave6QLIPOlR/WP2CbLhxgabxhlogekeRgK/g+K5rQ/5o29YseSBjIYdhu1bn0bXHm qA4cLBRO8Ux4IG9dc1ShBQSTZot07IfJrXc3tyejYG1ViQM0UKpF+TZmS2zmEeHpGbM/ 2GRrDVO2PE2JA/BcEf+3qJkBfieGWzpJPs6PSvgYa2Crx7sx61YDKAQ54rpzW7E/frl0 YB+A== X-Gm-Message-State: AHPjjUh9sT6dxauBdl9SMX+m6lf1kNYFm0Fj1MFa1L+RItMcRXFW44D3 Ek94JCcGlAtxIPwFH0j4xPhiN4LTeakPEUAcaXw= X-Google-Smtp-Source: AOwi7QCGx1nXg/wGpUhwnz8rcXweGrZmonVLFsEpU5NKRC6DLzf1qbjznPpwQ/16tgyjbcO4EgVct1p6TbgQGvpDRK4= X-Received: by 10.25.229.215 with SMTP id i84mr7790962lfk.122.1505372728767; Thu, 14 Sep 2017 00:05:28 -0700 (PDT) MIME-Version: 1.0 Sender: mathieu.prevot@gmail.com Received: by 10.25.56.11 with HTTP; Thu, 14 Sep 2017 00:05:08 -0700 (PDT) In-Reply-To: References: <20170910155228.6545490.82502.31658@gmail.com> From: Mathieu Prevot Date: Thu, 14 Sep 2017 09:05:08 +0200 X-Google-Sender-Auth: oret7kxJ8-nvORuTTMy-dn2-V5Y Message-ID: Subject: Re: DotNet Core on FreeBSD To: Russell Haley Cc: Marcin Cieslak , David Naylor , Geoffrey Huntley , Freebsd-mono Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2017 07:05:31 -0000 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 : > 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 > 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 > wrote: > >> On Sun, Sep 10, 2017 at 9:59 PM, Russell Haley > 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 > 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 >