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

Slides:



Advertisements
Similar presentations
Python - an Open Source Project Guido van Rossum CNRI
Advertisements

G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
The audio will be turned on just before our start time at 7:00 pm ET.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Knowing Your Facebook From Your Flickr Dan O’ Neill – -
Enrolment Services – Class Scheduling Fall 2014 Course Combinations.
Decluttering your Software Development Process Michael Smith TeraTech, Inc.
© RightNow Technologies, Inc. Ask The Experts: Getting the most out of Smart Assistant David Fulton, Product Manager, Web Experience Center Of Excellence,
How Users Can Help a Project? Samisa Abeysinghe. Who Am I? Samisa Abeysinghe –ASF Member WS PMC –Projects Started with Apache Axis/C++ Now with Apache.
Security Vulnerabilities Linda Cornwall, GridPP15, RAL, 11 th January 2006
Web Development Web development never ends: 1.Find out what the stakeholders need (sponsors, users, etc.) 2.Investigate available technology 3.Plan the.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
UNCLASSIFIED – For Official Use Only 1 Contract Load Notification “Fly-in” Action ( Continue to Page Down/Click on each page…) Electronic Document Access.
EGI-InSPIRE RI EGI-InSPIRE EGI-InSPIRE RI EGI Federated Cloud and Software Vulnerabilities Linda Cornwall, STFC 20.
Rev. May 2016 cuResearch User’s Manual. What is cuResearch? Introduction to cuResearch More information is available on the CURO website:
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
gvSIG Workshop II Mario Carrera Amelia del Rey José Vicente Higón
Code Simplicity: Software Design In Open Source Projects Max Kanat-Alexander
Microblogging as a Teaching & Learning Enhancement Stuart Hepburn & Dr
Giving Back Contributing to Debian and the New Maintainer Process Christine Spang January 15th, 2007 The SIPB, Massachusetts Institute of Technology.
Swat Team Responsibilities and Best Practices
Mer and Nemo QA Short presentation to get the idea Author:
TOP 15 VALUABLE FACEBOOK SOCIAL STATISTICS Contact Us ZEPHORIA INC.
Open source development model and methodologies.
CS5220 Advanced Topics in Web Programming Version Control with Git
Sophia Fourlari & Maria Mylona Dpt. of European Educational Programmes
Locale—Localization—Release
Web Development Web development never ends:
Development process Douglas Schilling Landgraf
Groupname [PP|…|FD] Iteration
Making your good ideas count!
Welcome to the KDE Project
SAP SuccessFactors extension with SAP HANA Cloud Platform Innovation Use Case SAP & Partner Confidential
Ticket Handling, Queue Management and QlikView Dashboard Workshop
<Partner Name> MMM DD, 2017
Version Control.
The COSMO Coding Standards Some Highlights
RETAINING MEMBERS “Winter School 2009” Tennessee Master Gardeners
Managing Client’s Projects in Opensource and Being Profitable
Community RE Report from the Bleeding Edge
Building a Career in FOSS
Ease interaction with translators
Giving Back Contributing to Debian and the New Maintainer Process
PHP / MySQL Introduction
Listening to the Needs of Your Global Open Source Community
Fast Action Links extension A love letter to CiviCRM
How to Use Blog Commenting to Get Valuable Backlinks and Traffic Before you get all bent out of shape about how blog commenting is a horrible link building.
Update on OpenSwitch with OCP Projects
James SHANNON RA44 – BUD 15 Sept 2010
Making your good ideas count!
Unit4 Customer Portal Submitting & Managing Cases.
Unit4 Partner Portal for Case Creator
TDL Open Source Project (TOP) Input to MTS#71, 31 May / 01 Jun 2017
Welcome: How to use this presentation
Standard Scripts Project 2
Envelope Concept report, PCS UG
Webvoyage Spellchecker
The Grants.gov Online Grant Submission Portal November 8, 2017
Providing Advice To Clients
NATURE COAST SOCCER Presents
Bringing more value out of automation testing
Standard Scripts Project 2
Bug tracking tools.
Helping you make your code better
Hypothesis Compiling.
The COSMO Coding Standards Some Highlights
Standard Scripts Project 2
Instructor: Kurt Baker
MyASQ myASQ is a centralized, online community that provides timely, relevant, and personalized engagement for members of ASQ, allowing members to make.
Presentation transcript:

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

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

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.

„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

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

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

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

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)

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

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

Some ideas

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

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

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

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

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

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

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

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

Translations: damned-lies ● Idea: Use damned-lies on l10n.gnome.org ● Language coverage (%) stats of 2.24 to 2.30 at 16/ ● Amount of translation team members

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

Some partial results

Modules

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

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

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,

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

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

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)

Translations

Damned Lies coverage stats Data from compare/ui/ /

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

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

Damned Lies coverage / Number of team members in Damned Lies

Problems & Combining data (to do)

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

Modules General Git activity Bugzilla activity Git Committers

Translations Damned Lies Bugzilla activity General Git activity

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

Act.

Contact people ● Maintainer / coordinator 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. otte/2008/12/18/on-loneliness/), superseded?)

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?

Other ideas

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?

Other Ideas ● Social interactions – e.g. Paul Adams for KdePIM: ● Set #bugreports in relation to lines of code? ●...?

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?

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

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