Wiki-like editing of tables/spreadsheets to share QA meta-information about packages ?

I’ve been working on archive rebuilds lately (rebuilding all etch packages inside etch). It generates a lot of data to analyze (failed build logs), and the work could easily be split between several developers.

For each package which fails to build, I add a line in a Gnumeric spreadsheet with the package name, the version I tried to build, the output of a script which tries to guess the reason for the failure using regexps, and the “resolution” (was a bug filed ? a new package not yet in testing ?) (example here)

Instead of doing this locally in Gnumeric, I’d like to do that online, using wiki-like editing, so other people could investigate different failures concurrently.

My ideal piece of software would:

  • be efficient to use (something AJAX based would be great)
  • allow for line-based locking, so people can just lock the line they are working on
  • allow for CSV-export/import, so I could fetch the whole data, add new failures using a script, and import it back

Does this exist ? :-)

Debian, Ubuntu, Mozilla® Firefox®, wearing hats, and Epiphany

With my Ubuntu hat, I strongly regret that no Ubuntu developer (to my knowledge) stepped forward to point out the inaccuracies in Chris Beard’s (Mozilla Vice President of Products) Q&A on Mozilla Firefox in Ubuntu. Letting people bash Debian when Ubuntu gets so much stuff from Debian isn’t nice at all.

With my Debian hat, I really like how Mike Hommey chose to discuss facts, with references, in his reply to Chris Beard’s post. When it is possible, going back to the facts is really the best thing to do to avoid the usual FUD. It’s not really a surprise that this intelligent behaviour came from the Debian side.

I have been a very happy user of Epiphany since I made the switch from Firefox 3 months ago. I would recommend it to anyone still using Firefox who is tired of its slow startup times, and its lack of integration in the Gnome desktop.

Mozilla, Debian and Iceweasel: the Mozillian point of view

During the Journées du Logiciel Libre 2006 (an excellent event, thanks to the organizers), I had long chats with people from Mozilla Europe (in a more constructive way than what others did). This is mostly second-hand information, since the well-informed guys from Mozilla Europe I talked with got their info from other Mozilla developers, so it might be slightly inaccurate, but still help to understand the issue. More details welcomed in comments.

The Mozilla Foundation goal is to prevent the web from becoming a proprietary web, by ensuring that Firefox, their product, has a big-enough market-share. I find it a bit disturbing to hear free software people speak about product and market-share, but well, OK. Of course, it’s quite difficult to achieve >20% market-share only with GNU/Linux users. :-)

They put a very high emphasis on the User experience. They want Firefox to look exactly the same on all platforms, even if some features (automatic plugin installation, automatic upgrades) do not fit well on a GNU/Linux system (such features don’t work with the Debian build).

They want to enforce their trademark to prevent attempts to ruin their reputation to succeed. After a question asked by Dave Neary (GNOME) to Tristan Nitot (president of Mozilla Europe), Tristan gave the example of this hacker who said he found critical security bugs in Firefox before admitting it was a joke. He also gave the example of Microsoft indirectly founding SCO. Dave Neary remarked that some people could probably be trusted (like distro maintainers). But, if I remember correctly, Tristan said that it was difficult to allow some people to use the trademark without allowing everybody to do so. Also, allowing Debian to use the trademark without allowing derivatives to do so is not possible (DFSG#8).

Iceweasel is considered a good thing inside Mozilla Europe (“It’s what we have asked them to do for a long time!“). However, some people are bitter about the fact that Debian seems to have chosen to use a gnu.org-hosted fork instead of just renaming the package to iceweasel.

During Tristan Nitot’s conference, I asked a question about length of security support (only 18 months for the 1.0 branch). The answer was that distros were supposed to upgrade to newer Firefox releases even on their stable releases (!) or to come and help with security support for stable releases. Also, the fact that Debian chooses to package Firefox following the FHS is considered a source of problems. Somebody claimed that Debian was the only distribution to package Firefox this way (seems strange, but I did not checked this claim). I’m not sure how this fits with other Mozilla-based browsers such as epiphany.

On a more technical side, they also claimed that Debian wasn’t properly collaborating with Mozilla, sending unusable 100000-lines patches for validation just before releases (haven’t checked this claim). It’s interesting to note that the same problem exists on the other side, with Mozilla releasing “security and stability” releases instead of just providing patches for the security bugs.

My personal conclusion is that Iceweasel is really a good thing, and is quite unavoidable, even if it seems that the Debian/Mozilla collaboration could maybe have been better. Let’s advertise the use of Iceweasel, Epiphany, and other Web browsers! :-)

Note : comments open for people willing to fix inaccuracies or provide references, not for a stupid childish flame-war like the one in the comment of this post. Please write your own blog entry and use a trackback if you want to provide a detailed answer!

Updates:

  • I forgot to mention that the Mozilla people talked about Debian-specific changes that changed frozen APIs, breaking extensions, and causing bug reports on b.m.o or misleading forum posts. (again, not verified)
  • Interesting blog post about the trademark issue here
  • Mike Hommey addressed most of the points I reported in this blog entry.

Random chat using XMPP/Jabber, anyone ?

A Random Chat applet hit digg recently. It allows you to chat with a random stranger visiting the website at the same time as you.

It’s a good idea, but it would really be much better to have something similar based on Jabber (and maybe it could become a Jabber killer app’ ?)

Some thoughts:

  • It should be easy to get in the system, but slightly more difficult to get out of it : the main problem with the current website-based system is that it doesn’t work very well outside of flash-crowd periods. For example, you could be considered available for Random Chat as soon as you are “Available” or “Free for chat” on Jabber.
  • The system should provide strong anonymity (no direct messages between participating users to hide their JID) and allow for blacklisting to avoid the usual harassment problems.
  • The system should work with a classic Jabber client: no specific software or support for unimplemented JEPs should be required.
  • The system could include a tag-based system to be able to chat with people with similar interests or speaking the same language(s)

So, is somebody interested in working on this ? It would be quite easy to do with XMPP4R or another Ruby library. (This was from my list of things that I would really like to see implemented, but I won’t have time to work on it myself)

Related links:

Of bounties, donations and summers of code influence on volunteer participation

Stuff like the Google Summer of Code, the GNOME Women’s Summer Outreach Program 2006, the Sourceforge donations system, or Dunc-Tank (an experiment to see how targeted fund raising can improve Debian) are generally considered a good ideas. However, experiments have shown that sometimes, paying volunteers decreases the overall participation. Luis Villa wrote about this a few months ago, and summarized like this:

When people do things for their own intrinsic goodness (i.e., for reasons other than payment), introducing payment can reduce the amount of invovement.

I urge you to read Luis Villa’s blog entry about this, and specifically the Motivation Crowding Theory: A Survey of Empirical Evidence paper.

Update (22/09) :

The point of this blog entry was “You should read this, it could help you make your own opinion about this stuff.”, not “Dunc-Tank bashing.”.

About Dunc-Tank specifically, I don’t think that it desserves all the criticisms it has gone through recently, because :

  • It is an experiment. Its results will be discussed (I hope), and will help to better understand the consequences of such projects. Also, I like the fact that this experiment is taking place with Debian, because Debian hasn’t been the most innovative project lately.
  • It has limited scope: it’s only about paying two Release Managers for one month each, so it is unlikely to break totally the social dynamics of Debian. it’s not as if it was paying 400 people from 40 organizations without thinking too much about the social issues involved.
  • The team running Dunc-Tank is probably one of the best possible teams for this. Breaking Debian is probably very low on their priority list ;)

However, I would be more comfortable with Dunc-Tank if it’s goal was “Experiment the effects of fund raising on Debian”, and not “Pay developers to release etch in time” (dunc-tank.org doesn’t say this, but some articles in the press do .)

One remaining issue is: is paying the RMs the best way to experiment fund raising ? I have no opinion about that, mostly because I don’t know how the Release Team works internally.

Disclaimer: I am not a DD, so I haven’t read the debian-private@ thread about that.

Automatically watching for updates on web pages ?

Once in a while, I come upon a web page that :

  1. Doesn’t offer an RSS/Atom feed.
  2. Doesn’t change very often.
  3. I would like to be warned when it’s updated.

I would like to be automatically warned when such pages change. websec does this :

Description: Web Secretary – Web page monitoring software
A visual Web page monitoring software. However, it goes
beyond the normal functionalities offered by such software. Not only
does it detect changes based on content analysis (instead of date/time
stamp or simple textual comparison), it will email the changed page to
you with the new content highlighted.

But :

  1. It sends emails. Generating an RSS feed would be much better.
  2. It sends HTML emails. OK, you can use AsciiMarker to view the changes with a text MUA, but still…

Anybody knows of another piece of software I could use ?

Who is using Debian’s and Ubuntu’s development versions ?

Scott J. Remnant claimed that it’s the development community that use Debian testing or unstable. This doesn’t match my personal experience (I know many people running Debian testing/unstable who aren’t interested in Debian development), however I needed a better way to check this than just “my personal experience”. So I tried to answer the following question :

Are normal users using Ubuntu edgy and Debian testing/unstable, or do they stick with Ubuntu dapper and Debian stable ?

Simplified summary: (read below for details)

Ubuntu users:
…Ubuntu dapper (stable): 96%
…Ubuntu edgy (development): 4%
Debian users:
…Debian sarge (stable): 24%
…Debian testing/unstable (development): 76%

Detailed process:

First, I did a poll on #ubuntu@irc.freenode.net using a CTCP VERSION query, and looked at people using Xchat and Ubuntu (Ubuntu is displayed in CTCP VERSION replies). I got 288 replies from Xchat users, 197 of them were using the Xchat package from Ubuntu. 189 (96%) of them are using version 2.6.1 (the version in Dapper), 8 (4%) of them are using versions 2.6.4 or 2.6.6.

Then, I did the same poll on #debian@irc.oftc.net. I got 85 replies from Xchat users, and filtered out 15 of them because they weren’t from Debian users for obvious reasons. 17 users (24%) are using versions 2.4.0 or 2.4.1 (Debian sarge), 53 users (76%) are using versions 2.4.3, 2.4.4, 2.4.5, 2.6.1 and 2.6.4 (Debian testing/unstable – v.2.6.4, the current version in testing/unstable, has 41 users on its own). Statistically speaking, this isn’t very good, so I compared those results with another source of information : Debian popularity contest. 3002 submitters are using v.1.28 of the popularity-contest package (version in sarge) while 9682 submitters are using v.1.33 (version currently in Debian testing/unstable). That accounts for respectively 24% and 76% ! Same as above ! (OK, this is not so good, because I haven’t considered the intermediate versions here, while I did above)
Of course, those numbers are huge approximations, and are subject to a lot of hypotheses and questions, amongst them:

  • Are people on #ubuntu and #debian comparable ?
  • Are Xchat users or popcon participants representative enough ?
  • What about users of other IRC clients ? (I can’t do it with irssi, since its version didn’t change between dapper and edgy)
  • What about people who change their CTCP VERSION reply ? Or disable it ?
  • This only shows the system that people use to do IRC.
  • Xchat users obviously run X on the system they are using. Irssi users don’t necessarly do, and I got slightly different results with #debian and irssi : 55 users of v.0.8.10 (Debian testing/unstable), versus 30 users of v.0.8.9 (Debian stable). That makes 65%/35% instead of 76%/24%.
  • This is done in the middle of the edgy dev cycle, and near the end of the etch dev cycle. This could change over time.

I didn’t run the same poll on #debian-devel and #ubuntu-devel because I received some unpleasant comments already, and don’t want to run into angry Debian or Ubuntu developers (I’m still waiting for DAM approval after all :-)

Ubuntu or Debian, which one has the newest software ?

It is a common belief that Ubuntu provides newer software than Debian. This is of course true when Ubuntu is compared to Debian stable. This is also true for specific software packages, like Gnome. But how does it compare in general ?

At the time of the Dapper release, here is how Ubuntu Dapper and Debian Unstable compared wrt source package versions :

In Ubuntu, but not in Debian: 1795
In Debian, but not in Ubuntu: 588
Exact same version: 4361
Same upstream version: 2963
… and same Debian version, but Ubuntu has local changes: 731
… “Debian version” newer in Debian: 2197
… “Debian version” newer in Ubuntu: 35
Different upstream version: 2166
… newer in Debian: 1955
… newer in Ubuntu: 211

So Debian easily wins. But this comparison is unfair, because Debian unstable is a moving target : of course, it’s newer than Ubuntu ! What about Debian testing ?

In Ubuntu, but not in Debian: 2137
In Debian, but not in Ubuntu: 514
Exact same version: 4529
Same upstream version: 2652
… and same Debian version, but Ubuntu has local changes: 775
… newer in Debian: 1816
… newer in Ubuntu: 61
Different upstream version: 1967
… newer in Debian: 1666
… newer in Ubuntu: 301

Yes, Debian still wins. Okay, but Ubuntu Dapper had a particularly long release cycle. What about Ubuntu Breezy, and Debian Testing at the time of the Breezy release ?

In Ubuntu, but not in Debian: 2462
In Debian, but not in Ubuntu: 384
Exact same version: 4586
Same upstream version: 2253
… and same Debian version, but Ubuntu has local changes: 981
… newer in Debian: 1172
… newer in Ubuntu: 100
Different upstream version: 1375
… newer in Debian: 1020
… newer in Ubuntu: 355

Debian testing wins again.

Notes:

  • Statistics might be biased because of source package name changes.
  • Ubuntu doesn’t automatically remove packages which were removed from Debian, which partially explains the high number of packages in Ubuntu but not in Debian.
  • OK, there’s no Debian unstable/Ubuntu edgy comparison. I believe that not many people use Ubuntu development versions (except a few weeks before release), and that Ubuntu dev versions are usually not considered usable. OTOH, many people use Debian testing or Debian unstable.
  • The quick and dirty script used to generate the stats is available.

Update:

Yes, Scott, I am comparing stable releases on one side, with development versions on the other side. However, I think that it is widely known that Debian testing is usable outside of the Debian development community. I know many people using Debian testing who aren’t Debian developers. And many Ubuntu users, if they weren’t using Ubuntu, but Debian, would probably use Debian testing, not stable.

Regarding Ubuntu Edgy, its use is currently strictly limited to the Ubuntu development community, and I don’t know anybody not interested in Ubuntu development running Ubuntu Edgy (that’s also because Ubuntu is released every 6 months, not 18 months, of course). That’s why it’s irrelevant to compare with it.
Also, after a quick poll on IRC, I discovered that many Ubuntu users thought that Ubuntu stable releases had newer software than Debian Testing (that was my exact question). The only point of this blog entry is to prove them wrong.

Update 2 : I’ll be on holidays for the next few days, so comments are put in the moderation queue until I come back.

Good questions to ask yourself when working inside teams

Many people agree that teams are good : doing team maintenance of packages is often seen as A Good Thing inside Debian, and Ubuntu enforces it by switching to the everything is team-maintained philosophy. However, teams are subject to complex group dynamics, and raise interesting issues that you don’t encounter when working alone. It is important to ask yourself those few questions

Dilution of knowledge: Team members tend to individually know less about specific packages. Does the sum of all team members really know more than an individual developer would know about a specific package ?

Responsibility: Are there some clear responsibilities in your team ? Are people feeling responsible for packages ? Not having clear responsibilities is dangerous, because a package could become sort-of-orphaned inside the team, because nobody would consider “his duty” to work on it.

Hierarchy inside teams: Is there a clear hierarchy inside your team ? If there isn’t (which could be OK), are you sure there isn’t an unofficial hierarchy that built up with time, causing people to wait for an unofficial leader’s decision, while this leader might not even be aware that he is that leader ?

Scalability: How much can a team scale ? How does *your* team scale ? How many team members are really active ?

External interface: When dealing with the outside world (read: upstream), it’s easier to have a single point of communication. How does your team’s external interface look like ? Remember that teams’ external interfaces can easily become much more complex for upstream developers to deal with.

There are no magic way to build a team that work, but it’s important to look at your team with a critical eye and try to improve its inner workings.

Switching from Firefox to Epiphany

More and more, I have problems dealing with Firefox’s bloat. I gave epiphany a try as a replacement for a week, to see if it’s actually a valid replacement.

Part 0: installing

On Debian/Ubuntu, don’t forget to install epiphany-extensions as well.

Part 1: making the switch

  • System -> Preferences -> Preferred Applications : select epiphany instead.
  • That’s all for now. (What about update-alternatives ? Is it necessary ? Seems it isn’t.)

Part 2: Configuring

I just added my language preferences. Why doesn’t it follow my session’s defaults ? (It seems that this waits for a localization configuration applet inside Gnome)

Part 3: Importing Bookmarks

Bookmarks -> Edit bookmarks -> File -> Import bookmarks -> Firefox

Bookmarks toolbar handling in epiphany is a bit strange. It seems that you have to add Quick bookmark buttons for each bookmark you want in it. (related bugs: 116726, 112660)

After one week of use …

  • Epiphany isn’t faster than Firefox. It might slightly faster to start up, but switching between tabs feels slower. (I reported bug 347225 about this, but it’s non-conclusive ATM.)
  • Tabs are fixed-size in epiphany, not variable size like it firefox. It makes it difficult to have a large number of tabs open (in 1280×1024, you can only have 7 open tabs before small arrows appear to let you move the tab bar left/right). It’s actually not an epiphany problem, but a gtk+ one (330676).

Looks like I’m going back to Firefox…

Update :

Frederic Peters posted a comment mentionning unofficial Epiphany extensions which solve the fixed-size tabs problem. Thanks a lot :-)