(Oui, mes titres foireux sont sponsorisés par wikipedia maintenant…)

Je me décide finalement à publier ce truc que j’avais écrit en avril - à l’origine je voulais en faire des slides, mais ce community.txt traîne déjà depuis 3 mois dans mon $HOME - juste avant la sortie de lucid.

Je ne doute pas que si vous êtes employé Canonical, membre de la desktop team, contributeur occasionnel aux paquets de main, fanboy stupide, évangéliste assermenté (rayez les mentions inutiles, elles le sont toutes), vous allez crier au FUD. Je tiens à préciser que je n’ai rien inventé, toutes les références peuvent se trouver en cherchant un peu sur Launchpad, les listes de diffusion ubuntu, les logs irc de #ubuntu-devel. Quant aux boursouflés du cortex qui vont assurément dire : “Mais pourquoi tu te plains dans ton coin sur ton blog de merde qui n’est pas lu par personne“, je tiens à leur signaler, d’une part, que la double négation c’est mal (si mon blog de merde n’est pas lu par personne, cela signifie qu’il est lu par quelqu’un…), et accessoirement que j’ai déjà essayé (par exemple sur #ubuntu-devel), et j’ai récolté un florilège de réponses sublimes (cf. section “Emergency Help“).

Ce sera probablement tout pour ce mois-ci. Si vous voulez être inutile comme moi ensuite, vous pouvez tester ma branche xrandr-display-settings pour xfce4-settings qui ajoute le support xrandr 1.2/1.3, et me signaler par mail si ça a plumé votre écran et détruit votre chat (ou le contraire). Avec un peu de chance, elle pourrait être mergée pour Xfce 4.8, qui est déjà en retard de toute façon.

How not to work with the community and derivatives

Confidential cheat sheet for newly-hired canonical employees

This document lists perfect examples on unsuccessful collaboration between Canonical employees and community contributors.

1/ Do not communicate about transitions

  • karmic: libxklavier 4.0 (soname bump) uploaded on 2009-07-12. gnome packages fixed the day after. Xfce packages fixed more than a month after, by a $random MOTU, not even an Xubuntu developer. Haha, didn’t they look stupid thanks to that? EPIC WIN

  • lucid: libxklavier 5.0 (soname bump) uploaded on 2010-01-16. gnome packages fixed quickly after. Xfce packages fixed two weeks after. Look, thanks to you, they improved their speed! STILL ANOTHER VICTORY AGAIN

remember: the debian way is wrong, do not notify about transitions before making them. Do not notify after either. People are supposed to read all mails coming from *-changes@ anyway.

2/ Do not bother with freezes

  • lucid: new Ubuntu artwork published on 2010-03-03. UI Freeze on 2010-03-04. That’s awesome! Those stupid derivatives’ maintainers won’t have time to catch up. In case they try, try to win some time (“the font can’t be released yet”, “give us some time to review your propositions”). If you are lucky enough, they’ll still be waiting at the beta1! :)

  • lucid: inclusion of the appindicator stuff in almost all gnome programs, during the Feature Freeze, without thinking of derivatives using them. That’s good too, they won’t even understand why their daily builds are suddendly oversized!

  • lucid: demotion of several goffice related packages to universe during the beta1 freeze, without any advertisement. Not bad, so that derivatives’ developers have to find which ones were demoted, which ones contain translations, and which ones have to be rebuilt. They’re doing this on their free time, so that’s not a big deal for them, do not worry!

remember: during freezes, upload with your @canonical address.

3/ Derivatives do not matter. Only ubuntu-desktop does.

  • jaunty: change pkgbinarymangler to strip translations from desktop files done on 2009-03-25. Final freeze was on 2009-04-09. Unfortunately, it was detected by an external contributor and fixed in Xubuntu on 2009-04-11. The good news is that it wasn’t fixed in Kubuntu! Awesome! A Kubuntu developer even sent a mail to ubuntu-devel@ on 2009-05-04 after the release to complain, but do not worry about that.

  • karmic: openoffice.org suddendly pushed by language packs. Very good! Thanks to that, Xubuntu users would have to download ~150Mo during the installation, although they use abiword and gnumeric! It was finally fixed before beta1 in lucid, but 5 months isn’t a bad score. ;)

  • karmic: new gdm uploaded, with dependencies on gnome components. It required 20 days of waiting and several hours, two xubuntu developers, another desktop team member, only to make the gdm packager listen to the complaints. This is really the best one, the xubuntu daily builds were unusable during 20 days because gnome was starting by default! =)

remember: if it’s seeded by ubuntu-meta, do not check if your changes will break a derivative. If it’s not seeded, do not check either (we’re already kind enough to build daily isos for derivatives).

4/ Universe is a garbage can

  • karmic: gnome-app-install, unmaintained since the switch to software-center, demoted to universe. Eventually removed in lucid, but karmic still ships this buggy crap (e.g. no icon displaying on Xubuntu)

  • lucid: thread about web apps on ubuntu-devel@. Security team members decided to demote to universe some web apps that were not really secure, because it was a pain to maintain them correctly for 3 years.

  • https://wiki.ubuntu.com/Bugs/Importance “Critical: A bug which has a severe impact on a large portion of Ubuntu users”: so a package from universe that destroys the system isn’t a critical bug, only medium/high. It’s better for statistics, you know?

  • lucid: the libmozjs debacle. Universe packages are still waiting for asac to fix them. And using wrappers to run the real binaries with LD_LIBRARY_PATH is totally ugly: you’ve dreamed it? Canonical made it true! (meanwhile in Debian, glandium maintains libmozjs and take care of the soname ; feel the difference).

remember: believe in miracles; if nobody is maintaining an app in main, demote it to universe, and down from the heavens will descend hundreds of maintainers.

5/ Emergency help: if a $random developer is too stupid to be fooled by all these secret techniques, what you should do

  • deny

  • invent some some completely stupid excuses (“I didn’t know I should notify about transitions.” “Oops, I forgot”). Please act with care, forgetting for 2 years can become dangerous.

  • act as the victim: “I once filed bug reports for a transition, and people were not happy because of the bugmail flooding so now I prefer to do everything secretly.”

  • if it still doesn’t work (e.g. with a certain annoying xubuntu developer whose nick starts with ‘m’), tell some good examples of successful collaboration: gdm-set-default-session, xdg-path-on-session, or even the libparted transition in lucid. But there are not so many, so go back to the ‘deny’ part between each example.

remember: you do not care for them, they are useless; you are only paid to work on ^ubuntu-, not ubuntu-*.

Final word: never, ever admit you completely screwed up. They are wrong to work on !main stuff, not you.