Sometimes the bleeding edge cuts

One thing I like with being a Fedora user is that it usually gets me a bleeding edge stuff, but at the same time it tends to be well maintained and tested enough to not break my system. Since a lot of the most important and cool new developments in the Linux world is done by Red Hat engineers they of course are able to bring out quite stable and working versions of the new stuff in Fedora first.

Of course once in a while there are some painful hickups. Gedit had been crashing for me since the upgrade to FC15, so I decided to run a yum upgrade this weekend. It grabbed an updated gedit along with some other stuff. Gedit now seems more stable, but unfortunately a lot of other stuff stopped working. Most critically it seems NetworkManager is down and out, so I had to fall back to the trusty old ‘ifup’ command to get online. Also it seems docking station support got an accidental axe in the back, because if I connect my laptop to the docking station, both screens just go black now.

Seems I am not the only one as I found 708445 in the Red Hat bugzilla for the network manager issue and 708530 for the docking station issue.

Hopefully things will get sorted soon, Red Hat tends to be quite good and getting fixes out fast in these situations, but I guess I once again learned the hard lesson about living on the bleeding edge :)

GNOME 3 and Fedora 15

Updated my own and my wifes computers yesterday to latest Fedora version, which included an upgrade to GNOME 3. Have to say I am quite impressed with it so far, I mean it is definitely a .0 release with a lot of little issues (like not remembering how to deal with my dual screen setup at work). But apart from that it feels pretty sweet, especially like the messaging integration into the desktop. It still got quite a few issues though, but here at Collabora we now have Jonny Lamb and Guillame Desmottes helping out with trying to polish it up.

The biggest change I found that was that of the attitude of my wife, she went from “linux sucks, why do I have to use this stuff” to “this is actually quite cool”.

So a big congrats to the GNOME 3 team for a wonderful release! I am looking forward to seeing how it develops in the coming Months.

I am generally impressed by all the nice work being done across a lot of projects these days, helping to make sure we have a really powerful and nicely integrated platform. It wasn’t that long ago the linux desktop (and server for that matter) felt like a taped together collection of stuff, but for each new release it seems the ease of use and polish increase, with good integration happening between all major layers. Efforts to drain the swamp, like systemd, does make a huge difference over time and draws us ever closer to the goal set when GNOME 2 was being created, remove the need to have configure options in the user interface to make the system ‘work’. If you need to enter a configuration menu to have basic functionality work, then that is a bug, not a feature.

I think there has been a general change in philosophy happening over the last 5-6 years, where we moved from everyone trying to fix the world in their own corner, to people instead trying to work together. For instance in GStreamer we have moved from trying to fix the problem by supporting every sound system under the sun, and instead try to work closely with the best solution out there to actually solve the problems people have, which is why people like GStreamer maintainer Wim Taymans have also been contributing to Pulse Audio over the last year. Enabling people to switch backends between ALSA, OSS, Sun Audio or Pulse Audio isn’t a solution, is it exposing a bug. So while the plugins supporting all those systems are still there of course, as they are useful for people in various situations, I think our thinking now is that when we find an issue that is best solved in Pulse Audio, as opposed to GStreamer, we solve it in Pulse Audio, instead of trying to make a second rate solution in GStreamer itself. And if there is a feature missing in Pulse Audio the solution is not to add an option in the user interface to ALSA, it is to add the feature to Pulse Audio. There are of course still cases where we need to support multiple plugins offering the same functionality of course, codecs being the best example, but if we want to make the open source ecosystem better we need to all focus on making things work well without needing the user to reconfigure which libraries and backends they use for a given task.

Seeing all this other great efforts move forward to plug the remaining holes I am also happy to say that by the end of the year we should have GStreamer 1.0 out the door, Wim Taymans is putting the foundations together as we speak. It should provide a lot of great improvements to GStreamer, like good solutions for handling 3D video for instance, but also provide a lot of speed improvements which will be especially useful for embedded setups (allthough I haven’t met a desktop user so far who hates getting faster software either.)

How to mix code with different licenses

Got a question on IRC today about the licensing of a specific file in GStreamer CVS, as it was under a MIT license instead of the LGPL license. While we strive to keep our licensing simple by making all new code LGPL or in some specific cases dual licensed, there are a few cases where we got code which is under the MIT or BSD license. This create a situation where we have some files in a directory under the LGPL while others are MIT for example. While I think he have kept things on an even keel within GStreamer, I have noticed that there is a lot of confusion in the open source community in general, about how you deal with MIT and BSD code in a GPL/LGPL context. In some extreme cases I have even seen people just cut’n pasting the MIT code into their GPL project believing that the MIT ‘do what you want license’ includes the right to relicense the code. It does not.

Anyway, to clear up the details for myself I contacted Luis Villa to get some help understanding some of the possible corner cases. Luis then pointed me at this great resource from the Software Freedom Law Center for understanding how MIT and GPL code can co-exist in your codebase. I absolutely recommend reading over this to better understand the implications.

cdparanoia now LGPL v2

Some time ago I blogged about cdparanoia switching from GPLv2 to LGPLv3 on our request. After that time we have been discussing in the GStreamer community about licensing and what is the exact and implicit licensing promise we are and have been making with GStreamer. The conclusion was that since the LGPLv3 is more restrictive than the LGPLv2 we do not want LGPLv3 dependencies in gst-plugins-good and gst-plugins-base. As mentioned before we always tried to be very serious and coherent with our licensing in GStreamer and suddenly reducing the rights we offer application and plugin developers is not something we feel should be done without very good reason. This is a policy I hope also other important libraries decide to follow, personally I would think it would be a very sad thing if Glib and Gtk+ for instance started taking away rights from their users without a very well reasoned explanation.

Luckily Monty is a very kind soul, and starting from yesterday there is a new version of cdparanoia III out, 10.1, which is dual-licensed under the LGPLv2 and the GPLv2. So even in the future there will be cdripping support offered in GStreamer gst-plugins-base package.
So go to the cdparanoia download page and get yourself this minty fresh version of cdparanoia. We recommend distributions to update to this version as soon as possible to ensure there are no licensing conflicts in their distribution.

Twins

I was watching The Daily Show yesterday and Seth Rogen was on as the guest. For those who doesn’t know him, he is a comedian who has starred in movies such as Superbad, Knocked up, Pineapple Express and the upcoming Kevin Smith movie ‘Zack and Miri Make a Porno’. Anyway when listening to him it struck me that I had heard that exact voice and accent somewhere else recently. Then it struck me, vocally Seth Rogen and our own Luis Villa are identical twins. So if you are doing a podcast and Luis is not available for an interview take comfort in knowing you can hire Seth Rogen to do the interview instead and nobody will know the difference.

Making better packages with Mach

I was convinced by Zeeshan to help out with making official Fedora RPMS of the gupnp libraries and tools. After looking at the Fedora packaging guidelines I concluded that the only sane way of doing it without to much pain and work was to use Mach which is an tool Thomas Vander Stichele created to allow you to easily set up clean buildroots for any RPM based system. Not having used Mach in a long while I was reminded when setting it up how nicely done it is and what a powerful tool it can be. I has already helped me find quite a few bugs in the spec files I had created for upnp and friends and I am sure that when I submit these spec files to Fedora, the process of getting them approved will be much more straightforward and painless than if I had just made them by fumbling around in my normal install. So I strongly recommend to anyone who needs to build RPMS to check out Mach and afterward say thanks to Thomas for creating it. Thanks Thomas!

Filling the world with Empathy goodness

After a lot of testing and working with the Fedora packagers I am now happy to say that the current version of Empathy in Fedora is ready for wider use. Just be sure to install the telepathy-haze-mission-control and telepathy-haze packages in addition to Empathy to get access to all the major chat protocols. With these packages I have been able to retire Pidgin from use on my system and take the bold step into the future of instant messaging. The VoIP and video conferencing also works, although due to needing a newer version of gstreamer speex support than currently shipping (will be in the next release of ‘gst-plugins-good’) you might get ‘Darth Vader’ voice when speaking.

There is still a little polish and love that Empathy needs, like supporting file transfer with the various protocols, but I think that for many Fedora users it should already support enough features to be ready for primetime. And you get to taste the new world of easy to use VoIP over Jabber/Google Talk :) So do a quick ‘yum install empathy elepathy-haze-mission-control telepathy-haze’ and you are set to go!

Fedora 9 looking good

I upgraded my laptop to the latest Fedora Core 9 test release last night due to having some issues with a broken keyring database. And I have to say it is a very nice experience so far. The major thing I think a lot more people than me has been waiting for is having the GNOME keyring database connected to your gdm login. So now more first login in then providing they keyring manager your password before it logs you onto the wireless or email servers.

Another small bug now fixed is that when you boot with for instance a SD card in the machine it pops up on the desktop right away. in FC8 I had to take it out and put it in again once the desktop was running to get it automounted.

The system monitor is also become very nice, while this is a GNOME improvement more than something Fedora specific it is still something I appreciated when I took at look at it. There are also some improved icons, especially the new SD card icon looks really sweet.

Various bits of polish added to NetworkManager also like a Connection Information item. The power manager has also improved, and it now asked me if I wanted to change my lid down action when connected with mains power to avoid system risking overheating.

Firefox 3 is of course another nice improvement of this release. And it seems Fedora integrated the OpenOffice GStreamer patches created by Novell as I was able to put an Ogg video into a presentation and have it work now.

I also liked the fact that when I had to type in my SSH password in a terminal window the gnome-keyring popped up a dialogue asking if I wanted it to remember this password, very sweet indeed.

Only thing I am not to fond of is the new GDM log in, it feels slow and cumbersome as I first have to pick my name from the list before it ‘slowly’ brings up the password field.

Monday is final SOC proposal deadline

Ok, so this is my final blog for this year suggesting that people sign up to do a Google Summer of Code projectwith GStreamer. Even with Google extending the deadline on Monday it the gates are closing. We got some good projects proposed for both GStreamer and Dirac (and there are some really nifty GNOME ones also), but more is always welcome.On Tuesday myself and the other SoC administrators for the various projects will start voting over the various Summer of Code proposals we have received, and hopefully yours will be among those getting the most votes.

So for the final time check out our page of instructions for how to create a GStreamer SoC proposal and if you don’t already know what you want to do as a project you can check out some of the ideas GStreamer developers have proposed.

When reason goes out the window

Been reading some of the comments to the recent GNOME Foundation press release about OOXML involvement. Reading things like the comments on osnews and linux.com leaves me in a state of disbelief.

When you have people like Michael Meeks and Jody Goldberg, who have been working on free software office software for a longer time than most others in the community has even been using free software, it is sad to see people trying to claim they know more about the respective qualities of the ODF and OOXML standards than they do. The claims of being corporate shills sounds even more hollow considering these people have been working on free software office software for much longer than they have been paid to do so. Having known especially Michael for many years and had many a beer with him I it saddens me when people in the community doubt his word. Michael care about free software, but whats maybe more important in this context is that he cares about technical excellence.
And thus he is not willing to claim that the ODF spreadsheet specification is better than the OOXML one when he, based on his eight years worth of hacking experience doing spreadheet software in the context of Gnumeric and OpenOffice, knows it not to be the case.

The question worth asking here is if the community has come to a point where we no longer care about quality and technical perfection in what we do, instead we are going to join the proprietary software vendors in a game of FUD and mud slinging. When I started out with free software it felt as the ethos of the community was that we are not a community of people blinded by pride or arrogance instead we happily adopt and evolve the best of what is out there. If that means adapting to standards and formats originally developed by Microsoft then so be it.

Michael has been tirelessly been promoting OpenOffice for quite a few years now, even working on it and promoting it at a time when most GNOME developers felt it was a bloated and unmaintainable piece of software and most the code comments where in German. Through his and his team’s effort OpenOffice has gone from being something screaming Windows 3.11 when looking at it to something that actually looks like it belongs on my GNOME desktop. And there is no longer a half hour wait for it to start up.

I use OpenOffice.org every day doing my job today. Back in the day when I was at Oracle I couldn’t do that. Not because Oracle refused me to do so, but simply because most of Oracle’s documents where in MS Office format and at that time the OpenOffice filters where not good enough to do the job, so I had to dual boot into Windows in order to write reports for customers, fill in expense reports and so on.

Even in my current job, doing linux consultancy work around free software technologies like GStreamer, Telepathy and Webkit I would not be able to use OpenOffice if it wasn’t for the excellent MS Office compatibility. The vast majority of documents and proposals I receive from our customers are in those formats. I haven’t gotten any OOXML documents yet, but it is only a matter of time and when it start to happen I would gradually be forced back to my old dual booting ways unless OpenOffice supports OOXML in a good way.

So Jody if you are reading this, please don’t listen to the detractors and instead keep up doing such great work. I for one would be sad if I have to install windows on my laptop again because you stopped pushing OOXML in the right direction.