SlideShare a Scribd company logo
1 of 14
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Markus Neteler
Fondazione Edmund Mach, Trento, Italy
http://www.osgeo.org
SC24: Open Science goes Geo
Part II: Scientific Software
EGU 2015, Vienna
OSGeo: projects, incubation
and infrastructure
/******************************************************************************
* $Id: gdalwarper.cpp 27739 2014-09-25 18:49:52Z goatbar $
*
* Project: High Performance Image Reprojector
* Purpose: Implementation of high level convenience APIs for warper.
* Author: Frank Warmerdam, warmerdam@pobox.com
*
******************************************************************************
* Copyright (c) 2003, Frank Warmerdam <warmerdam@pobox.com>
* Copyright (c) 2008-2012, Even Rouault
* <even dot rouault at mines-paris dot org>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
#include "gdalwarper.h"
#include "cpl_string.h"
#include "cpl_minixml.h"
#include "ogr_api.h"
#include "gdal_priv.h"
CPL_CVSID("$Id: gdalwarper.cpp 27739 2014-09-25 18:49:52Z goatbar
/**********************************************************************
/* GDALReprojectImage() */
/**********************************************************************
/**
* Reproject image.
*
* This is a convenience function utilizing the GDALWarpOperation class
* reproject an image from a source to a destination. In particular, this
* function takes care of establishing the transformation function to
* implement the reprojection, and will default a variety of other
* warp options.
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Geodata processing at its best
Distance to the outlet
Cinema style
data visualization
Volume analysis
Big Geodata
crunching
Image
Segmentation
Web Services
LiDAR time series
analysis
Spatial
databases
Pre / post
desaster assessment
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Open Source Geospatial Foundation:
OSGeo projects and related
DMZDMZ
Disk Array
BrowserBrowser MobileMobile
OpenLayers
TileCache
gvSig Mobile
Data Products
OSM
DesktopDesktop
QuantumGIS uDig
Mapbender
gvSigGrass GIS gvSigJUMP kosmo
Enterprise ServicesEnterprise Services
Information
Application Server
GeoNetworkMapServer deegreeGeoServer PostGIS
ZOO WPS pyWPS
Source: OSGeo-live presentation
Docker
… just an
Incomplete
View...!
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
OSGeo as a platform for
Free and Open Source GIS projects
What does OSGeo offer here?
● Platform for collaborative software development
● Legal advice on intellectual property management
and software licenses
● Community building
● Produce software documentation
● Testing and bugfixing
● Education and Outreach
● Infrastructure: source code hosting and
installer packages
… all community driven!
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Changing source code: what happens? (1/2)
tflag->description = _("Print topology information only");
if (G_parser(argc,argv))
exit(EXIT_FAILURE);
/* open input vector */
if ((mapset = G_find_vector2(in_opt->answer, "")) == NULL) {
G_fatal_error(_("Could not find input map <%s>"), in_opt->answer);
}
Email with code changes (diff)
is auto-generated and sent to
“commit” mailing list
and/or IRCOnline
source
code
repository
(git, svn)
Email notification triggers
updated of Quality
Assessment System (e.g.
coverity scan)
Developer changes a file and submits to
the online repository:
svn ci -m“v.info: i18N macro added“ main.c
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Code quality assessment
Changing source code: what happens? (2/2)
“Differences” (changes) email
Discussion triggered
among developers
Improved source
code after review
IRC robot feeds at #grass, #gdal, #qgis
IRC channel on freenode.net
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Code vetting: stay clean!
How to become OSGeo project?
● Mentored Incubation phase:
● code vetting (IP), community health check
● Project sustainability
● Graduation (or not)
http://www.osgeo.org/incubator
Legal aspects
● License compliance
● Don't copy from books like “Numerical Receipes in C”
●
Ensure that 3rd
party contributions are clean
● Employers must agree that work time is spent on coding (if applies)
Transparency and peer review help to minimize the risk.
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Script part:
Parser part (for GUI autocreation and command line support):
Ease of coding:
Example of GRASS GIS 7 and Python API
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Examples for programmer's manuals
http://grass.osgeo.org/programming7/
Additionally:
● Wiki pages
● Dev mailing lists
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Funding model
Open source development is not gratis:
● Direct funding of developers through (scientific) projects
● Crowdfunding campaigns
● Company support
● Voluntary work
● Donations
https://www.openhub.net/p/grass_gis
(9/2014)
Example of cost analysis:
(2013)
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Scientific Documentation of algorithms
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
OSGeo software as a platform
for sustainable Open Science!
● Reproducibility: Open source is the natural habitat for science and
research – wealth of scientific publications are documenting the
algorithms
● Return of Investment:
Example GRASS GIS' r.mapcalc: available since 1985, continuously
developed, user can still run old scripts in latest GRASS GIS 7 without
much update hassle while using latest implementation
● Auto-documentation: command line (besides GUI) generates map and
command history – metadata preserved “forever”
● Reliability: Regression tests and quality control systems often
integrated in the software itself
● Longevity for Open Science: code integrated in Open Source software
“survives” even if original authors would not continue – 30 years of
development
What's on offer?
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Coding fun at international code sprints
©2015,MarkusNeteler,Italy–CC-BY-SAlicense
Markus Neteler, PhD
Fondazione E. Mach (FEM)
Research and Innovation Center
GIS and Remote Sensing Unit
38010 S. Michele all'Adige (Trento), Italy
http://gis.cri.fmach.it
http://www.osgeo.org
markus.neteler@fmach.it
neteler@osgeo.org
http://www.osgeo.org
Thanks!

More Related Content

What's hot

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
 
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...South Tyrol Free Software Conference
 
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
 
Wherecamp Berlin Introduction to RAW GNSS Measurements
Wherecamp Berlin Introduction to RAW GNSS MeasurementsWherecamp Berlin Introduction to RAW GNSS Measurements
Wherecamp Berlin Introduction to RAW GNSS MeasurementsThe European GNSS Agency (GSA)
 
Pseudoranges from your Android smartphone
Pseudoranges from your Android smartphonePseudoranges from your Android smartphone
Pseudoranges from your Android smartphoneLukasz Kosma Bonenberg
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlGiuseppe Masetti
 

What's hot (7)

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
 
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
 
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
 
Wherecamp Berlin Introduction to RAW GNSS Measurements
Wherecamp Berlin Introduction to RAW GNSS MeasurementsWherecamp Berlin Introduction to RAW GNSS Measurements
Wherecamp Berlin Introduction to RAW GNSS Measurements
 
Pseudoranges from your Android smartphone
Pseudoranges from your Android smartphonePseudoranges from your Android smartphone
Pseudoranges from your Android smartphone
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
 
RAW GNSS in Android Nugat
RAW GNSS in Android NugatRAW GNSS in Android Nugat
RAW GNSS in Android Nugat
 

Similar to OSGeo: projects, incubation and infrastructure

IOT SOLUTIONS FROM INTEL
IOT SOLUTIONS FROM INTELIOT SOLUTIONS FROM INTEL
IOT SOLUTIONS FROM INTELonebee kumar
 
IRJET- IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from AnywhereIRJET- IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from AnywhereIRJET Journal
 
IRJET- IOT Dune Buggy –Control it from Anywhere
IRJET-  	  IOT Dune Buggy –Control it from AnywhereIRJET-  	  IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from AnywhereIRJET Journal
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening OverviewJody Garnett
 
MLOps implemented - how we combine the cloud & open-source to boost data scie...
MLOps implemented - how we combine the cloud & open-source to boost data scie...MLOps implemented - how we combine the cloud & open-source to boost data scie...
MLOps implemented - how we combine the cloud & open-source to boost data scie...GetInData
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxIgalia
 
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICE
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICEMODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICE
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICEFIDE Master Tihomir Dovramadjiev PhD
 
Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2JooinK
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability TestBoris Adryan
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfWlamir Molinari
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrPhil www.rzr.online.fr
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016mfrancis
 
It's Not Continuous Delivery If You Can't Deploy Right Now
It's Not Continuous Delivery If You Can't Deploy Right NowIt's Not Continuous Delivery If You Can't Deploy Right Now
It's Not Continuous Delivery If You Can't Deploy Right NowKen Mugrage
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersOPNFV
 
FME 2020 Unleashed: Authoring
FME 2020 Unleashed: AuthoringFME 2020 Unleashed: Authoring
FME 2020 Unleashed: AuthoringSafe Software
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainŁukasz Piątkowski
 

Similar to OSGeo: projects, incubation and infrastructure (20)

Rina sim workshop
Rina sim workshopRina sim workshop
Rina sim workshop
 
IOT SOLUTIONS FROM INTEL
IOT SOLUTIONS FROM INTELIOT SOLUTIONS FROM INTEL
IOT SOLUTIONS FROM INTEL
 
IRJET- IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from AnywhereIRJET- IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from Anywhere
 
IRJET- IOT Dune Buggy –Control it from Anywhere
IRJET-  	  IOT Dune Buggy –Control it from AnywhereIRJET-  	  IOT Dune Buggy –Control it from Anywhere
IRJET- IOT Dune Buggy –Control it from Anywhere
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
MLOps implemented - how we combine the cloud & open-source to boost data scie...
MLOps implemented - how we combine the cloud & open-source to boost data scie...MLOps implemented - how we combine the cloud & open-source to boost data scie...
MLOps implemented - how we combine the cloud & open-source to boost data scie...
 
aframe-webthing-20190710
aframe-webthing-20190710aframe-webthing-20190710
aframe-webthing-20190710
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
 
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICE
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICEMODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICE
MODERN ACCESSIBLE APPLICATION OF THE SYSTEM BLENDER IN 3D DESIGN PRACTICE
 
Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability Test
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
It's Not Continuous Delivery If You Can't Deploy Right Now
It's Not Continuous Delivery If You Can't Deploy Right NowIt's Not Continuous Delivery If You Can't Deploy Right Now
It's Not Continuous Delivery If You Can't Deploy Right Now
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
FME 2020 Unleashed: Authoring
FME 2020 Unleashed: AuthoringFME 2020 Unleashed: Authoring
FME 2020 Unleashed: Authoring
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 

More from Markus 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
 
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
 
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
 

More from Markus Neteler (8)

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...
 
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
 
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
 
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...
 

Recently uploaded

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 

Recently uploaded (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 

OSGeo: projects, incubation and infrastructure

  • 1. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Markus Neteler Fondazione Edmund Mach, Trento, Italy http://www.osgeo.org SC24: Open Science goes Geo Part II: Scientific Software EGU 2015, Vienna OSGeo: projects, incubation and infrastructure /****************************************************************************** * $Id: gdalwarper.cpp 27739 2014-09-25 18:49:52Z goatbar $ * * Project: High Performance Image Reprojector * Purpose: Implementation of high level convenience APIs for warper. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2003, Frank Warmerdam <warmerdam@pobox.com> * Copyright (c) 2008-2012, Even Rouault * <even dot rouault at mines-paris dot org> * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: #include "gdalwarper.h" #include "cpl_string.h" #include "cpl_minixml.h" #include "ogr_api.h" #include "gdal_priv.h" CPL_CVSID("$Id: gdalwarper.cpp 27739 2014-09-25 18:49:52Z goatbar /********************************************************************** /* GDALReprojectImage() */ /********************************************************************** /** * Reproject image. * * This is a convenience function utilizing the GDALWarpOperation class * reproject an image from a source to a destination. In particular, this * function takes care of establishing the transformation function to * implement the reprojection, and will default a variety of other * warp options.
  • 2. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Geodata processing at its best Distance to the outlet Cinema style data visualization Volume analysis Big Geodata crunching Image Segmentation Web Services LiDAR time series analysis Spatial databases Pre / post desaster assessment
  • 3. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Open Source Geospatial Foundation: OSGeo projects and related DMZDMZ Disk Array BrowserBrowser MobileMobile OpenLayers TileCache gvSig Mobile Data Products OSM DesktopDesktop QuantumGIS uDig Mapbender gvSigGrass GIS gvSigJUMP kosmo Enterprise ServicesEnterprise Services Information Application Server GeoNetworkMapServer deegreeGeoServer PostGIS ZOO WPS pyWPS Source: OSGeo-live presentation Docker … just an Incomplete View...!
  • 4. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense OSGeo as a platform for Free and Open Source GIS projects What does OSGeo offer here? ● Platform for collaborative software development ● Legal advice on intellectual property management and software licenses ● Community building ● Produce software documentation ● Testing and bugfixing ● Education and Outreach ● Infrastructure: source code hosting and installer packages … all community driven!
  • 5. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Changing source code: what happens? (1/2) tflag->description = _("Print topology information only"); if (G_parser(argc,argv)) exit(EXIT_FAILURE); /* open input vector */ if ((mapset = G_find_vector2(in_opt->answer, "")) == NULL) { G_fatal_error(_("Could not find input map <%s>"), in_opt->answer); } Email with code changes (diff) is auto-generated and sent to “commit” mailing list and/or IRCOnline source code repository (git, svn) Email notification triggers updated of Quality Assessment System (e.g. coverity scan) Developer changes a file and submits to the online repository: svn ci -m“v.info: i18N macro added“ main.c
  • 6. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Code quality assessment Changing source code: what happens? (2/2) “Differences” (changes) email Discussion triggered among developers Improved source code after review IRC robot feeds at #grass, #gdal, #qgis IRC channel on freenode.net
  • 7. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Code vetting: stay clean! How to become OSGeo project? ● Mentored Incubation phase: ● code vetting (IP), community health check ● Project sustainability ● Graduation (or not) http://www.osgeo.org/incubator Legal aspects ● License compliance ● Don't copy from books like “Numerical Receipes in C” ● Ensure that 3rd party contributions are clean ● Employers must agree that work time is spent on coding (if applies) Transparency and peer review help to minimize the risk.
  • 8. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Script part: Parser part (for GUI autocreation and command line support): Ease of coding: Example of GRASS GIS 7 and Python API
  • 9. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Examples for programmer's manuals http://grass.osgeo.org/programming7/ Additionally: ● Wiki pages ● Dev mailing lists
  • 10. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Funding model Open source development is not gratis: ● Direct funding of developers through (scientific) projects ● Crowdfunding campaigns ● Company support ● Voluntary work ● Donations https://www.openhub.net/p/grass_gis (9/2014) Example of cost analysis: (2013)
  • 12. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense OSGeo software as a platform for sustainable Open Science! ● Reproducibility: Open source is the natural habitat for science and research – wealth of scientific publications are documenting the algorithms ● Return of Investment: Example GRASS GIS' r.mapcalc: available since 1985, continuously developed, user can still run old scripts in latest GRASS GIS 7 without much update hassle while using latest implementation ● Auto-documentation: command line (besides GUI) generates map and command history – metadata preserved “forever” ● Reliability: Regression tests and quality control systems often integrated in the software itself ● Longevity for Open Science: code integrated in Open Source software “survives” even if original authors would not continue – 30 years of development What's on offer?
  • 14. ©2015,MarkusNeteler,Italy–CC-BY-SAlicense Markus Neteler, PhD Fondazione E. Mach (FEM) Research and Innovation Center GIS and Remote Sensing Unit 38010 S. Michele all'Adige (Trento), Italy http://gis.cri.fmach.it http://www.osgeo.org markus.neteler@fmach.it neteler@osgeo.org http://www.osgeo.org Thanks!