Archive for October, 2006

Mono and it’s furture on FreeBSD

Thursday, October 26th, 2006

(I’m reposting my recent email to ports@ here for a wider audience.)


For the last 2 years I’ve been maintaining Mono and it’s consumers on FreeBSD and running the BSD# project. Mono has come a long way in the past two years with the help of a few people but it still has further to go to work as well as it does on Novell’s targeted platforms. With that said, I’ve realized that it is time for me to step aside from maintaining Mono and running BSD#. A few months ago I realized I was not enjoying my FreeBSD work at all. That made me come to the conclusion that it’s time for me to pursue other FreeBSD work. My life has changed in the past two years. The biggest change is a new job. I have less free time and I like spending the free time I have working on projects related to what I find interesting at work. I’ve also accumulated a number of ideas over the past few years for FreeBSD which I want to pursue. Maintaining Mono and trying to run BSD# just doesn’t fit into my life very well anymore.


Many people familiar with Mono know how I got this job. As a completely novice programmer I just wanted to learn C#. Soon after I did a port or two the last Mono maintainer left. At that point I decided to keep Mono up to date in the interim until someone else wanted the job. (Can 2 years be called interim?) This is why I started BSD# instead of maintaining the ports on my own. Mono’s issues on FreeBSD have long been over my head. It needs someone who will actually port it not just keep it up to date. I used to keep a list of known issues that could be easily reproduced with certain applications. Not having someone to look at the cause of and fix these issues I eventually gave up. This has stalled a few applications from making their way into the FreeBSD tree.


I’m not dropping Mono, all the C# ports, and BSD# right now. In fact, I was at Novell’s Mono conference this week. I want to ensure a smooth transition and avoid dropping all the ports maintained by to ports@. I don’t think it’s fair to users for me to drop all this without sufficient warning. 1.2 comes out in the next few weeks and 2.0 is expected by the end of 2007. I plan on seeing 1.2 and a few of the maintenance releases make their way into FreeBSD tree. With 1.2 will come enabled amd64 support and better stability. (amd64 support has actually worked for a while but there hasn’t been an amd64 tinderbox available until recently.) But as 2.0 ramps up I’d like to hand the reigns over to someone else moreinterested and more capable of maintaining it.


For anyone interested in Mono on FreeBSD, please, join the BSD# mailing list. You can find more information about it on the BSD# homepage. I’m also on Freenode’s #BSD-Sharp from 20:00 EDT to 23:00 EDT most evenings after work. Occasionally I’m available on there during the day while at work too. There’s always something for an interested and motivated party to do. We could use more C# application ports. There’s also a lingering crash that happens on occasion when people attempt to build Mono which typically goes away on the next try.


Realistically, I plan on stepping down in the next three months or so but I will hang around longer if it looks like someone wants the responsibility for everything. I’ll always be around to wrangle update PRs as well.


Mono was fun for some time but it’s just come time for me to move on.

Mono 1.1.18 in BSD# CVS repo

Thursday, October 26th, 2006

Mono 1.1.18 was committed by Phillip Neumann to the BSD# CVS repo recently. In addition, last night gtk# (gtk-sharp20) was updated to 2.10. With this update the Gnome specific bindings were split out into a seperate Gnome# package (gnome-sharp20). I’ve also patched bsd.gnome.mk to add gtksharp10, gtksharp20, and gnomesharp20 to USE_GNOME. It’s tough to quickly figuring out which ports need gnome-sharp20 instead of just gtk-sharp20 so for now I’ve just switched all ports in the repo with a gtk-sharp20 dependency to USE_GNOME=gtksharp20 and I’m in the midst of tinderboxing the entire tree. That should catch all the ports which really need the Gnome# bindings. I’ll be fixing those issues as the tinderbox mails them to me.


Mono 1.2 will be announced in the comming weeks. With the current ports freeze in place I’m figuring I’ll wait until 1.2 is ready and commit all the changes in the BSD# tree to the FreeBSD tree in one large commit. amd64 support will also be left enabled at that time and all ports will be moved to LOCALBASE. If you’re interested in Mono on FreeBSD please see the BSD# homepage and instructions for using mono-merge to use the ports in the BSD# repo.

Mono 1.1.17.2 in BSD# CVS

Monday, October 16th, 2006

If you’ve been following the BSD# CVS commits you’ve noticed Mono 1.1.17.2 is in the BSD# tree. Originally the 1.1.13.x line was to be the stable version while later version lines would be development releases up until 1.2. Well, Novell changed their mind. they’re now recommending 1.1.17.2 as the preferred version. It’ll be a few weeks until ports freeze/slush is over. Please report any problems or breakage so this update goes smooth.


Also, thanks to Phillip Neumann for getting someone to look at some FreeBSD amd64 problems. It now works on amd64/-CURRENT. When it is committed to the FreeBSD tree amd64 support will be left enabled.