Coming of Age:
The Positive Legacy of FOSS
            GIS
   Peter Löwe, GeoForschungsZentrum-Potsdam
             ploewe@gfz-potsdam.de
Introduction
•   Legacy is in the eye of the beholder
•   A real legacy project: GRASS GIS
•   Code Evolution and Legacy
•   Legacy Code and Legacy Tools
•   Arguing for Integrated Development Tools
•   Conclusion
The meaning of Legacy                             [Wikipedia]




• „Legacy code is source code that relates to a no-
  longer supported or manufactured operating system
  or other computer technology“                 „Forgotte
                                                         n Lore
                                                        CP/M, Be        “:
                                                                   OS etc.

• “Old application programs are considered “legacy”
  which continue to be used because the user does
  not want to replace or redesign them.”         „Never ch
                                                 work
                                                          ange
                                                              ing code“
                                                         we don‘t        –
                                                                  why it
                                                         works…
• “Legacy software often differs from its suggested
  alternative by actually working and scaling, making
  the term not pejorative at all.”              „It does th
                                                           e job“
FOSS GIS Legacy
Several FOSS GIS projects have been in
 existence for a very long time, giving them
 “legacy”:
  – UMN Mapserver
  – GRASS GIS,

  – both are community-controlled projects.




                  GRASS User Map
The „Code Legacy“ of GRASS:
            Alive and Kicking
•   The GRASS GIS project has been              Lines of Code
    evolving for more than twenty
    years.
•   Development was started by the
    US Army (CERL). It was halted in
    the early 1990s: The sources were
    handed over to academia.
•   Development was rekindled in the
    mid-1990s by researchers and
    students.
•   The licensing under the General      2000             2008
    Public Licence (GPL) in 1999
    resulted in a dramatic increase of
    development.
•   GRASS GIS is now maintained by
    an international developer
    community.
•   In 2008 it became a OSGEO
    project.
„Dwarfs standing on the
          shoulders of giants“
                  [nanos gigantum humeris insidentes]



                                                 Lines of Code
• Analogy for Free                                                          We are here now

  Open Source Code
  Development.                                                                      „Other
• „Current code is                                                                 Dwarfs“
  based on previous
                                                                       (previous work &
  work“                                                                         legacy)
• „dwarfs standing on
  lots of other dwarfs“
    The metaphor was first recorded in the twelfth century and attributed to Bernard of
    Chartres, [Wikipedia]                          (Later: Sir I.Newton, R. Stallman)
„Life is a Beach, Coding is a Reef“
                                                        Actively growing reef margin: The
 Slow growing leeward                                    cutting edge of development
    margin: Code
    maintenance


Small patch reefs:
  Scripts, etc                                                         Reef-front talus, broken by
                                                                       storm waves: Abandoned
                        Re                                                        code

                          ef
      Reef Limestone … The                     „L
            code base                            eg
                                                    ac
                                                       y“



                        Source; Siever,Press: Earth,
                        1995
Stage 1: Technology breakthrough
                      • „The volcano
                        erupts !“
Side-View             • Computation
                        power becomes
                        affordable
                      • US Army
                        invests in the
                        development
                      • First developer
Top-View
                        community
Stage 2: Community growth
                       • CERL stops active
Side-View                development
                       • Code released as
                         public domain
                       • Universities take
                         over (Waco,
                         Hannover)
                       • New developer
                         community forms.
Top-View
Stage 3: Towards a Licence
                         •   Developer
Side-View                    community
                             updates and
                             replaces CERL
                             code base.
                         •   1999: General
                             Public Licence
                             (GPL)


Top-View
Stage 4: Now
Side-View              •   1999 - 2008
                       •   GRASS is certified
                           as FOSS by
                           OSGEO
                       •   Full acknowledged
                           project beyond the
                           incubation phase


Top-View
Reef Fauna


Quantum GIS is a FOSS GIS based on
Python and QT.
It provides GRASS functionality via a
plug-in.


JGRASS complements the uDig
Project (java-based, vector-centric)
with raster-processing capabilities
based on GRASS GIS.
Possible Fate: Decline
 If the reef organisms (developers) can‘t
    keep up with the rising water level (user
    demands, state of the art), the reef will
    submerge and the project will fossilize.

                                El Capitain (Permian Reef), Texas Source: Wikipedia

Top-View            Side-View
Another option: Diversification
„The reef starts to extend outside its primary niche.“
In 2007 a native GRASS version for WindowsXP became late alpha.


Challenge: will the corals thrive in the new environment…?



                                                     Linux,
                                                       C



                                                           XP ?
                                                          Java ?
Coding / Recoding
•   Serial Code Development: A small group of constant contributors volunteerly adds
    new features and updates old ones (300 modules + 80+ add-on scripts).


•   The majority of the developer community is highly fluent in the code structure and
    uses text based tools for development such as vi or Emacs. For newcomers, this
    situation results in a steep learning curve. Besides, the constant overall
    development of libraries forces contributors of add-on C-modules to adapt their
    code.



                                                                  Linux,
                                                                    C



                                            Reef-front talus,
                                                                         XP ?
                                            broken by storm             Java ?
                                                waves:
                                           Abandoned code
Legacy code vs.
legacy build-tools
                        (http://www-128.ibm.com/developerworks/aix/library/au-unix-eclipse/
                                                                    Visited June 9th 2008)

• Until now, GRASS development tools were
  command-line based (vi, make).
• Integrated Development Environments (IDE)
  gives the advantages of a graphical interface,
  editors that support syntax highlighting, code
  completion, and a common platform for
  development.
• Using the Ant build system to adapt an existing
  makefile or configure script to life in an IDE.
Arguing the case for extended DIE
                  usage
•   During the last years Integrated Development Environments (IDEs) became
    widely available for code development.
•   Many younger programmers consider the availability of IDEs as given.
    Therefore it makes sense to foster the know-how regarding GRASS-
    development with IDEs, such as Eclipse/CDT

•   The decision of the GRASS GIS community to stick to C-code in the spirit of
    positive-legacy allowed for successful deployment of a native version for
    Microsoft Windows.

•   Since IDEs such as Eclipse are platform independent, this also allows for
    active code development on non-Linux systems, such as Microsoft
    Windows™.

•   In regard to the “dark side of legacy” such as retiring of the current pre-IDE
    developers and the resulting loss in know how and skill, it is even more
    important to enable IDE-based development to help document the code &
    build-process while there is time.
IDE-Examples
Conclusion: Taking
       pride in legacy
•                                                                              Linux,
    Code Legacy is a valuable asset for community-driven software
                                                                                 C
    development with limited resources.

•   While ensuring code functionality by the careful maintenance of existing             XP
    code, the approach eventually incorporates “cutting edge“ technologies
    once they themselves have stood the test of time (like IDE).                        Java

•   The usage of IDEs is expected to extend and rejunevate the developer
    community by offering alternatives to “tricky” build processes.

•   It will speed up the development process and enables the active
    development on non-linux stystems.

•   The positive, stabilizing effects of trusted legacy software which “just
    works well” and can be continued to be developed on various platforms.
Have a nice day

More Related Content

PDF
The Evolution of Disaster Early Warning Systems in the TRIDEC Project
PPT
Mapping the Tohoku 2011 Tsunami event with a remote sensing satellite constel...
PDF
3D Printing: GIS Day 2013 Work in Progress Report
PDF
FOSSGIS 2012: RapidEye Satellitenbildkarten und GRASS GIS: Neue Optionen der ...
PPT
EGU General Assembly 2013: The new g.infer add-on for GRASS GIS
PDF
First public screening of the high resolution version of the GRASS GIS video...
PPTX
EGU 2013: Splinter Meeting: Free and Open Source Software (FOSS) in the Geosc...
PDF
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
The Evolution of Disaster Early Warning Systems in the TRIDEC Project
Mapping the Tohoku 2011 Tsunami event with a remote sensing satellite constel...
3D Printing: GIS Day 2013 Work in Progress Report
FOSSGIS 2012: RapidEye Satellitenbildkarten und GRASS GIS: Neue Optionen der ...
EGU General Assembly 2013: The new g.infer add-on for GRASS GIS
First public screening of the high resolution version of the GRASS GIS video...
EGU 2013: Splinter Meeting: Free and Open Source Software (FOSS) in the Geosc...
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...

Viewers also liked (16)

ODP
EGU 2012 ESSI: The FOSS GIS Workbench on the GFZ Load Sharing Facility compu...
PDF
Unlocking conference videos by DOI/MFID for software project communities
PDF
Advanced KML with GRASS GIS
PDF
Data Science: History repeated? – The heritage of the Free and Open Source GI...
PDF
GRASS GIS lightening talk at FOSS4G 2006
PDF
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
PDF
Scientific 3D Printing with GRASS GIS (FOSSGIS 2014)
PPT
The Evolution of Disaster Early Warning Systems in the TRIDEC Project
PDF
GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...
PDF
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
PDF
Visualisierung Raum-Zeit Würfel
PDF
TIB's action for research data managament as a national library's strategy in...
PDF
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
PDF
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
PDF
GIS Day 2015: Geoinformatics, Open Source and Videos - a library perspective
PDF
Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...
EGU 2012 ESSI: The FOSS GIS Workbench on the GFZ Load Sharing Facility compu...
Unlocking conference videos by DOI/MFID for software project communities
Advanced KML with GRASS GIS
Data Science: History repeated? – The heritage of the Free and Open Source GI...
GRASS GIS lightening talk at FOSS4G 2006
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Scientific 3D Printing with GRASS GIS (FOSSGIS 2014)
The Evolution of Disaster Early Warning Systems in the TRIDEC Project
GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
Visualisierung Raum-Zeit Würfel
TIB's action for research data managament as a national library's strategy in...
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
GIS Day 2015: Geoinformatics, Open Source and Videos - a library perspective
Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...
Ad

Similar to Coming of Age: The positive legacy of FOSS GIS (20)

PDF
CPSeis & GeoCraft
PDF
FOS Desktop GIS notes
PDF
Open GeoSocial API
PDF
Open Source (ILS) and RFID Update
KEY
Perspectives on Open
PDF
14_Ed_Symp_Open_Source
PPT
Open Source Software for Entertainment
PDF
Software Lifecycle Management in Asemantics
PDF
Open source caqdas what is in the box and what is missing
PDF
Open Souce Ver5
PDF
SIGAda 2011 AdaLabs presentation slides : How make Ada go viral
ODP
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
PPTX
Virtual Appliances, Cloud Computing, and Reproducible Research
PDF
FOSS in Civil Engineering
PDF
Agile Seaside
PDF
Seaside — Agile Software Development
PDF
FOSS, history and philosophy
PDF
Open.source.innovation.20070624
PPTX
Gis - open source potentials
PDF
Lesson1 esa summer_school_brovelli
CPSeis & GeoCraft
FOS Desktop GIS notes
Open GeoSocial API
Open Source (ILS) and RFID Update
Perspectives on Open
14_Ed_Symp_Open_Source
Open Source Software for Entertainment
Software Lifecycle Management in Asemantics
Open source caqdas what is in the box and what is missing
Open Souce Ver5
SIGAda 2011 AdaLabs presentation slides : How make Ada go viral
Scaling up globally: 30 years of FOSS4G development. Keynote at FOSS4G-CEE 20...
Virtual Appliances, Cloud Computing, and Reproducible Research
FOSS in Civil Engineering
Agile Seaside
Seaside — Agile Software Development
FOSS, history and philosophy
Open.source.innovation.20070624
Gis - open source potentials
Lesson1 esa summer_school_brovelli
Ad

More from Peter Löwe (13)

PPTX
EGU GA 2018 OSGeo Townhall
PPTX
EGU GA 2017 OSGeo Townhall
ODP
EGU GA 2014 OSGeo Townhall
PPTX
EGU 2013 Splinter Meeting: FOSS in the Geosciences
ODP
2012 egu foss_splinter_session
PDF
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
PPTX
Research Data Management for Econometrics
PDF
GIS DAY 2015: Guerilla globes
PDF
Potentiale und Chancen von Free Open Source Software (FOSS) GIS für die Forsc...
PPT
GIS: Eine Übersicht für Lehrkräfte
PPT
Mapping the Tohoku 2011 Tsunami event with a remote sensing satellite constel...
PDF
LINUX Tag 2008: 4D Data Visualisation and Quality Control
PDF
Geopark Bergstraße-Odenwald
EGU GA 2018 OSGeo Townhall
EGU GA 2017 OSGeo Townhall
EGU GA 2014 OSGeo Townhall
EGU 2013 Splinter Meeting: FOSS in the Geosciences
2012 egu foss_splinter_session
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
Research Data Management for Econometrics
GIS DAY 2015: Guerilla globes
Potentiale und Chancen von Free Open Source Software (FOSS) GIS für die Forsc...
GIS: Eine Übersicht für Lehrkräfte
Mapping the Tohoku 2011 Tsunami event with a remote sensing satellite constel...
LINUX Tag 2008: 4D Data Visualisation and Quality Control
Geopark Bergstraße-Odenwald

Recently uploaded (20)

PPTX
History, Philosophy and sociology of education (1).pptx
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
HVAC Specification 2024 according to central public works department
PPTX
Virtual and Augmented Reality in Current Scenario
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
PPTX
Introduction to pro and eukaryotes and differences.pptx
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PDF
International_Financial_Reporting_Standa.pdf
DOCX
Cambridge-Practice-Tests-for-IELTS-12.docx
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
PPTX
20th Century Theater, Methods, History.pptx
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
IGGE1 Understanding the Self1234567891011
History, Philosophy and sociology of education (1).pptx
Paper A Mock Exam 9_ Attempt review.pdf.
AI-driven educational solutions for real-life interventions in the Philippine...
HVAC Specification 2024 according to central public works department
Virtual and Augmented Reality in Current Scenario
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
Introduction to pro and eukaryotes and differences.pptx
TNA_Presentation-1-Final(SAVE)) (1).pptx
B.Sc. DS Unit 2 Software Engineering.pptx
Share_Module_2_Power_conflict_and_negotiation.pptx
International_Financial_Reporting_Standa.pdf
Cambridge-Practice-Tests-for-IELTS-12.docx
Chinmaya Tiranga quiz Grand Finale.pdf
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
20th Century Theater, Methods, History.pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
IGGE1 Understanding the Self1234567891011

Coming of Age: The positive legacy of FOSS GIS

  • 1. Coming of Age: The Positive Legacy of FOSS GIS Peter Löwe, GeoForschungsZentrum-Potsdam ploewe@gfz-potsdam.de
  • 2. Introduction • Legacy is in the eye of the beholder • A real legacy project: GRASS GIS • Code Evolution and Legacy • Legacy Code and Legacy Tools • Arguing for Integrated Development Tools • Conclusion
  • 3. The meaning of Legacy [Wikipedia] • „Legacy code is source code that relates to a no- longer supported or manufactured operating system or other computer technology“ „Forgotte n Lore CP/M, Be “: OS etc. • “Old application programs are considered “legacy” which continue to be used because the user does not want to replace or redesign them.” „Never ch work ange ing code“ we don‘t – why it works… • “Legacy software often differs from its suggested alternative by actually working and scaling, making the term not pejorative at all.” „It does th e job“
  • 4. FOSS GIS Legacy Several FOSS GIS projects have been in existence for a very long time, giving them “legacy”: – UMN Mapserver – GRASS GIS, – both are community-controlled projects. GRASS User Map
  • 5. The „Code Legacy“ of GRASS: Alive and Kicking • The GRASS GIS project has been Lines of Code evolving for more than twenty years. • Development was started by the US Army (CERL). It was halted in the early 1990s: The sources were handed over to academia. • Development was rekindled in the mid-1990s by researchers and students. • The licensing under the General 2000 2008 Public Licence (GPL) in 1999 resulted in a dramatic increase of development. • GRASS GIS is now maintained by an international developer community. • In 2008 it became a OSGEO project.
  • 6. „Dwarfs standing on the shoulders of giants“ [nanos gigantum humeris insidentes] Lines of Code • Analogy for Free We are here now Open Source Code Development. „Other • „Current code is Dwarfs“ based on previous (previous work & work“ legacy) • „dwarfs standing on lots of other dwarfs“ The metaphor was first recorded in the twelfth century and attributed to Bernard of Chartres, [Wikipedia] (Later: Sir I.Newton, R. Stallman)
  • 7. „Life is a Beach, Coding is a Reef“ Actively growing reef margin: The Slow growing leeward cutting edge of development margin: Code maintenance Small patch reefs: Scripts, etc Reef-front talus, broken by storm waves: Abandoned Re code ef Reef Limestone … The „L code base eg ac y“ Source; Siever,Press: Earth, 1995
  • 8. Stage 1: Technology breakthrough • „The volcano erupts !“ Side-View • Computation power becomes affordable • US Army invests in the development • First developer Top-View community
  • 9. Stage 2: Community growth • CERL stops active Side-View development • Code released as public domain • Universities take over (Waco, Hannover) • New developer community forms. Top-View
  • 10. Stage 3: Towards a Licence • Developer Side-View community updates and replaces CERL code base. • 1999: General Public Licence (GPL) Top-View
  • 11. Stage 4: Now Side-View • 1999 - 2008 • GRASS is certified as FOSS by OSGEO • Full acknowledged project beyond the incubation phase Top-View
  • 12. Reef Fauna Quantum GIS is a FOSS GIS based on Python and QT. It provides GRASS functionality via a plug-in. JGRASS complements the uDig Project (java-based, vector-centric) with raster-processing capabilities based on GRASS GIS.
  • 13. Possible Fate: Decline If the reef organisms (developers) can‘t keep up with the rising water level (user demands, state of the art), the reef will submerge and the project will fossilize. El Capitain (Permian Reef), Texas Source: Wikipedia Top-View Side-View
  • 14. Another option: Diversification „The reef starts to extend outside its primary niche.“ In 2007 a native GRASS version for WindowsXP became late alpha. Challenge: will the corals thrive in the new environment…? Linux, C XP ? Java ?
  • 15. Coding / Recoding • Serial Code Development: A small group of constant contributors volunteerly adds new features and updates old ones (300 modules + 80+ add-on scripts). • The majority of the developer community is highly fluent in the code structure and uses text based tools for development such as vi or Emacs. For newcomers, this situation results in a steep learning curve. Besides, the constant overall development of libraries forces contributors of add-on C-modules to adapt their code. Linux, C Reef-front talus, XP ? broken by storm Java ? waves: Abandoned code
  • 16. Legacy code vs. legacy build-tools (http://www-128.ibm.com/developerworks/aix/library/au-unix-eclipse/ Visited June 9th 2008) • Until now, GRASS development tools were command-line based (vi, make). • Integrated Development Environments (IDE) gives the advantages of a graphical interface, editors that support syntax highlighting, code completion, and a common platform for development. • Using the Ant build system to adapt an existing makefile or configure script to life in an IDE.
  • 17. Arguing the case for extended DIE usage • During the last years Integrated Development Environments (IDEs) became widely available for code development. • Many younger programmers consider the availability of IDEs as given. Therefore it makes sense to foster the know-how regarding GRASS- development with IDEs, such as Eclipse/CDT • The decision of the GRASS GIS community to stick to C-code in the spirit of positive-legacy allowed for successful deployment of a native version for Microsoft Windows. • Since IDEs such as Eclipse are platform independent, this also allows for active code development on non-Linux systems, such as Microsoft Windows™. • In regard to the “dark side of legacy” such as retiring of the current pre-IDE developers and the resulting loss in know how and skill, it is even more important to enable IDE-based development to help document the code & build-process while there is time.
  • 19. Conclusion: Taking pride in legacy • Linux, Code Legacy is a valuable asset for community-driven software C development with limited resources. • While ensuring code functionality by the careful maintenance of existing XP code, the approach eventually incorporates “cutting edge“ technologies once they themselves have stood the test of time (like IDE). Java • The usage of IDEs is expected to extend and rejunevate the developer community by offering alternatives to “tricky” build processes. • It will speed up the development process and enables the active development on non-linux stystems. • The positive, stabilizing effects of trusted legacy software which “just works well” and can be continued to be developed on various platforms.
  • 20. Have a nice day