Xfce

Subdomains
 

Licensing Suckage

  • December 11, 2008
  • Brian Tarricone

I just got an email from a developer who works on the nifty cairo-dock application, pointing me to a thread about licensing issues.

A bunch of months ago, he’d emailed me asking about how to best use code from my Xfce Mailwatch Plugin in cairo-dock to add mail-checking capabilities. At the time, I was pretty stoked that someone else had actually found my code useful enough to incorporate into their program, and offered my encouragement.

Sadly, though, licensing ugliness has reared its… well… ugly… head.

When licensing code under the terms of the GNU GPL or LGPL, the FSF suggests (and most people follow) that you license under “or (at your option) any later version” terms, which means that, while you initially license the code under the version of the GPL or LGPL of your choice, someone can later take your code and relicense it under the terms of a later version of the same license. This also makes the code automatically compatible with future versions of the license.

You might think this sounds pretty good for convenience and licensing compatibility, and you’d probably be right.

However, this isn’t so great from a philosophical perspective, at least from my philosophical perspective. The problem I have is this:

Licensing a work under “GPL version 2 or later” terms means that I am implicitly agreeing with any new restrictions that the FSF dreams up (or any existing restrictions the FSF wants to drop), forever. I’d basically be saying that I agree with something that doesn’t exist yet, and could take any shape or form imaginable.

Don’t get me wrong: in general, I think the FSF is good people, and I agree with their message for the most part.

But I don’t know them, personally, and I don’t agree with them 100%. And I don’t know who’s going to be running the FSF next year, or in five years, or in 20 years. So how can I know, or even have reasonable belief, that their philosophies and values will align with mine such that I’ll agree with future versions of their licenses? There are already parts of version 3 of the GPL and LGPL that I don’t completely understand or agree with, so why should I expect that versions 4, 5, or 10 will be completely to my liking?

The short answer is: I can’t.

And so, for the most part, I release my software under “GPL version 2 only” terms. (Because I’m a bit lazy and don’t want to make a big stink, I’ll release code under “or any later version” terms if I’m contributing to an existing code base that uses those terms.)

it really pained me to have to answer that email saying that my code’s licensing (GPLv2-only) wasn’t compatible with theirs (GPLv3-or-later), but it’s the truth, and there’s not much I can (or want to) do about it.

The only solution I can think of (I’m not a lawyer, of course) that allows them to use my code is that they relicense their code under GPLv2-or-later terms. Of course, then they lose any restrictions that the GPLv3 has over the GPLv2, which I assume they’d prefer to have, since that’s how they’ve licensed their code.

(Before anyone says it, another possible solution would be for me to relicense under LGPLv2.1. The problem with that is one I’ve discussed before: section 3 of the LGPLv2.1 explicitly allows a recipient of the code to relicense the code under regular GPLv#-or-later terms, regardless of the only/or-later status of the original LGPL licensing. This of course completely defeats the intent of my rationale above.)

And so, the OSS licensing mess has caused yet more pain to people who just want to share code and avoid duplicating effort. I love the GPL. I really do. But I also hate it.

Limitations of the PulseAudio backend for GStreamer

  • December 10, 2008
  • Jannis Pohlmann

I’m at the Ubuntu Developer Summit this week and Emmet Hikory just approached me with a question about the PulseAudio support in xfce4-mixer. The problem he has is that when he wants to plug in in a bluetooth headset PulseAudio might act weird and there’s only one way to fix this from the user’s point of view, which is to use pavucontrol or one of the other PulseAudio tools. Unfortunately those tools don’t provide a good user experience. Controls are given technical names and too much of the internal technical stuff is being exposed to the user.
So, his idea is that there has to be a user-friendly way (like using xfce4-mixer) to e.g. control the bluetooth headset after it has been plugged in.
I just took a quick look at the PulseAudio code shipped with gst-plugins-good and to me it seems to be in a pretty bad shape. Unless I’m mistaken it only exposes one track through the GstMixer interface: Master. So if you have several devices capable of audio playback/recording, like a normal sound card and a bluetooth headset, you have no control over which of them is being muted, used for recording or whatever.
What I would expect is to either have a list of tracks (one for each sink – and please give them user-friendly names!) exposed through the GstMixer interface or to have a switch for choosing the sink you want to control with the Master track. Without this, no mixer application is able to provide a user-friendly way to control PulseAudio – unless it implements its own PulseAudio support.
One major reason for rewriting xfce4-mixer based on GStreamer has always been to get rid of the need to maintain our own audio system backends. The old mixer had its own backends for ALSA, OSS and BSD and it really sucked.

So I’m hoping that maybe someone steps up to implement a proper PulseAudio backend for GStreamer, with tracks for all available audio sinks and streams. I think I’d prefer tracks over a simple switch because they allow for a more fine-grained configuration of your devices. Thanks Emmet for pointing that out.

December plans and recent Xfce developments

  • November 25, 2008
  • Jannis Pohlmann

I’m currently planning the last few things for my trip to the UDS Jaunty, taking place in Mountain View, California from December 8th to 12th. It looks like Brian will pick me up at San Francisco International on the day of my arrival. We’ll probably have something to eat before he drops me off at the hotel. What could possibly be more awesome than that? I’m very excited to say at least. I’ve also received my hotel reservation already and it looks like I’ll have a twin room on my own for half of my stay.

Ok, back to some Xfce related topics. Last week I submitted our FOSDEM devroom request. We’ll be notified before 2008-11-30 whether we the request is accepted or not. Five days left until we’ll know more – keep your fingers crossed if you haven’t already!

Nick and I have recently started to fix bugs in Thunar. So far we’ve managed to fix and close about a dozen bugs I think. We’re forced to do this due to Benny’s absence but I have to say it’s actually quite a lot of fun to fix bugs in other people’s code! In the end we’ll both have better understanding of how Thunar works. This will soon give us the possibility to push things forward. Not only am I planning to replace thunar-vfs with GIO/GVfs after 1.0 is released along with Xfce 4.6; there are more things that need to be done: adding support for xfconf might be worth considering as Thunar is now one of the last components that still stores its configuration using XfceRc. Also, we could think about using libxfce4menu for detecting installed applications which was actually one of the most important use cases of it that we had in mind before I started writing that library. And of course the list of possible features and cleanups doesn’t end here …

I also have some bad news. It looks like we’re having a bit of a problem with our 4.6 release schedule again. Due to the delay of the second beta, we were forced to delay the third beta as well. Maybe we can sort of fix that by leaving out the third release candidate but we still have to discuss how to handle this.

December plans and recent Xfce developments

  • November 25, 2008
  • Jannis Pohlmann

I’m currently planning the last few things for my trip to the UDS Jaunty, taking place in Mountain View, California from December 8th to 12th. It looks like Brian will pick me up at San Francisco International on the day of my arrival. We’ll probably have something to eat before he drops me off at the hotel. What could possibly be more awesome than that? I’m very excited to say at least. I’ve also received my hotel reservation already and it looks like I’ll have a twin room on my own for half of my stay.

Ok, back to some Xfce related topics. Last week I submitted our FOSDEM devroom request. We’ll be notified before 2008-11-30 whether we the request is accepted or not. Five days left until we’ll know more - keep your fingers crossed if you haven’t already!

Nick and I have recently started to fix bugs in Thunar. So far we’ve managed to fix and close about a dozen bugs I think. We’re forced to do this due to Benny’s absence but I have to say it’s actually quite a lot of fun to fix bugs in other people’s code! In the end we’ll both have better understanding of how Thunar works. This will soon give us the possibility to push things forward. Not only am I planning to replace thunar-vfs with GIO/GVfs after 1.0 is released along with Xfce 4.6; there are more things that need to be done: adding support for xfconf might be worth considering as Thunar is now one of the last components that still stores its configuration using XfceRc. Also, we could think about using libxfce4menu for detecting installed applications which was actually one of the most important use cases of it that we had in mind before I started writing that library. And of course the list of possible features and cleanups doesn’t end here …

I also have some bad news. It looks like we’re having a bit of a problem with our 4.6 release schedule again. Due to the delay of the second beta, we were forced to delay the third beta as well. Maybe we can sort of fix that by leaving out the third release candidate but we still have to discuss how to handle this.

Prospective work on Xfce

  • November 13, 2008
  • Mike Massonnet
As Xfce 4.6 is coming it might be good to throw updates for the panel plugins I maintain at the same time.

The panel plugins I maintain are:
  • The notes plugin
  • The FS guard plugin
  • The clipman plugin (this one is prolly the most wanted)

For the notes plugin I got already most features I was thinking of in, except formatting (which I doubt that I will work on), so the release going on here will be minor.

For the FS guard plugin I was asked to reverse the progress bar so that it shows the capacity remaining and not the free space... well something like that :-) Now I'm confused and don't remember what it really displays.

The clipman plugin needs a rewrite. To my taste it features too many options, and I will split most none-obvious options to an "Advanced..." tab. The first release will most probably be the rewrite, than will follow another release for a long asked feature that is action on pattern matching — open a web page automatically, display a menu, and so forth.

Other than plugins I maintain applications.

The applications I maintain are:
  • Xfmpc
  • Eatmonkey

Sadly for Xfmpc — a client for MPD — I no longer run MPD to listen to my music, so this hacking is freezed at the moment. My current favorite player is Audacious.

Eatmonkey is a small application where I learn to use new frameworks. There won't be an official release before very long.


Hopefully I will get the clipman plugin out before end of December!

Second beta, German translations, FOSDEM

  • November 7, 2008
  • Jannis Pohlmann

Just in case some of you are wondering already – yes, we’re late with releasing the second beta of Xfce 4.6 by a few days. It’ll probably be released this weekend, so we won’t fall behind the schedule too much.

On Wednesday we had a very productive IRC meeting with the most active German translators being present. Plans we made on that evening include to clean up the team’s wiki page so that it only contains rules and hints that are directly useful for everyone. We also decided that we need a better communication channel than private mails or the Xfce i18n mailinglist, so we’re probably going to have a mailinglist focused on German translations. Other teams might have the same need, so we’d like to do it public and encourage other teams to do the same, maybe officially hosted on foo-projects.org.
Another idea was to take a look at some of the distributions shipping Xfce. Do they have a translation system on their own? Are there potential translators among the users/developers of these distributions? How can we motivate more people to take part in the translation process so that everyone is happy with the result?
We’ve decided to have another German team meeting next Wednesday at 21:00 CET (20:00 UTC). Feel free to join if you’re interested and your German is good.

Today, we had a little discussion about the upcoming FOSDEM in February 2009. Several of us have expressed an interest to go there. With 4.6 out of the door and 4.8 ahead February is a pretty interesting date for Xfce as a project. I’m sure we could come up with several nice presentations and discussions about the future if we were to apply for a developer room. Xfce has been part of FOSDEM in 2005 already but since then a lot of things have changed and many new developers have joined the project, so it would be a great opportunity to finally meet everybody and have a few pints together.
We haven’t decided on whether Xfce is going to apply yet as we’re planning to get the second beta released before. Deadline for developer room applications is 11/22, so we still have some time. Even better, the deadline for the schedule itself is three weeks before the actual event. Enough time to prepare some decent speeches.

I’m pretty excited about all this. There’s a quite a lot of movement in the Xfce community at the moment (and also, related to this movement, a lot of exciting things are happening for me, with UDS and all that). I feel that things are improving constantly in terms of development as well as organization and communication. Now all we need is a proper goal – and FOSDEM might be exactly what we need to discuss things like that.

2AM, time for bed. Have a nice day (or night).

Xfce Commit Messages on IRC

  • October 30, 2008
  • Brian Tarricone

This is a little dumb, but kinda fun. A week or 2 ago I set up a CIA bot in #xfce-commits on Freenode. If you have nothing better to do with your life than watch Xfce commit messages scroll by, feel free to join and idle with the rest of us losers.

Xfce Commit Messages on IRC

  • October 30, 2008
  • Brian Tarricone

This is a little dumb, but kinda fun. A week or 2 ago I set up a CIA bot in #xfce-commits on Freenode. If you have nothing better to do with your life than watch Xfce commit messages scroll by, feel free to join and idle with the rest of us losers.

Xfce Commit Messages on IRC

  • October 15, 2008
  • Brian Tarricone
This is a little dumb, but kinda fun. A week or 2 ago I set up a CIA bot in #xfce-commits on Freenode. If you have nothing better to do with your life than watch Xfce commit messages scroll by, feel free to join and idle with the rest of us losers.

Xfce 4.6beta1 Released

  • October 15, 2008
  • Brian Tarricone

Hey all… we just released the 1st beta leading up to 4.6. Go check it out. Full list of changes here.