prev
Issue 90
23rd December 2007
by Danny Allen
next


This Week...
Trolltech-sponsored development continues on Phonon backends. Support for saving to remote URL's in Gwenview. A "Now Playing" data engine and applet, and the train clock returns in Plasma. "Switch Tabs on Hover" can now be disabled, and other refinements in Kickoff for KDE 4.0. Work on a debugger (with a SpeedCrunch-inspired interface) for KHTML. Work to support the most recent release of the Flash (version 9) multimedia plugin in Konqueror. SOCKS support in KTorrent. Device handling fixes in KPilot. More work on music services in Amarok 2.0. Further work on the KChart Flake shape in KOffice. More panorama work, amongst other developments in KOffice. Support for the Bonjour protocol in Kopete. Initial import and development of a MS Cabinet format archive reader. The temporarily-named Video Player, formerly-known-as-Codeine, has been finally renamed to Dragon Player.

Kévin Ottens recently did a talk at the FOSS.in 2007 conference titled "KDE/ISI Student Projects: The real story of a few students near Toulouse". Here is a summary of his talk:
Shakespeare says it all...

Two households, both alike in dignity,
In fair Toulouse, where we lay our scene,
From ancient grudge break to new mutiny,
Where student blood makes academic hands unclean.
et caetera

Wait! This time, it has a Happy End(tm) - this time we have Konqui instead of Mercutio!

Introduction
KDE 4 is coming. It will be the next major version of the KDE project, but all this is only possible thanks to its contributors. Many of them started contributing in their free time while still being students. We can get even more students contributing by proposing student projects in universities. I therefore present a collaboration experiment conducted last year near Toulouse, France with the IUP ISI at the Paul Sabatier University.

The ISI is a "Professional Institute" (with the IUP quality label), performing software engineering with a strong focus on project management, development processes, quality assurance, and distributed and real-time systems.

The goals of the KDE/ISI collaboration are to enable students to apply what they learn in class to a dynamic, real-world project, learn new techniques and technologies by themselves, and to experience project management and client relationships "for real".

The collaboration is organised as a group of 6 month projects, with professors acting as the client team, and students acting as the development team. In our first year of the experiment, we proposed projects close to the usual topics: KPlato for project management, and Umbrello for UML modeling. To assist the students, we installed a machine with NX so that they can test applications without needing to install another operating system (some students still don't run Linux!), and so that they do not need to deploy the unstable software on their work computer.

Problems and solutions
The obvious potential problems of the experiment include:
  • Deployment of the development platform
  • No communication with the community
  • Troubles tracking community progress:
    • We began shortly after the "BIC monday" policy within KDE development
  • Visibility of the work done

To mitigate these potential problems, we:
  • Gave technical support during the first weeks (deployment)
  • Allocated KDE mentors before the students started:
    • Jonathan Riddell (Umbrello)
    • Thomas Zander & Will Stephenson (KPlato)
  • Pushed them to contact sysadmin for KDE SVN accounts
  • Let them choose how to work:
    • 3.5 vs trunk?
    • In a specific branch or not?
  • Tracked the commit logs

Umbrello and KPlato defences (evaluation session)

Work officially done in the first year of the experiment:
  • KPlato
    • More views (tasks per resource, metrics and graphs)
    • PERT support (view, editor, critical path)
  • Umbrello
    • Migrated to a sane undo/redo framework
    • Added support for some UML 2.0 primitives:
      • Sequence diagram
      • Activity diagram
"Hidden work" (after the official end of the projects):
  • Umbrello branch merged back on trunk
  • KPlato architecture improvements proposals

How did it work?
What worked well:
  • Interaction with the community
    • Students were shy but felt welcomed
    • Slowly improved their communication
  • Unexpected idea: two Hacking Sessions on Saturdays
    • February and March, the last two months
    • Formed a core team, it's now monthly!
Areas for improvement:
  • Project management
    • Not easy to be process-driven inside the community
    • Professor team should be more pro-active in this area
  • Visibility of third year students work

February and March hacking groups

In the second year of the KDE/ISI collaboration, we modified the rules of the system. The current situation at the IUP ISI is that students can propose as many projects as they want, covering any domain that they want (eg. instant messaging, multimedia, etc).

Some of the students who participated in the first year of the experiment are still active in KDE, and many of them found nice internships thanks to their projects: some of them even spread Free Software at their internship!

In the second year of the collaboration, we also have less constraints on the projects, and with the success of the first year, we can now have more groups (4 teams, a +100% raise!). We have more manpower, thanks to awareness in the KDE community and because students from the first year are willing to help.

Learning from past mistakes
  • Reduce the load on people to allow better scalability
  • Ensure more visibility of student work
  • Avoid the client confusion experienced
    • Professors acted as client, but they didn't have the required "user knowledge"
  • Revised organisation
  • One project manager, who
    • Receives a report from the client at each iteration
    • Discusses the documents and project progress during meetings
    • Proposes ways to improve the project management
  • Technical support
    • Two people per project
    • A group available for daily concerns (mostly on IRC)
    • Available on site once a week
    • Proposes ways to improve application design and code production

Communication processes within the collaboration

This year, we first introduced all the potential projects to the students, and then let them form teams of four students and choose the project they wanted - this gave them experience in conflict resolution! The projects chosen by the teams (see photo below) are:

Teams in the second year of the KDE/ISI collaboration

Toward Free and Open Source World Domination?

Spread outside the IUP ISI?
  • In discussion with a local engineering school for a similar scheme
  • Need to adapt depending on the type of school, their schedule, etc.
Spread outside Toulouse?
  • In my opinion, we must spread these kind of schemes
  • Probably needs to be adapted depending on the culture
  • People willing to replicate in India and other countries?
An important consideration is that, though all that I introduced above is a collaboration with the KDE project, the general ideas can probably be used in other projects. Pick your favorite project - it's all Free Software!

Advice to get you started
  • Build trust
  • Both with students and professors
  • Give the professors guarantees on how to track progress
    • Even if they don't use them
  • Be flexible and committed
  • Be ready to give up on the type of applications chosen
    • At least the first year
    • With success, you can ask for more
  • Be ready to feel alone when supporting the students on the technical side
    • At least the first year
    • With success, you can get more help thanks to new blood

Summary

The Idea
  • Setup Free Software projects as part of a course of study
  • Have groups of students working on a common project
The Outcome
  • Students get a better chance to have an interesting internship/job thanks to Qt & KDE skills
  • More people working on Free Software applications during the project span (6 months!)
  • Addiction: Fresh blood enter the project community!

Thanks
  • To the professors of the IUP ISI, Toulouse for their support of new ideas and for allowing this idea to grow.
  • To the adventurous students for the nice work done (and congrats on your diploma!)

How to help
  • Spread the idea to universities near to you
  • Try to set it up in other universities
    • Feel free to ask for advice or information!
    • If needed I can also discuss with your professor/staff, etc.

It seems no one really noticed, but the buzz rankings of the statistics section of each Digest have been frozen for the last several months (until I was able to move the processing to a different machine). This week I finally had time to do it, and i'm very slightly surprised at the rankings - I must find the secret of Tobias Hunger's power (or adjust the algorithm for "realism")! Also added are the "pillars of KDE 4", such as Plasma and Solid - as you might have guessed, Amarok has finally been dethroned at the top of the "programs" table! See the complete rankings here.

Not too long ago, someone wrote a comment saying that the best way to earn money in Open Source is through donations. I chuckled to myself: since i've had my little, unobtrusive "Make a Donation" button on the left of every Digest page (it's been months), i've received a total of 3 donations. Part of the reason for this is surely that I have never actively promoted it, and that is because I don't do the Digest for monetary gain - and this will continue to be the case for as long as I produce the Digest. However, this week i'm going to do a little experiment!

The laptop I use (my only computer) to produce the Digest is now 4 years old, and it's starting to show its age. This week i'm having a donation drive - I call it "lets-get-dannya-a-new-laptop", and for those with extra money they just don't know what to do with, the solution is right here:
I go into this with no expectations: I already have most of the money towards this goal. And this is really for people with disposable income and who are not already significant contributors to KDE - KDE contributors are already honourary contributors to an even more important goal. For those who can't/don't want to donate, there are other ways to show your appreciation - maybe leave a comment at the Dot, or email me.

Or do all three. Or do neither. Whatever you do, continue enjoying the Digest each week, just as I enjoy bringing it to you!


Statistics
Commits: 2890 by 233 developers, 6667 lines modified, 2241 new files.
Open Bugs: 15224
Open Wishes: 13354
Bugs Opened: 294 in the last 7 days.
Bugs Closed: 303 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
925
/trunk/l10n-kde4
912
/branches/work
214
/trunk/extragear
174
/trunk/playground
145
/trunk/koffice
126
/trunk/www
75
/trunk/l10n-kde3
70
/branches/stable
62
/branches/extragear
58
Lines Developer Commits
187
Erdal Ronahi
150
109
Marcell Lengyel
109
189
Pino Toscano
85
159
Laurent Montel
75
58
Kevin Patrick Scannell
58
144
David Faure
55
53
Marc Mutz
53
99
Andreas Pakulat
51
51
Danny Allen
51
130
Albert Astals Cid
46

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
99.95%
Greek
99.94%
Swedish
99.91%
Japanese
95.03%
German
90.13%
Estonian
89.56%
Spanish
87.66%
Chinese Traditional
85.87%
Polish
85.30%
Low Saxon
84.90%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Leonardo Finetti
39
Luboš Luňák
29
Jason Stubbs
27
Thomas McGuire
26
George Goldberg
25
Aaron J. Seigo
20
Pino Toscano
18
Greg Martyn
13
Tommi Tervo
12
Thomas Friedrichsmeier
10

Program Buzz
Plasma
  10721
Amarok
  7260
K3B
  4110
KMail
  3940
Kopete
  3785
Kate
  3075
Solid
  2527
KDevelop
  2335
SuperKaramba
  2030
Kicker
  1992


Person Buzz
Tobias Hunger
  2800
David Faure
  2440
Allen Winter
  2430
Stephan Kulow
  2185
Stephan Binner
  1309
Adriaan de Groot
  1250
Laurent Montel
  1212
Jonathan Riddell
  1015
Aaron Seigo
  756
Thiago Macieira
  752
Commit Countries

Commit Demographics
Sex
84.0 %       Male
10.8 %       (unknown)
3.87 %       Female
Motivation
47.1 %       (unknown)
39.6 %       Volunteer
11.9 %       Commercial
 
Ages
62.1 %       (unknown)
16.9 %       25 to 34
12.7 %       18 to 24
3.36 %       35 to 44
2.51 %       45 to 54
1.00 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*] [*]
Educational [*] [*]
Graphics [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*]
Office [*] [*] [*]
Konqueror
Multimedia [*] [*] [*]
Networking Tools [*] [*] [*]
User Interface [*]
Utilities [*] [*]
Games
Other [*]


Bug Fixes
Educational
Jason Harris committed a change to /trunk/KDE/kdeedu/kstars/kstars/kstarsdata.cpp:
Fixing Bug 94895:
The KDE4 codebase is much more efficient in the way it determines whether objects are onscreen, so we can now update the sky more often without stressing the CPU too much.
Bug 94895: Resolution of object's size is bad
Diff Revision 751536

KDE-Base
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
fixes for the terminal panel:
* assure that the correct directory is entered when reopening the terminal
* let the terminal be focused also when reopening it
Bug 153785: terminal doesnt start in current directory
Bug 153756: terminal doesnt always start focused
Diffs: 1, 2 Revision 749039

Thomas Zander committed changes in