andré klapper aklapper/guadec2010/projects-in-need.pdf · the reality translators waste time...

51
Identifying software projects & translation teams in need André Klapper <[email protected]> GUADEC 2010, Den Haag

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Identifyingsoftware projects & translation teams in

need

André Klapper <[email protected]>

GUADEC 2010, Den Haag

Page 2: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

One line about the author

Bugs | R-T | L10N | CZ |

Page 3: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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.

Page 4: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

„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⇒

Page 5: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

What this talk is not about

● Missing manpower in general – Every project and team would like to have more people.

Page 6: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The perfect world

Page 7: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The perfect world

● 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

Page 8: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The nearly perfect world

Page 9: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The nearly perfect world

● 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

Page 10: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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)

Page 11: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The reality

Page 12: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The reality

● 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

Page 13: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

The reality

Contributors = Volunteers

„Volunteers“ =

Don't have to do it.

Can walk away again.

Page 14: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Some ideas

Page 15: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Modules: Git

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

Page 16: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Modules: Git: Problems

● Some committers use several email addresses● TODO: Exclude /po subdirectory

Page 17: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 18: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Modules: Bugzilla: Problems

● Only popular and established modules get a higher number of bug reports / Data for smaller modules not significant

Page 19: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Translations: Git

Idea:● „git log“ in /po subdirectories of every module

for every language team

Page 20: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 21: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 22: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 23: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 24: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Translations: damned-lies: Problems

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

Page 25: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Some partial results

Page 26: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Modules

Page 27: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 28: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 29: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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,

Page 30: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 31: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Number of Git Commits / Number of different authors

● Commits / Number of different authors● Results not convincing for small and big

modules not helpful⇒

Page 32: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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)

Page 33: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Translations

Page 34: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Damned Lies coverage statsD

ata

from

ht

tp:/ /

l10n

. gno

me.

org/

rele

ases

/ co

mp a

re/u

i/8-1

2-1

3- 1

6/

Page 35: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 36: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Number of Git commits / Number of team members in Damned-Lies

⇒ Insignificant results; not a helpful approach

Page 37: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Damned Lies coverage / Number of team members in Damned Lies

Page 38: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Problems & Combining data (to do)

Page 39: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 40: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Modules

General Git activity

Bugzilla activity

Git Committers

Page 41: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Translations

Damned Lies

Bugzilla activity

General Git activity

Page 42: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?)

Page 43: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Act.

Page 44: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?)

Page 45: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?

Page 46: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Other ideas

Page 47: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?

Page 48: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?● <insert_here>...?

Page 49: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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?

Page 50: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

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

Page 51: André Klapper aklapper/guadec2010/projects-in-need.pdf · The reality Translators waste time translating unused modules that will never see a release again

Feedback / Data / Discussion

● <mailto:[email protected]>● Code (sh), slides (pdf/odp), data (cvs/odt) at:

<http://www.gnome.org/~aklapper/guadec2010>● (set up a mailing list if folks are interested?)