26
Finding and choosing (and using) the right (free) software is free software any good? Gareth Rees Scott Polar Research Institute University of Cambridge 1

Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Finding and choosing (and using) the right (free) software

is free software any good?

Gareth Rees Scott Polar Research Institute

University of Cambridge

1

Page 2: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

What do I need software to do?

• Usual stuff − Preparing and editing text documents,

presentations etc. − Communicating with the outside world

• Specialist stuff − Quantitative image processing − Manipulating geospatial data − Crunching numbers

2

Page 3: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Why does the choice of software matter?

• Functionality − Can you do everything you need to do? − Can you remember how to do it?

• Reproducibility − Can you perform the same tasks on another

computer, in another location (without licence)?

• Transferability − Can you give the output to someone else in a

form they can use? 3

Page 4: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Factors favouring high functionality

• Large programs/suites of programs • Extensive development • Stability • ...but usually at a cost • and the more complicated it is, the less likely

you are to remember how to use it

4

Page 5: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Factors favouring reproducibility & transferability

• Low (preferably zero) cost • Support for multiple platforms • Fewer demands on computer hardware • Open file formats • Simple to learn

5

Page 6: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

The Cathedral and the Bazaar

• Traditional software development is like building a cathedral: 'carefully crafted by individual wizards or small bands of mages working in splendid isolation'

• Open source development is like 'a great babbling bazaar of different agendas and approaches'

− Insight courtesy of Eric S Raymond, and Wikipedia.

6

Page 7: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Public domain and Open Source

• Free software, public-domain software and open source software are not the same thing

• Raymond's characterisation of the different development models is too simple, and probably becoming less true anyway

• But Public/OS software tends to embody the reproducibility/transferability criteria for a variety of reasons

• The concern is with functionality7

Page 8: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Evolution of public/OS software

GNU Octave - v1.0 17.2.1994 - ≈ reproduces functionality of MATLAB

8

Page 9: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

What do I use?

• GNU Octave • ImageJ • Multispec • QGIS • and...

− OpenOffice instead of Microsoft Office − GIMP instead of Adobe Photoshop − ... − ... 9

Page 10: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

GNU Octave

• Interpreted programming language • OS with large user community and frequent

updates; many contributed packages • Unix-like platforms (e.g. Linux, MacOS) &

Windows • Does what MATLAB does (good for matrices

and therefore for images) • Alternatives: R, Python, ...

10

Page 11: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

My experience with GNU Octave

• Easy to learn basics and plenty of online tutorials available

• Very powerful for optimised functions • Easy to use as a calculator • Can be awkward to program in some

circumstances (like all languages) • MATLAB compatibility is very valuable • Used for all examples in Physical Principles of

Remote Sensing, 3/e.11

Page 12: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Example applications

• Use global coastline data to find Arctic Pole of Inaccessibility

• Read all IPCC climate scenario models, grid them, interpolate to same grid interval, then extract statistics from them

• Read a DEM and calculate all points visible from a given location ('viewshed')

• Calculate Mie scattering and absorption coefficients of spherical particles

12

Page 13: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

ImageJ

• Quantitative image-processing • Multiplatform (uses Java) • Not OS but users can write and share Java

plugins and many do • Not geospatially aware • Alternatives?

13

Page 14: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

My experience with ImageJ

• Very easy to learn • Good teaching tool • Daunted by idea of writing plugins

14

Page 15: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Example applications

• Gridding LiDAR point cloud data • Converting Landsat TIR data to at-satellite

brightness temperature • Visualising surfaces by draping onto topography

15

Page 16: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

16

Page 17: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Multispec

• Multispectral image processing • Public domain but only one (very responsive)

developer • MacOS and Windows versions • Geospatially aware • Some very advanced features • Often used by me in conjunction with ImageJ • Alternatives?

17

Page 18: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

My experience with Multispec

• Easy to learn • Can often do more convincing image

classification in Multispec than using Erdas Imagine (and quicker)

• Good teaching tool • I use it a lot during fieldwork

18

Page 19: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Example applications

• Multispectral classification • Adding georeferencing data to images • Reprojecting images

19

Page 20: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

20

Page 21: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

QGIS (Quantum GIS)

• Open source GIS software • Windows, Linux and MacOS • Based on GRASS • Not a substitute for ARC* ... • … but I don't swear at it as often • Alternatives: Grass

21

Page 22: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

My experience with QGIS

• Installation was a bit fiddly (needs Unix 'magic spells')

• Initially frustrating on MacOS until I upgraded, now easy to keep up to date

• Development has been rapid – can do much more sophisticated things now than a few years ago.

• Least intuitive of the geospatial programs I use (but that's just me...)

22

Page 23: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Example applications

• Preparing maps for publication

23

Page 24: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

24

Page 25: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

Bad reasons for choosing software

• 'Industry standard' • Huge functionality (unless you need it)

25

Page 26: Finding and choosing (and using) the right (free) software€¦ · Finding and choosing (and using) the right ... • Free software, public-domain software and open source software

What we should ask ourselves when choosing software

• What is the simplest software that will achieve my goal (may change over time though)?

• What is the simplest output format that will hold everything I (or someone else) might need?

• How quickly could someone else learn to perform the same task?

• Do I want to contribute to its development?

26