Presentation is loading. Please wait.

Presentation is loading. Please wait.

Identifying software projects & translation teams in need André Klapper GUADEC 2010, Den Haag.

Similar presentations


Presentation on theme: "Identifying software projects & translation teams in need André Klapper GUADEC 2010, Den Haag."— Presentation transcript:

1 Identifying software projects & translation teams in need André Klapper GUADEC 2010, Den Haag

2 One line about the author Bugs | R-T | L10N | CZ |

3 What this talk is about ● Lots of software modules & human languages ● Persons and their actions ● Contributors ● ⇒ Indicators for manpower that just exists on paper but not in reality ● ⇒ Indicators for dangerous project states „Indicators“. Not: proof. ⇒ Still needs manual checking.

4 „Abandoned“? Manual checking needed, because: ● Obsolete / Legacy as not needed anymore (e.g. gnome-vfs superseded by gvfs) ⇒ fine ● Bug-free, feature-complete, perfect! ⇒ fine ● Maintainer AWOL (away without official leave) ⇒ bad

5 What this talk is not about ● Missing manpower in general – Every project and team would like to have more people.

6 The perfect world

7 ● Maintainer / language team coordinator realizes inability to be a good maintainer anymore ● Already has a new maintainer in mind, or ● Posts on mailing list and/or blogs about searching for new maintainer ● Volunteers come up and become new maintainers; old maintainer resigns ● ⇒ Progress instead of stagnation

8 The nearly perfect world

9 ● Somebody asks how to help in a specific project (Mailinglist, IRC) ● Gets a response to contact the maintainer ● Contacts the maintainer ● Receives a response by maintainer who says „I'm short in time“ and offers hand-over. ● Becomes the new maintainer ● ⇒ Progress instead of stagnation

10 The (nearly) perfect world Examples for new GNOME module maintainers in 2009: ● Adam Plumb (nautilus-python) ● Milan Bouchet-Valat (gnome-system-tools) ● Pierre Wieser (nautilus-actions) ● Patrick Welche (Dasher)

11 The reality

12 ● Translators waste time translating unused modules that will never see a release again. ● Newbies want to help developing and attach patches in Bugzilla. Bitrot without any attention. ● People that don't know where and how to escalate in such cases. ● Newbies lose interest to continue contributing. ● ⇒ Stagnation instead of progress. ● ⇒ Negative first impression for new contributor

13 The reality Contributors = Volunteers „Volunteers“ = Don't have to do it. Can walk away again.

14 Some ideas

15 Modules: Git Idea: ● „git log“ in every module ● Amount of recent commits ● Number of different committers/authors

16 Modules: Git: Problems ● Some committers use several email addresses ● TODO: Exclude /po subdirectory

17 Modules: Bugzilla Idea: ● Query bugzilla.gnome.org ● Number of bug reports recently (2yrs) filed ● Number of bug reports recently closed as RESOLVED FIXED or RESOLVED WONTFIX

18 Modules: Bugzilla: Problems ● Only popular and established modules get a higher number of bug reports / Data for smaller modules not significant

19 Translations: Git Idea: ● „git log“ in /po subdirectories of every module for every language team

20 Translations: Git: Problems ● Changes by non-translators (e.g. mass-edit of a typo in a msgid string) ● Does not include User Docs (help/po | docs/po) ● Norwegian: nb/nn/no, Serbian: Cyrillic/Latin etc ● If ALL languages for a module under certain threshold it might not be lazy translation teams but the module very stable wrt strings. Or dead. ● Bad results for newly established translation teams

21 Translations: Bugzilla Idea: ● Query bugzilla.gnome.org ● Number of bug reports recently filed ● Number of bug reports recently closed as RESOLVED FIXED or RESOLVED WONTFIX

22 Translations: Bugzilla: Problems ● Only few L10N bug reports in general ● If amount of language speakers high ⇒ more bug reports; more likely an active team exists ● If amount of language speakers low ⇒ few bug reports; more likely a team does not exist ● ⇒ results are insignificant

23 Translations: damned-lies ● Idea: Use damned-lies on l10n.gnome.org ● Language coverage (%) stats of 2.24 to 2.30 at http://l10n.gnome.org/releases/compare/ui/8-12-13- 16/ ● Amount of translation team members

24 Translations: damned-lies: Problems ● Not all teams use l10n.gnome.org/damned-lies and its workflow

25 Some partial results

26 Modules

27 Number of Git commits ● 710 modules in git.gnome.org ● 135 modules with 0 commits in last 2 years ● 125 modules with ≤10 commits in last 2 years

28 Number of Git commits ● 135 modules with 0 commits in last 2 years: ● accroc, assetmlweb, asyncworker, bin, blogs-web, bookworm, bugmasters, bugzilla.gnome.org, build, buildbot-web, cairoio, camel-imap4, camtrack, chessclock, cifrado, coaster, cvs-web, CWordHelper, dashboard, dbus-hook, denzil, dia-web, dogtail-tests, eazel-tools, epiphany-mono, evo-conversation, evolution-monoembed, evolution-xmltv, flow, foiegras, foocanvas, gci, gconf-apoc, gdip-pixbuf-loader, gdome2, gecko-embed, gegl-web, gfax, gimp-data-extras, gimp-resource-repository, gio, giomm, giulia, giv, glade--, gle, glightoff, gnome-art-tool, gnome-audio, gnome-braille, gnome-db-web, gnome-docu, gnome-gecko-embed, gnome-lokkit, gnomemm, gnomemm_docs, gnomemm_hello, gnome-panel- extensions, gnome-printer-add, gnome-reset, gnome-session-manager, gnome-smproxy, gnome-startup- profiling, gnome-test-specs, gnome-vfs-monikers, gnome-xcf-thumbnailer, gobject-npapi, gopersist, gppthtml, gruler, gshrooms, gstreamermm-plugins-good, gtkimageviewer, gtkmm_hello, gtkmm-root, gtkmozembedmm, gtkvts, gw-web, halloween, horizon, im-canna, jhfarmer, kanjipad, kbdraw, libbacon, libcm, libgnomeservice, libgswitchit, libguniqueapp, libinotify, libipoddevice, libredcarpet, livecd- project, local-export-daemon, loudmouth, ludwig, memprof-web, microtinder, Mocca, mozilla-bonobo, muine-shell, nautilus-locked-folder, nautilus-revisioning, orbitcpp, pango-profile, perl-GStreamer-GConf, perl-Gtk2-Recent, perl-Gtk2-SourceView, perl-Gtk2-TrayIcon, perl-Gtk2-TrayManager, popt, porting- doc, present, proximo, pygnome-hello, pyspi, rcd, rcd-modules, rcd-mp, rc-python-libs, rug, sarma, search-party, silky-www, siobhan, snark, svn-migration, tepache, timeline, usability-web, wallpaper-web, web-gtkorg, web-mirror, wiki-web, yarrr

29 Number of Git commits ● 125 modules with 10 commits in last 2 years: ● asbestos, gconf-dconf-bridge, gimp-perl, gnome-cookbook, gperfmeter, libsounds, libtruthiness, lock- service, nautilus-image-converter, perl-Gnome2-Canvas, perl-Gnome2-Dia, perl-Gnome2-GConf, perl- Gnome2-Print, perl-Gnome2-VFS, perl-Gnome2-Wnck, perl-Gtk2-GLExt, perl-Gtk2-Html2, perl-Gtk2- Spell, at-poke, bugzwerk, desktop-data-model, evolution-brainread, gdesklets-extras, gimp-plugin- template, gnome-alsamixer, gnome-chess, gnome-jabber, gnome-raw-thumbnailer, gtkglext-sharp, lsr, model-examples, msm, nautilus-gtkhtml, nautilus-rpm, seed-examples, silky, socorro, vicious-extensions, api-web, cupid, dbus-inspector, drwright, gade, gimp-freetype, gimp-pspi, gnome-mime-data, hardware- device-themes, libgnetwork, libmimedir, medusa, perl-Gtk2-GladeXML, pygtkglext, vmx-manager, drgeo, gail, gfloppy, gnome-docker, gtkhtml2, gtkmathview, gupnp-ui, libart_lgpl, libgircclient, nautilus- rc, perl-ExtUtils-PkgConfig, perl-Gnome2, usability-lab, bprof, cowbell, drivel, glade, gnome-i18n, gnome-nds-thumbnailer, gnome-torrent, gnomeweb-plone, gsettings-desktop-schemas, gtetrinet, libchamplainmm, mhonarc, mlview, perl-Gnome2-PanelApplet, perl-Gnome2-Vte, vcs-mirror, bprobe, divifund, gdesklets, jumpnbumpmenu, libbtctl, libgnomecanvasmm, mail-web, nautilus-media, nautilus- vcs, svn-web, bookmark-applet, clutter-gstreamermm, gio-strigi, gnome-sound-theme, guikachu, libgnomedbmm, mcatalog, perl-Gtk2-MozEmbed, pyorbit, torrent-web, viewcvs-web, eggcups, gnome- network, gnome-vfsmm, libcroco, mango, pan, perl-Goo-Canvas, capuchin, gnome-pkgview, gtkglextmm, libgail-gnome, libgnomemm, libgnomeuimm, monster-masher, firestarter, gnet, gnome- desktop-testing, gnome-edu, libnotifymm, libpanelappletmm, opengl-glib, sodipodi,

30 Bugzilla activity ● 496 modules in bugzilla.gnome.org ● 170 modules with no reports closed as FIXED or WONTFIX in the last two years ● One idea: New bug reports / Fixed|Wontfix bug reports in the last two years ⇒ data not helpful (yet), e.g. for modules with lots of crasher duplicate reports, or small amounts of reports

31 Number of Git Commits / Number of different authors ● Commits / Number of different authors ● Results not convincing for small and big modules ⇒ not helpful

32 Number of Git Commits / Number of commits by most active author „The bus factor“ ● 0% < x ≤ 20%: 113 modules ● 20% < x ≤ 40%: 158 modules ● 40% < x ≤ 60%: 136 modules ● 60% < x ≤ 80%: 72 modules ● 80% < x < 100%:47 modules ● 100%: 55 modules (Bus factor)

33 Translations

34 Damned Lies coverage stats Data from http://l10n.gnome.org/releases/ compare/ui/8-12-13-16/

35 Number of Git commits ⇒ 0-2 commits in 2 years: an, bal, bem, dv, ff, fur, gn, ha, km, ks, ky, nap, tg, yo, zh_trad, zu

36 Number of Git commits / Number of team members in Damned-Lies ⇒ Insignificant results; not a helpful approach

37 Damned Lies coverage / Number of team members in Damned Lies

38 Problems & Combining data (to do)

39 Problems Problems: ● Not all modules in GNOME Bugzilla have their codebases in GNOME Git (and vice versa) ● L10N: Languages vs Translation teams ● L10N: Sort by language name vs ISO639

40 Modules General Git activity Bugzilla activity Git Committers

41 Translations Damned Lies Bugzilla activity General Git activity

42 To do: Combining data ● Define thresholds (e.g. minimum number of existing bug reports for $module for Bugzilla results to be taken into account) ● Weight the useful data sources (Git, Bugzilla, l10n) & find a formula for combining them, e.g. ● $module: 0.7*(Damned Lies)+0.3*(Git commits) ● Define threshold for results (at which value does a module's situation become potentially dangerous and should be investigated?)

43 Act.

44 Contact people ● Maintainer / coordinator email available from MAINTAINERS git file, Bugzilla, l10n.gnome.org ● Actively contact teams / maintainers of projects / languages that look suspicious and ask for reasons (no interest anymore, reallife, no community around (cf. http://blogs.gnome.org/ otte/2008/12/18/on-loneliness/), superseded?)

45 Make public ● Make need for help public (contact downstream translation teams, blog/post if new module maintainers are needed?) ● ⇒ Create a new team in GNOME for this area?

46 Other ideas

47 Other Ideas / Improvements ● Bottlenecks in support processes?(getting Git access; direct Git commit from l10n.gnome.org) ● Damned-lies: Average time between translation upload and „committed“ status (review speed) ● Bugzilla: Average time between bug report and first comment on it and/or RESOLVED state ● Bugzilla: Add warning for reporters about low Git activity and contact info (maintainer, or a potential new GNOME team)? ● Damned-lies: Similar „low priority“ warning?

48 Other Ideas ● Social interactions – e.g. Paul Adams for KdePIM: http://blogs.fsfe.org/padams/?p=18 ● Set #bugreports in relation to lines of code? ●...?

49 Other ideas: Questionnaire for new maintainers ● Community and long-term developers existing? ● Communication channels existing and used (IRC, mailing lists, blogs)? ● Clear instructions what to do after becoming a maintainer? (Bugzilla, Git, release procedures) ● Does the former maintainer still support you in case of technical questions? ● Did you feel "welcome" in the GNOME community and if so, why? ● Would you do it again?

50 Thanks For code help, data, discussion, pictures: Blaizzen on talk.maemo.org Karsten Bräckelmann Benjamin Bunzel Lenka Čvančarová Jiří Eischmann Santiago Fariña Javier Jardón Claude Paroz Olav Vitters

51 Feedback / Data / Discussion ● ● Code (sh), slides (pdf/odp), data (cvs/odt) at: ● ● (set up a mailing list if folks are interested?)


Download ppt "Identifying software projects & translation teams in need André Klapper GUADEC 2010, Den Haag."

Similar presentations


Ads by Google