SlideShare una empresa de Scribd logo
1 de 43
Community based software development: The GRASS GIS project Seminar at Department of Information and  Communication Technology University of Trento, 28 May 2008 M. Neteler neteler at cealp.it http://www.cealp.it  FEM-CEA (Trento), Italy
Seminar Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
Objectives of GRASS project ,[object Object],[object Object],[object Object],[object Object],[object Object],Import of  3D DXF objects
Desktop GIS: GRASS GIS Brief Introduction – Development and System Requirements ,[object Object],[object Object],[object Object],[object Object],GNU/Linux MacOSX MS-Windows iPAQ
Spatial Data Types Supported Spatial Data Types ,[object Object],[object Object],[object Object],[object Object],http://grass.osgeo.org Orthophoto Distances Vector TIN 3D Vector buildings Voxel
GRASS GIS QGIS Geodata viewer with GRASS toolbox,  GPS support, Printing Editor ... http://qgis.org
http://grass.osgeo.org/wiki/WxPython-based_GUI_for_GRASS GRASS GIS: New GUI – Python based
GRASS new features Flood simulation Trento 1966 Courtesy:  www.questotrentino.it Piazza Duomo
GRASS: Person walking distance 10 minutes S. Fontanari - www.mpasol.it
GRASS: Person walking distance 30 minutes S. Fontanari - www.mpasol.it
WebGIS: Integration of data sources GRASS in the Web Real-time monitoring of Earthquakes (provided in Web by USGS) with GRASS/PHP:  http://grass.itc.it/spearfish/php_grass_earthquakes.php
GRASS GIS Interoperability Data models and sources
[object Object],http://grass.itc.it 1989: civil Internet 1994: first WWW GRASS 1.0 GRASS 4.2.1/4.3 GRASS 5.0 GRASS 5.1/5.7 GPL'ed GRASS 4.2 Manual code management Automated code management (CVS) PD 1993 1998 1999 1997 University of Baylor 1998 University of Hannover 2001 ITC-irst GRASS 6.0 2001 2005 U.S. CERL (1984-1995) GRASS Development Team   (1997- today) 1984 GRASS 4.1 2000 GPL'ed GRASS Interagency Steering Commitee Open GIS  Open Geospatial   Consortium (OGC)  Consortium (OGC) 1990 1992 2004 Open GRASS   Foundation (OGF) 1994 1997
GRASS Source Code Statistics http://next.ohloh.net/projects/3666 GRASS 6 http://www.sitemeter.com/?a=stats&s=s24grassgis GRASS 6.2.0 release 31 Oct 2006 Visitors at  http://grass.itc.it
GRASS Mailing List Statistics: messages per day ( http://gmane.org  is a mailing list mirror) 600 per month
GRASS SLOC Analysis http://www.ohloh.net/projects/3666 Or do this analysis yourself - Download and run:  http://www.dwheeler.com/sloccount/ SLOC Totals grouped by progr. language: ( Status GRASS 16 April 2007) ansic: 473155 (84.30%) tcl: 44256 (7.88%) sh: 19821 (3.53%) python: 10517 (1.87%) cpp: 10142 (1.81%) perl: 1608 (0.29%) ... Total Physical Source Lines of Code (SLOC) = 561,286 Person-Years = 154.05 ... Total Estimated Cost to Develop = $ 20,810,621 (average salary = $56,286/year,   overhead = 2.40) Generated using David A. Wheeler's 'SLOCCount' Basic COCOMO model, but slightly different parameters http://en.wikipedia.org/wiki/COCOMO#Basic_COCOMO GRASS 6.3.cvs, 16 Apr 2007 GRASS 6.4.svn, 23 May 2008
GRASS Documentation Neteler/Mitasova  (2002/2004/2007) Kluwer/Springer  Boston, 420 S. www.grassbook.org GDF Hannover bR (2005) free document, GNU FDL www.gdf-hannover.de The Programmer's Manual is 'doxygen' based, i.e. it is auto-generated from the source code.
Outline Seminar ,[object Object],[object Object],[object Object],[object Object],[object Object]
The actors Free Open Source Software (FOSS) Community
Communication tools: Project Portal
Job automatization: Let the computer do it! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Communication tools: Wiki and Bugtracker Wish- and Bugtracker
Outline Seminar ,[object Object],[object Object],[object Object],[object Object],[object Object]
Changing source code: what happens? (1/2) tflag->description  = _( &quot;Print topology information only&quot; ); if (G_parser(argc,argv)) exit( EXIT_FAILURE ); /* open input vector */ if ((mapset = G_find_vector2 (in_opt->answer,  &quot;&quot; )) ==  NULL ) { G_fatal_error (_( &quot;Could not find input map <%s>&quot; ) , in_opt->answer); } Developer changes and enters:   cvs ci -m”i18N macro added” main.c SVN source code repository USA Code differences email is auto-generated and sent to “ grass-commit” mailing list USA Email notification triggers updated of GRASS Quality Assessment System Canada
Changing source code: what happens? (2/2) Clone detection is run as  well as other quality  measures, results sent out Email notification triggers updated of GRASS Quality Assessment System Canada USA Code quality email is sent  to “grass-qa” mailing list CIA open source monitor receives simplified QA message USA? CIA-IRC robot  feeds #grass  IRC channel  on freenode.net
GRASS Quality Assessment I GRASS Test Suite Project: Automated usage tests on  Linux and MS-Windows
Bug reports: Communication Flow (Percentages are estimated) 2. Developer    detects bug 60 % 20% 20% Other  developers New GRASS  release 3. New    feature SVN code Repository Release cycle 1. User sends bug report Bugtracker Mailing list 20% 80%
GRASS Quality Assessment II GRASS GIS Software Evolution Project: Software engineering
GRASS Quality Assessment II Improvement of source code base Ref.:  A feedback based quality assessment to support open source    software evolution: the GRASS case study    S. Bouktif, G. Antoniol, E. Merlo, and M. Neteler, ICSM 2006
Outline Seminar ,[object Object],[object Object],[object Object],[object Object],[object Object]
FOSS Software development structures Organizational structures of development teams Developers Head Power users Linux Kernel GRASS Development Team/ GRASS Project Steering Committee Decision level + - SVN write access patch/docs contribution Developers GRASS: No BDFL (Benevolent  Dictator For Life) http://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life http://producingoss.com/
GRASS Development Team: Structure & “Code habitats” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
GRASS Development Team: “Code habitats” Specialist example Intermediate example Generalist example (grey: various code  areas) http://web.soccerlab.polymtl.ca/grass-evolution/cvs-stat/overall/module_sizes_glynn.png
Conflicts in the community Decision making the hard way (1/3) New feature added...
Conflicts in the community Decision making the hard way (2/3) First reactions, but...
Conflicts in the community Decision making the hard way (3/3) (later the day an explanation was posted) An important developer opposes (this code section is “his” habitat)
Decision making ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[1]  http://lists.osgeo.org/pipermail/grass-dev ,[object Object],[object Object],[object Object]
Outline Seminar ,[object Object],[object Object],[object Object],[object Object],[object Object]
Code vetting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://incubator.apache.org/ http://www.osgeo.org/incubator
[object Object],Founded 4 th  February 2006, Chicago http://www.osgeo.org http://www.osgeo.org/content/news/news_archive/open_source_geospatial_foundation_initial_press_release.html.html GRASS GIS
Why does a developer contribute to Free Software? I will help others  (because)  they will help me Everyone is expert of only a limited area... ...ask the expert if you don't know! The driving force behind FOSS development  is  meritocracy . EGOISM SIURTLA
License of this document This work is licensed under a Creative Commons License. http://creativecommons.org/licenses/by-sa/2.5/deed.en “ Community based software development: The GRASS GIS project ”,    ©  2006, 2007, 2008  Markus Neteler, Italy   http://www.grassbook.org/neteler/teaching.html   [ OpenDocument file available upon request: neteler at cealp it ] License details: Attribution-ShareAlike 2.5 You are free: - to copy, distribute, display, and perform the work, - to make derivative works, - to make commercial use of the work, under the following conditions:  Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the    resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above.
Free Software Proprietary Software Total Cost of Ownership (TCO) Time B. Reiter 2004 after Wheeler 2004 Software operating costs (customer) Overhead due to training and rewrite of missing software

Más contenido relacionado

Similar a Community based software development: The GRASS GIS project

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening OverviewJody Garnett
 
Free open source gis
Free open source gisFree open source gis
Free open source gisAshok Peddi
 
Роман Родоманський, «Досвід побудови Contact Tracing рішення»
Роман Родоманський, «Досвід побудови Contact Tracing рішення»Роман Родоманський, «Досвід побудови Contact Tracing рішення»
Роман Родоманський, «Досвід побудови Contact Tracing рішення»Sigma Software
 
The path to an hybrid open source paradigm
The path to an hybrid open source paradigmThe path to an hybrid open source paradigm
The path to an hybrid open source paradigmJonathan Challener
 
SW_Documentation_GRASS
SW_Documentation_GRASSSW_Documentation_GRASS
SW_Documentation_GRASStutorialsruby
 
SW_Documentation_GRASS
SW_Documentation_GRASSSW_Documentation_GRASS
SW_Documentation_GRASStutorialsruby
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024Cloud Native NoVA
 
Open Source Geospatial Tools: Enabling Decision Makers
Open Source Geospatial Tools: Enabling Decision MakersOpen Source Geospatial Tools: Enabling Decision Makers
Open Source Geospatial Tools: Enabling Decision MakersEcotrust
 
Autodesk and Open Source
Autodesk and Open SourceAutodesk and Open Source
Autodesk and Open SourcePeter Rieks
 
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...Markus Neteler
 
Conversas 2.0@sapo.labs - "svn+code.ua"
Conversas 2.0@sapo.labs - "svn+code.ua"Conversas 2.0@sapo.labs - "svn+code.ua"
Conversas 2.0@sapo.labs - "svn+code.ua"Diogo Gomes
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 
DSM software tools
DSM software toolsDSM software tools
DSM software toolsFAO
 
Github:fi Presentation
Github:fi PresentationGithub:fi Presentation
Github:fi PresentationPTIHPA
 
Multilevel Audio Descriptors @WWW09 develtrack
Multilevel Audio Descriptors @WWW09 develtrackMultilevel Audio Descriptors @WWW09 develtrack
Multilevel Audio Descriptors @WWW09 develtrackXavier Amatriain
 

Similar a Community based software development: The GRASS GIS project (20)

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
Free open source gis
Free open source gisFree open source gis
Free open source gis
 
Роман Родоманський, «Досвід побудови Contact Tracing рішення»
Роман Родоманський, «Досвід побудови Contact Tracing рішення»Роман Родоманський, «Досвід побудови Contact Tracing рішення»
Роман Родоманський, «Досвід побудови Contact Tracing рішення»
 
Bcs Talk Notes
Bcs Talk NotesBcs Talk Notes
Bcs Talk Notes
 
Prasoon
PrasoonPrasoon
Prasoon
 
The path to an hybrid open source paradigm
The path to an hybrid open source paradigmThe path to an hybrid open source paradigm
The path to an hybrid open source paradigm
 
SW_Documentation_GRASS
SW_Documentation_GRASSSW_Documentation_GRASS
SW_Documentation_GRASS
 
SW_Documentation_GRASS
SW_Documentation_GRASSSW_Documentation_GRASS
SW_Documentation_GRASS
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
Open Source Geospatial Tools: Enabling Decision Makers
Open Source Geospatial Tools: Enabling Decision MakersOpen Source Geospatial Tools: Enabling Decision Makers
Open Source Geospatial Tools: Enabling Decision Makers
 
Geo moose project update brian fischer
Geo moose project update   brian fischerGeo moose project update   brian fischer
Geo moose project update brian fischer
 
Autodesk and Open Source
Autodesk and Open SourceAutodesk and Open Source
Autodesk and Open Source
 
Results of the FLOSSMetrics project
Results of the FLOSSMetrics projectResults of the FLOSSMetrics project
Results of the FLOSSMetrics project
 
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
 
Conversas 2.0@sapo.labs - "svn+code.ua"
Conversas 2.0@sapo.labs - "svn+code.ua"Conversas 2.0@sapo.labs - "svn+code.ua"
Conversas 2.0@sapo.labs - "svn+code.ua"
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 
DSM software tools
DSM software toolsDSM software tools
DSM software tools
 
Github:fi Presentation
Github:fi PresentationGithub:fi Presentation
Github:fi Presentation
 
Multilevel Audio Descriptors @WWW09 develtrack
Multilevel Audio Descriptors @WWW09 develtrackMultilevel Audio Descriptors @WWW09 develtrack
Multilevel Audio Descriptors @WWW09 develtrack
 

Más de Markus Neteler

OSGeo ireland keynote 2017 by Markus Neteler
OSGeo ireland keynote 2017 by Markus NetelerOSGeo ireland keynote 2017 by Markus Neteler
OSGeo ireland keynote 2017 by Markus NetelerMarkus Neteler
 
GRASS GIS 7 capabilities: a graphical overview
GRASS GIS 7 capabilities: a graphical overviewGRASS GIS 7 capabilities: a graphical overview
GRASS GIS 7 capabilities: a graphical overviewMarkus Neteler
 
Tracking emerging diseases from space: Geoinformatics for human health
Tracking emerging diseases from space: Geoinformatics for human healthTracking emerging diseases from space: Geoinformatics for human health
Tracking emerging diseases from space: Geoinformatics for human healthMarkus Neteler
 
Deriving environmental indicators from massive spatial time series using open...
Deriving environmental indicators from massive spatial time series using open...Deriving environmental indicators from massive spatial time series using open...
Deriving environmental indicators from massive spatial time series using open...Markus Neteler
 
Vom Laptop zum Großrechner: Neues in GRASS GIS 7
Vom Laptop zum Großrechner: Neues in GRASS GIS 7Vom Laptop zum Großrechner: Neues in GRASS GIS 7
Vom Laptop zum Großrechner: Neues in GRASS GIS 7Markus Neteler
 
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, Romania
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, RomaniaNews in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, Romania
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, RomaniaMarkus Neteler
 
GRASS GIS lightening talk at FOSS4G 2006
GRASS GIS lightening talk at FOSS4G 2006GRASS GIS lightening talk at FOSS4G 2006
GRASS GIS lightening talk at FOSS4G 2006Markus Neteler
 
From a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoFrom a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoMarkus Neteler
 
GRASS and OSGeo: a framework for archeology
GRASS and OSGeo: a framework for archeologyGRASS and OSGeo: a framework for archeology
GRASS and OSGeo: a framework for archeologyMarkus Neteler
 
The need of Interoperability in Office and GIS formats
The need of Interoperability in Office and GIS formatsThe need of Interoperability in Office and GIS formats
The need of Interoperability in Office and GIS formatsMarkus Neteler
 
The GRASS GIS software (with QGIS) - GIS Seminar
The GRASS GIS software (with QGIS) - GIS SeminarThe GRASS GIS software (with QGIS) - GIS Seminar
The GRASS GIS software (with QGIS) - GIS SeminarMarkus Neteler
 
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...Free GIS Software meets zoonotic diseases: From raw data to ecological indica...
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...Markus Neteler
 

Más de Markus Neteler (14)

OSGeo ireland keynote 2017 by Markus Neteler
OSGeo ireland keynote 2017 by Markus NetelerOSGeo ireland keynote 2017 by Markus Neteler
OSGeo ireland keynote 2017 by Markus Neteler
 
GRASS GIS 7 capabilities: a graphical overview
GRASS GIS 7 capabilities: a graphical overviewGRASS GIS 7 capabilities: a graphical overview
GRASS GIS 7 capabilities: a graphical overview
 
Tracking emerging diseases from space: Geoinformatics for human health
Tracking emerging diseases from space: Geoinformatics for human healthTracking emerging diseases from space: Geoinformatics for human health
Tracking emerging diseases from space: Geoinformatics for human health
 
Deriving environmental indicators from massive spatial time series using open...
Deriving environmental indicators from massive spatial time series using open...Deriving environmental indicators from massive spatial time series using open...
Deriving environmental indicators from massive spatial time series using open...
 
Vom Laptop zum Großrechner: Neues in GRASS GIS 7
Vom Laptop zum Großrechner: Neues in GRASS GIS 7Vom Laptop zum Großrechner: Neues in GRASS GIS 7
Vom Laptop zum Großrechner: Neues in GRASS GIS 7
 
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, Romania
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, RomaniaNews in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, Romania
News in GRASS GIS7. Plenary talk at FOSS4G-CEE 2013, Romania
 
GRASS GIS lightening talk at FOSS4G 2006
GRASS GIS lightening talk at FOSS4G 2006GRASS GIS lightening talk at FOSS4G 2006
GRASS GIS lightening talk at FOSS4G 2006
 
GRASS GIS e Sextante
GRASS GIS e SextanteGRASS GIS e Sextante
GRASS GIS e Sextante
 
25 Years of GRASS GIS
25 Years of GRASS GIS25 Years of GRASS GIS
25 Years of GRASS GIS
 
From a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoFrom a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeo
 
GRASS and OSGeo: a framework for archeology
GRASS and OSGeo: a framework for archeologyGRASS and OSGeo: a framework for archeology
GRASS and OSGeo: a framework for archeology
 
The need of Interoperability in Office and GIS formats
The need of Interoperability in Office and GIS formatsThe need of Interoperability in Office and GIS formats
The need of Interoperability in Office and GIS formats
 
The GRASS GIS software (with QGIS) - GIS Seminar
The GRASS GIS software (with QGIS) - GIS SeminarThe GRASS GIS software (with QGIS) - GIS Seminar
The GRASS GIS software (with QGIS) - GIS Seminar
 
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...Free GIS Software meets zoonotic diseases: From raw data to ecological indica...
Free GIS Software meets zoonotic diseases: From raw data to ecological indica...
 

Último

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Community based software development: The GRASS GIS project

  • 1. Community based software development: The GRASS GIS project Seminar at Department of Information and Communication Technology University of Trento, 28 May 2008 M. Neteler neteler at cealp.it http://www.cealp.it FEM-CEA (Trento), Italy
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. GRASS GIS QGIS Geodata viewer with GRASS toolbox, GPS support, Printing Editor ... http://qgis.org
  • 8. GRASS new features Flood simulation Trento 1966 Courtesy: www.questotrentino.it Piazza Duomo
  • 9. GRASS: Person walking distance 10 minutes S. Fontanari - www.mpasol.it
  • 10. GRASS: Person walking distance 30 minutes S. Fontanari - www.mpasol.it
  • 11. WebGIS: Integration of data sources GRASS in the Web Real-time monitoring of Earthquakes (provided in Web by USGS) with GRASS/PHP: http://grass.itc.it/spearfish/php_grass_earthquakes.php
  • 12. GRASS GIS Interoperability Data models and sources
  • 13.
  • 14. GRASS Source Code Statistics http://next.ohloh.net/projects/3666 GRASS 6 http://www.sitemeter.com/?a=stats&s=s24grassgis GRASS 6.2.0 release 31 Oct 2006 Visitors at http://grass.itc.it
  • 15. GRASS Mailing List Statistics: messages per day ( http://gmane.org is a mailing list mirror) 600 per month
  • 16. GRASS SLOC Analysis http://www.ohloh.net/projects/3666 Or do this analysis yourself - Download and run: http://www.dwheeler.com/sloccount/ SLOC Totals grouped by progr. language: ( Status GRASS 16 April 2007) ansic: 473155 (84.30%) tcl: 44256 (7.88%) sh: 19821 (3.53%) python: 10517 (1.87%) cpp: 10142 (1.81%) perl: 1608 (0.29%) ... Total Physical Source Lines of Code (SLOC) = 561,286 Person-Years = 154.05 ... Total Estimated Cost to Develop = $ 20,810,621 (average salary = $56,286/year, overhead = 2.40) Generated using David A. Wheeler's 'SLOCCount' Basic COCOMO model, but slightly different parameters http://en.wikipedia.org/wiki/COCOMO#Basic_COCOMO GRASS 6.3.cvs, 16 Apr 2007 GRASS 6.4.svn, 23 May 2008
  • 17. GRASS Documentation Neteler/Mitasova (2002/2004/2007) Kluwer/Springer Boston, 420 S. www.grassbook.org GDF Hannover bR (2005) free document, GNU FDL www.gdf-hannover.de The Programmer's Manual is 'doxygen' based, i.e. it is auto-generated from the source code.
  • 18.
  • 19. The actors Free Open Source Software (FOSS) Community
  • 21.
  • 22. Communication tools: Wiki and Bugtracker Wish- and Bugtracker
  • 23.
  • 24. Changing source code: what happens? (1/2) tflag->description = _( &quot;Print topology information only&quot; ); if (G_parser(argc,argv)) exit( EXIT_FAILURE ); /* open input vector */ if ((mapset = G_find_vector2 (in_opt->answer, &quot;&quot; )) == NULL ) { G_fatal_error (_( &quot;Could not find input map <%s>&quot; ) , in_opt->answer); } Developer changes and enters: cvs ci -m”i18N macro added” main.c SVN source code repository USA Code differences email is auto-generated and sent to “ grass-commit” mailing list USA Email notification triggers updated of GRASS Quality Assessment System Canada
  • 25. Changing source code: what happens? (2/2) Clone detection is run as well as other quality measures, results sent out Email notification triggers updated of GRASS Quality Assessment System Canada USA Code quality email is sent to “grass-qa” mailing list CIA open source monitor receives simplified QA message USA? CIA-IRC robot feeds #grass IRC channel on freenode.net
  • 26. GRASS Quality Assessment I GRASS Test Suite Project: Automated usage tests on Linux and MS-Windows
  • 27. Bug reports: Communication Flow (Percentages are estimated) 2. Developer detects bug 60 % 20% 20% Other developers New GRASS release 3. New feature SVN code Repository Release cycle 1. User sends bug report Bugtracker Mailing list 20% 80%
  • 28. GRASS Quality Assessment II GRASS GIS Software Evolution Project: Software engineering
  • 29. GRASS Quality Assessment II Improvement of source code base Ref.: A feedback based quality assessment to support open source software evolution: the GRASS case study S. Bouktif, G. Antoniol, E. Merlo, and M. Neteler, ICSM 2006
  • 30.
  • 31. FOSS Software development structures Organizational structures of development teams Developers Head Power users Linux Kernel GRASS Development Team/ GRASS Project Steering Committee Decision level + - SVN write access patch/docs contribution Developers GRASS: No BDFL (Benevolent Dictator For Life) http://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life http://producingoss.com/
  • 32.
  • 33. GRASS Development Team: “Code habitats” Specialist example Intermediate example Generalist example (grey: various code areas) http://web.soccerlab.polymtl.ca/grass-evolution/cvs-stat/overall/module_sizes_glynn.png
  • 34. Conflicts in the community Decision making the hard way (1/3) New feature added...
  • 35. Conflicts in the community Decision making the hard way (2/3) First reactions, but...
  • 36. Conflicts in the community Decision making the hard way (3/3) (later the day an explanation was posted) An important developer opposes (this code section is “his” habitat)
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. Why does a developer contribute to Free Software? I will help others (because) they will help me Everyone is expert of only a limited area... ...ask the expert if you don't know! The driving force behind FOSS development is meritocracy . EGOISM SIURTLA
  • 42. License of this document This work is licensed under a Creative Commons License. http://creativecommons.org/licenses/by-sa/2.5/deed.en “ Community based software development: The GRASS GIS project ”, © 2006, 2007, 2008 Markus Neteler, Italy http://www.grassbook.org/neteler/teaching.html [ OpenDocument file available upon request: neteler at cealp it ] License details: Attribution-ShareAlike 2.5 You are free: - to copy, distribute, display, and perform the work, - to make derivative works, - to make commercial use of the work, under the following conditions: Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above.
  • 43. Free Software Proprietary Software Total Cost of Ownership (TCO) Time B. Reiter 2004 after Wheeler 2004 Software operating costs (customer) Overhead due to training and rewrite of missing software