GRASS mailing list community evolution

From GRASS-Wiki
Jump to: navigation, search

Watching how grass-dev develops (and grass-user is used)

DRAFT - work in progress - by A Giacomelli and M Neteler


During the 10th GRASS GFOSS User meeting in Cagliari, Italy, a summary of the activities of the Italian GFOSS community was presented. Together with basic indicators on the activity of the Italian community, some simple yet intriguing statistics, derived from an analysis of the main discussion mailing lists were shown. (DARE DUE esempi SU QUESTO).

In the typical brainstorming atmosphere which permits events such as software user meetings, we considered the idea of replicating the same analysis on two other mailing lists with a much longer history, namely the grass developer (grass-dev) and the grass user (grass-user) mailing lists.

The outcome of the analysis provides a unique insight on the dynamics of the user and developer communities, over an extremely long time span, from 1991 through 2008.

How source data was collected

The story of the creation of a seventeen-year long archive of communications deserves some description, as it is representative of the effort spent in maintaining a historical record of the communications within developers (and users) through various phases of the GRASS project.

SHORT STORY ABOUT LONG CONVERSATION (uh, could be better title)

Members of the US Corps of Engineers (US Army CERL) launched the grass-user and grass-dev "GRASShopper" mailing lists in December 1991 ("Opening Night" in grass-dev and grass-user). And the first user message came from Politecnico di Milano in Italy... Only the following year the comp.infosystems.gis Usenet group was born, followed with a GRASS mailing lists-Usenet interface in December 1992.

  • new mailing lists born in 1999 at University of Hannover
  • in 2001 lists migrated to Italy with MN and server migration
  • missing emails recovered from dejanews and merged into original lists mbox files (which MN received from US Army, don't remember precisely)
  • All email headers for many years had to be reconstructed since their format was broken.
  • complete archive restored and online (check date MN)
  • in 2007, lists migrated to OSGeo infrastructure

Analysis Methodology

The information extraction approach used leans on the KISS side: the core of the parsing is handled by a perl script, while the remaining post processing is carried out via standard queries and no-nonsense charting tools.

Time and space

The first core set of information extracted was the time zone reference of the messages, considering that time zone may be used to provide an approximate indication of longitude.

One of the drivers for our analysis was also to verify if/how the mailing lists provided an evidence of the shift of development activity from the initial US-based model to Europe, rather than providing a detailed spatial distribution of the developers or the users. This insured that simply considering the time zone reference would be an adequate proxy of location for the source of a given message.

For the grass-dev list, the results we obtained from a first pass with the scripts developed was able to parse correctly over 99% percent of the messages. It may be possible to obtain a greater completeness by refining the parsing algorithm to handle exceptions encountered in the process, but we considered the level of approximation obtained in the extraction of the time zone reference to be adequate for the quality objectives of our analysis.

For the grass-user mailing list, the number of messages with time zone not identified by the first pass of the parsing algorithm is higher (some 3%), but still considered satisfactory within the scope of the current analysis.

What do time and time zones tell

The charts (include numbers) show:

  • absolute number of message postings by time zone and year (Figures 1 and 4, respectively for GRASS-dev and GRASS-user)
  • the relative proportion of messages posted each year from a given time zone (Figures 2 and 5, respectively for GRASS-dev and GRASS-user)
  • the cumulated proportion of messages deriving from different time zones, calculated assuming 100% to be the e-mail traffic generated from the beginning of the mailing list records through 2008 (Figures 3 and 6, respectively for GRASS-dev and GRASS-user)
  • Figure 7: local time of posting on grass-dev: shows that most of the communication is done on business hours (and some in the evening)
(mettere qui vari spunti)

Number of messages by time zone
Relative proportion of messages per year
Cumulated percent of messages
grass-user: number of messages per time zone
grass-user: relative proportion of messages per time zone
grass-user: cumulated percentage of messages
grass-dev: local time of message posting by year

...and what about the contents ?

Another interesting analysis is represented by the text extraction of specific keywords from the message body. While it can be extremely intriguing to build dictionaries of words and expressions used within a mailing list, in the case of the GRASS lists, we decided to focus on GRASS commands. Matrices with the occurrence of GRASS commands by year were generated for both mailing lists. The clear limitation in this type of analysis is that the use of a term is not associated to context. Reference to a specific command may not indicate if this is associated to a coding problem, to issues in use, or to working examples. Another element which is neglected in the analysis is quotation: i.e. the occurrence of a term is counted as long as it appears in the body of a message. At the same time, we think that even a preliminary analysis does provide extremely interesting insight on the bulk of mailing list traffic.

The review of the entries reported by the parser (Figures xx and yy) (DOVE CI PORTA ?)

grass-dev: mentioning of commands by year
grass-user: occurrence in time of top20 most mentioned commands


Reference for details beyond the top 20 entries: worksheets 5 and 6 of ODS file


Already in early days GRASS developers were concerned about copyright issues and introduction of non-free code in GRASS. The GRASS FTP site was changed to a 24hs service in September 1992. We remember that there was no WWW at all in those days. First GRASS Linux binaries where announced in February 1994. A first European GRASS FTP mirror site appeared in January 1995. The first internet viruses were discussed in April 1995 and first spam reached the lists in October 1995 (most spam was later manually removed from the list archives by MN). With CERL winding down the development in 1996 due to a governmental decision, the traffic in the developers ist went down to a minimum. The GRASS project returned to real activity in 1997. A first attempt to get GRASS into Debian in March 1998. The new GRASS 4.2.1 package, the first release after 4.1 from CERL became available in January 1998. The license change to GPL was discussed in October 1999. GRASS 5 beta releases came out in October 1999. In 2006 a GRASS Wiki was started (originally TWIKI at, then in 2006 migrated to Mediawiki, eventually in 2008 to moved to OSGeo at The mailing lists were migrated in 2007 from ITC-irst, Trento/Italy, to OSGeo, USA.


And then..

  • ANNI 90: depression and renewal
  • Full steam with OSGeo... GRASS list in the top 10!


Consider watching the ML using (See: for an introduction to the project)