From owner-freebsd-gnome@FreeBSD.ORG Thu Apr 20 13:26:21 2006 Return-Path: X-Original-To: freebsd-gnome@freebsd.org Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B377C16A401 for ; Thu, 20 Apr 2006 13:26:21 +0000 (UTC) (envelope-from dublue@gmail.com) Received: from nproxy.gmail.com (nproxy.gmail.com [64.233.182.189]) by mx1.FreeBSD.org (Postfix) with ESMTP id EE70543D48 for ; Thu, 20 Apr 2006 13:26:20 +0000 (GMT) (envelope-from dublue@gmail.com) Received: by nproxy.gmail.com with SMTP id m18so153651nfc for ; Thu, 20 Apr 2006 06:26:20 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=cwGpt7Gd3RsntwZUne8T5Zc3heM3vJyuWVz7aDDvd0sDeorpdhKwkozF1HfvIt6BLRiBh9wROJ0XCsH+6P308IZWhHtx22OBUPdmoAzT8hLdEdhpKlxwtCM8mRW7zLCz0Taqcfg5CWhfaz1nIEKiRfHQSmwm9bHuKVVCo3301ts= Received: by 10.49.66.11 with SMTP id t11mr399796nfk; Thu, 20 Apr 2006 05:59:17 -0700 (PDT) Received: by 10.48.229.14 with HTTP; Thu, 20 Apr 2006 05:59:17 -0700 (PDT) Message-ID: <4011f09c0604200559u65f73e4bt81a30c0c12df7ea7@mail.gmail.com> Date: Thu, 20 Apr 2006 22:59:17 +1000 From: "Michael Tran" To: "Jeremy Messenger" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <4011f09c0604190430m564757bdh90575c71fa93ff@mail.gmail.com> Cc: freebsd-gnome@freebsd.org Subject: Re: Interview with FreeBSD Developer Joe Marcus Clarke X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Apr 2006 13:26:21 -0000 Here you go, I've just finished transcribing it. Let me know if you need it hosted somewhere. Michael ps, don't expect it to be 100% accurate! I didn't know everything that was mentioned. ---- Will Backman [0:38] Today we're speaking with Joe Marcus Clarke and he is a FreeBSD developer. so i want to thank him for coming on this podcast, maybe give him an opportunity to introduce himself and explain the different things you're working with the FreeBSD project. Joe Marcus Clarke [0:56] Thank you. My name's Joe Marcus Clarke. I've been a FreeBSD developer now for I believe four years. I've been using FreeBSD for over ten and a half and my main focus [way?] I got into FreeBSD [way?] was in the committing part of FreeBSD was with the Gnome project. I also wear a few other hats in the project: I do work with the port management team and I do repository work. So repo copies for those in the FreeBSD know I do the copies of old ports to new ports for developers. I've also done some minor userland work specifically for [skiny|skinning] Cisco IP phone telephony in our lib alias, our NAT gateway. But Gnome is, still is, and will be my main primary focus in the project. Will Backman [1:45] And what got you interested in the Gnome desktop? Joe Marcus Clarke [1:48] I guess a funny story I'd... Back in the day, I just transitioned away from KDE to[Astrastep?] because KDE was screwing up with some Java applications that I needed to use. And Gnome 1.0 just came out and I thought "you know, I'd like a desktop. Astrastep is nice but I'd like to perhaps get a fully integrated desktop." So I went with it. And after asking a few stupid questions on the mailing list, I thought "I could start fixing some of these things - this isn't too bad - I've done a few ports before". And so I started committing, or submitting, patches to Maxim Sobolev who was the FreeBSD project leader at the time and he got tired of committing my patches so he said: "You know, I'm gonna offer you a commit bit". And I jumped at it. It was just something I had wanted for a long time. And I thought it was funny because my real work deals more in networking, I thought it was funny I got into the desktop side of things. But since doing that, I find it very rewarding. I get a chance to do some lower level stuff and I don't plan on giving it up any time soon. Will Backman [2:52] And what do you think makes Gnome a nice fit for the FreeBSD desktop?=20 There's obviously a lot of choices out there. What makes it work well? Some of the questions are around the Gnome desktop is starting to add more administration tools and stuff like that. How well does it integrate with FreeBSD? Is it just a paint job on top of it or does it work pretty well in the internals? Joe Marcus Clarke [3:16] My marketing hat doesn't fit too well but beyond what people know about the Gnome desktop: it works out of the box. It's not as flashy as maybe KDE with all the knobs you can tweak right away. It's got enough there, enough integration there for the common user and it gives the more advanced sophisticated users a way of turning on some extra things once they get familiar with how the desktop works. But on the FreeBSD side, the FreeBSD Gnome team have done a lot to port some of the lower level stuff to make things a little bit nicer like the network applets, the monitoring applets. You can monitor your wireless state. You can monitor your network activity. You can do things more on the hardware level where you're monitoring performance of the system, looking at file system statistics. So we have done a lot of that lower level integration and you've got the greater higher level things like Evolution which is a great groupware suite. I use it for emailing calendaring and it ties into Exchange at work. It's got a great innovative browser with Epiphany. So you've got the simple things for the basic users just wanting to get into the FreeBSD. You've got advanced things for sophisticated, more familiar users. And at the same time, it's a lot more modular than some of the other desktop offerings so that you can tweak whatever you want to install. You don't have to lump on this huge thing and wait forever for packages to install or things to compile. You can say "I don't necessarily need Evolution but I'd like the panel and I'd like the novelist desktop". You can pick and choose that and still come up with very powerful desktop that fits your needs. Will Backman [5:02] What are your feelings around the overall development direction of Gnome. And specifically the question is, is it fairly Linux specific or do you find that Gnome is operating system agnostic? Joe Marcus Clarke [5:16] When I started out I was very nervous, very apprehensive about how they would be receptive to my input on the desktop developer's list.=20 I was very pleased when they said "Oh no, we are not Linux focused.=20 Your input is valuable to us." I felt great, this is awesome. In the beginning it was easy for me to weigh in on module decision and say "you know, this is a cool module but it only worked on Linux". And in the beginning, I got away with that. These days, unfortunately, everyone on the list is talking about distro this, and distro that.=20 And the modules that they're starting to consider don't have FreeBSD, don't have Solaris - they're very Linux specific. And while the Gnome group is very receptive to patches from non-Linux operating systems: Solaris, I've committed a few; the NetBSD project sends a few patches that are great; things like HAL (the hardware abstraction layer), and network manager, the gnome power manager; these things are being considered as modules and they're absolutely at this time and unfortunately Linux specific. My opinion, and I don't have any evidence to back this up, but from the conversations I have on the list is that the majority of the core Gnome developers don't use anything but Linux as their primary gnome development platform. There are a few Solaris contributors and committors, from Sun actually, that do a lot of the documentation. I really get a strong Linux sense and I have on IRC had a chance to speak to some of the KDE developers and the FreeBSD KDE developers and they seem to be a lot more in tune with other platforms specifically FreeBSD. They seem to care if things will work or wherever FreeBSD is going in regards to hardware support, or the desktop can be better integrated. And I like that, I'd like the Gnome project to start embracing that more. But it's been a bit of a battle. Will Backman [7:25] You also were involved in the work on the new DBUS architecture for an application. Would you like to speak a little about that and how you tried to get that to integrate well with the BSDs. Joe Marcus Clarke [7:37] The way I got familiar with that was I wanted to get a port of HAL, the hardware abstraction layer, which was going to be this great thing if and when we get it ported to FreeBSD it will really tie the whole desktop thing into the operating system very nicely. One of the chief dependencies of HAL was DBUS which wasn't used by many components at the time. When I got into porting it, I found that there was one big FreeBSD specific or non Linux specific road block was sockets and credential passing on sockets. Once that got ironed out, the port was generally stable. It worked really well. I was pleased about that.=20 And as DBUS began to evolve, there were other Linux systems that crept into it and one was the ability to monitor for new applications for when they install and if they install a service offering: a DBUS services. The Linux port would automatically pick this up using the Linux i-notify feature and you wouldn't have to restart the system bus. I thought this would be great to add to FreeBSD and fortunately we have this great kernel interface, the Kqueue that would allow us to do a very similar thing. So with Kqueue, I am able to monitor and achieve the same thing as Linux port has where you install an application that installs a DBUS service, automatically that service becomes available. And the great thing is DBUS is becoming more and more popular and allows for event message passing. One of the ways I use DBUS everyday now, beyond the new Gnome screen saver, is Rhythm Box - the Gnome audio mp3/ogg application. It has a DBUS and lib notify tie in the system. When ever the song changes, I get a little pop-up saying "Playing a new song". I know the port works. It works great. And I think this new common message bus is going to be embraced by other desktop development groups so that we have now one way of passing messages between applications. DBUS has definitely got a bright future and fortunately, it also has a bright future on FreeBSD. Will Backman [9:49] And when you say other desktop development groups, are you hinting at other desktop environments such as KDE? Joe Marcus Clarke [9:55] Yes. I'm hinting at KDE. There is a Portland project which has been announced recently. Portland is more for making applications for desktop agnostics. The Free Desktop Project which sponsors HAL, sponsors DBUS, and a few other things, is trying to unify the desktops. Instead of this constant competition and [fight]shedding and wars over whose desktop is better. Unifies some of these underlying things to avoid code duplication and to come up with a best of breeds for doing some common desktop related tasks. Will Backman [10:32] Now DBUS with its message passing, is this eventually going to be the replacement for the CORBA architecture that was part of the original Gnome design? Joe Marcus Clarke [10:41] I think so. It's going to be a replacement. My understanding of the libbonobo infrastructure within Gnome for doing these sorts of dynamic object and message passing between applications, and already its been (at least in its latest release of Gnome 2.14) defused into a lot of different modules. These days, we're just turning it on by default.=20 In the past, it was an optional thing and now applications just will not build these days without DBUS. So we're starting to see this transition. CORBA is still hugely important and I don't see it going away any time soon. ORBIT is the Gnome CORBA object broker. It's still in there, it's not going away that I can see in 2.16, maybe in 3.0, but it's around to stay for a while. Will Backman [11:37] How well were you able to keep up with the Gnome release schedule? Joe Marcus Clarke [11:41] We have a two tier model. This current stable release we maintain in the ports tree, and we monitor in the FreeBSD CVS - you can look at it on Freshports - that maintains the current stable release which is current Gnome stable release right now is 2.14. The previous was 2.12 but due to a release freeze, because we're getting ready to put 5.5 and 6.1 out, the ports tree still watches 2.12. But what we do is I host my own CVS tree at marcuscom.com and that is where we focus our development. So as soon as 2.15 comes out in preparation for 2.16, we'll move the 2.14 stuff out of my tree into the ports tree and we'll move 2.15 in. We've got a large base of FreeBSD users who are willing to test this, at times very unstable code, and help make the next release not only a good Gnome release but also a good FreeBSD Gnome release. And one of the other advantages of that is that we're right there with them. Sometimes within hours of their announcement, I can announce that we have 2.14.1 and we're very close at this point, or 2.15 dot whatever. So we try to keep that parallel development so that we can give them (the Gnome project) bug feedback that our users keep up with what's going on. So that when we come out with a release, we've got screen shots to show with our users, new known issues, new documentation things. And our users really appreciate that because when we throw in this new release into the tree, it's not like just cobbled this together at the last minute - we've done a lot of testing, not just ourselves, but users using this in production as their desktop. So that the known issues we can cut down, we can cut down a lot of the "whoops... uh... missed that", have to update this port, or whatever. And our users appreciate that. Will Backman [13:41] You know I don't know whether it's just my limited view of things, but it appears to me as though a lot of the desktop BSD initiates that are going on (sub projects or forks), keen to push the KDE desktop. I don' t know why that is and what it might take to make Gnome more popular. That may be a completely false view on my part. Joe Marcus Clarke [14:05] It's true. I see the same thing. I see a lot of FreeBSD developers seem to embrace KDE over Gnome. We do have some pretty influential, I say influential I mean developers who do a lot of work not just fly by commits of the kernel and Eric Anholt love it and people who are very active in the project are using Gnome or test Gnome for us and help us test it. But I don't really why things as DesktopBSD are embracing KDE more. I think maybe some of the appearances, I think people tend to like that better. Gnome's appearance has generally been flat for over the last two releases. I think we're going to see a big change in 2.16 that may attract more people. So I think the attractiveness.=20 I think some people like the different tools that KDE offers but I think we're seeing some vast improvements on the Gnome side with relation to some of the tools like Gedit is going to become a more (or has become a more) powerful editor. But maybe KDE was there first and by there I mean, to a state where people could use it and felt comfortable with it - just like I became comfortable and a user of Gnome first. Now I do not see myself change as that's what I've gotten into. I'm very receptive, and our team is very receptive, to anyone who is listening "I've loved to do this and that with Gnome".=20 If anyone from those other four projects wanted to approach as and help develop something can and out of the box, I've got some great ideas. And one thing about our group is we seem to pioneer a lot of these newer technologies so we put out DBUS, we maintain a lot of the lower level [actual?] related stuff, the Freetype, we do Mozilla, we do Firefox. And the GTK toolkit which Gnome is based on is more pervasive. So I would think more people would like to stick with Gnome but KDE seems t attract them and I don't have, unfortunately, all the answers as to why. Will Backman [16:20] This is a question that might be perhaps outside of what you're working on, but I think I'll throw it your way anyway. There's been a lot of buzz recently around this 3D OpenGL desktop compositing window manager stuff in the Linux world. And one question I had was that a lot of it depends on commercial drivers for video cards. And I don't know whether you've seen some of this come down the pipeline in Gnome, and what the situation is around 3D accelerated X and the FreeBSD world. Joe Marcus Clarke [16:56] There are a lot of FreeBSD people, a lot of our users who are into 3D gaming. For me and my computer, I generally use it more for development and using the Internet. I don't do a lot of gaming. The only 3D I really have on there is my screen saver. With the acceleration, right now I have multiple computers; some running the commercial nVidia drivers which seem to do the acceleration very well. My laptop has ATI and I'm waiting to get some patches so that I can use the acceleration there. And because of these different drivers, I haven't really sat down and looked at some of this new rendering and compositing stuff. I know that the Metacity window manager in Gnome is capable of doing some of this, but I haven't had a chance myself to play with it. Some of the users are reporting mixed results, some success, some doesn't work at all for them and I think it boils down to what drivers they're using. But myself and the team, I don't hear us talking much about 3D remotely. Just working on the various porting the the various desktop and related modules. But if it becomes big then yeah, we're going to have to immerse ourselves into it. Will Backman [18:15] So do you have the luxury of working with FreeBSD as your desktop during your workday or is there something [you wanna say?]? Joe Marcus Clarke [] A little bit of both. I've got at work, four computers I use more or less simultaneously for different tasks. I've got a Solaris workstation, next to is the Mac OS X, next to that is my FreeBSD laptop, and next to that is my FreeBSD desktop on which I do Gnome development. So the desktop machine runs whatever the latest bleeding edge release of Gnome is, developer debugging compiled in so that I can get good core dumps and everything. Work is fairly flexible in that they let me do things with Gnome as long as it doesn't interfere with FreeBSD, as long as it doesn't interfere with my real work. So I have time to do patches or look at critical things at work if need be. Will Backman [19:10] So with all those systems in front of you, which one do you see yourself gravitating to? Joe Marcus Clarke [19:15] I use my FreeBSD laptop a lot. I love the Evolution groupware suite.=20 I switched off of Pine to that and haven't looked back. I could never have found a graphical I liked and Evolution did it for me for whatever reasons. I like the way it does threading. I like the way I can do filtering and marking messages. I love the way the calendar works and the fact it integrates with Exchange makes working with the Exchange server we have at work great. The LDAP integration is excellent. I love the Epiphany web browser, its smart bookmarks and the way I can just put in all my work related search fields there makes things so much easier. The web-based applications I need to use at work works very well with Firefox or Epiphany. Sometimes I have to go to pure Mozilla. I can do just about everything I need to do on that FreeBSD laptop. I've got Abiword, OpenOffice, Gnumeric to view my documents. It's great. It doesn't crash and it stays up. Gnome fits my needs perfectly. Will Backman [20:28] And when you're porting Gnome, are you primarily porting it to the i386 platform, or does it seem to have equal among the 64 bit stuff and I know there's unofficial support within FreeBSD for some other architectures. I didn't know how well those are supported. Joe Marcus Clarke [20:45] I do have an AMD64 server at my house that I do Gnome builds on. I have a port Tinderbox project that I also maintain. I do builds of Gnome for AMD64. I don't unfortunately have the resources to test AMD64 as a desktop platform. So my work and I think all but maybe one of the FreeBSD Gnome team is we primarily focus on i386. Gnome has got a lot better in terms of 64 bit support. We're still finding a few things here and there and we usually leave it up to the users who report the problem. We try to get a back trace out of GDB from them or look at compiler warnings to see if pointers are being passed as integers, see if we can track down the problem. We've had some good success with that. So I think Gnome on FreeBSD is fairly stable on both i386 and AMD64. The IA64 and Sparc64 ports are a different story. I don't know of anyone running it as a desktop on IA64. The team member who did Sparc64 testing for us has been AWOL for a while but last I heard it was working ok on that platform. Will Backman [22:09] Were there any thing else you wanted to talk about related to Gnome or other projects you're working on? Joe Marcus Clarke [22:15] Well I open partition any listener if they're willing to help out with the project, we have numerous ways people can volunteer. Our documentation can sometimes be a bit lacking so if there's people out there with a creative bug or good at technical documentation, that's always helpful. And as I mentioned before, getting the HAL (the hardware abstraction layer) project successfully working on FreeBSD would be a great win. It's not a silver bullet, it's not going to make us perfect by any means, but it'll go a long way to bringing in some much needed.. that cool desktop features of FreeBSD. And just yesterday, fortunately, one of our team members, Jean Eve, he said that he was now working on it. So I've got some code that I've written, looks like he's writing some code. And if anyone out there wants to learn more about FreeBSD internals is good, or wants to get good with C programming, to help with that port would be great. Will Backman [23:18] And I guess one final question: favourite text editor? Joe Marcus Clarke [23:21] My favourite text editor right now is vim. I use Gedit because Gedit integrates nicely with the archive manager Fileroller. I tend to use it a lot from time to time. But doing all my developments, I do vim, or gvim. Will Backman [23:38] Thank you very much for speaking with me today and good luck with the upcoming releases and let's hope we get some people helping out with HAL. On 4/20/06, Jeremy Messenger wrote: > On Wed, 19 Apr 2006 06:30:23 -0500, Michael Tran wrote= : > > > I've got about half of it transcribed tonight. Hopefully will have it > > done within a few days. Will probably need somebody else to go > > through it to iron out all the things I missed or weren't familiar > > with. > > Awsome, thanks! > > > Hope you can wait a bit more :) > > I can wait much longer than you can think. ;-) A best example that I can > think of is movie, I have to wait for over 4 to 6 months for DVD to come > out with subtitle/closed caption. Although, sometimes I have downloaded > some movies (that have subtitle included) to have early but I don't alway= s > do that unless it's a must movie to watch. > > Cheers, > Mezz > > > Michael > > > > On 4/15/06, Jeremy Messenger wrote: > >> Hello folks, > >> > >> The subject has said it all at most. The reason why I am posting it in > >> here is that I am kind of request for anyone that willing to write it = in > >> text for me or/and other deaf people. If you do, I will love you. ;-) > >> Thanks. > >> > >> URL: http://tinyurl.com/grwxh (Interview with FreeBSD Developer Joe > >> Marcus > >> Clarke) > >> > >> Cheers, > >> Mezz > > > -- > mezz7@cox.net - mezz@FreeBSD.org > FreeBSD GNOME Team > http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org >