Lecture1 FOSS - GeoTech Center

advertisement
Introduction to
Open Source GIS and Web Mapping
Kurt Menke, GISP
Textbooks
Will be provided to you digitally
Course Notes:
More a course on how to use OS GIS software than
learning new GIS concepts.
Exception: web mapping
You will also learn all about what it means to be free
and open source.
Course Outline
What is Open Source?
Desktop applications
 QGIS
 SpatiaLite
 GDAL/OGR
 GRASS GIS
Midterm
Web applications

Google…is it OpenSource?

Mapserver
Quiz
Cartoweb
Final Project: Research a FOSS GIS software and present your findings
Course Software
Available in the classroom and the CAD Lab
 Can install at home
 I can provide installation instructions

Course Grading
Labs
35%
Midterm
25%
Quiz
10%
Final Project
Readings/Attendance
20%
10%
Open Source Software (OSS)?
Free Software (FS)?
FOSS?
What does it all mean?
The differences are very subtle
Open source - focuses on the perceived strengths of its peer-to-peer
development model and providing source code
Free software - focuses on the philosophical freedoms it gives to users
Free and open source software - is an inclusive term which covers
both free software and open source software which, despite being
similar, have differing histories, cultures and philosophies.
Free Software (FS)
The free software movement was conceived in 1983 by Richard
Stallman to satisfy the need for and to give the benefit of "software
freedom" to computer users.
Stallman founded the Free Software Foundation in 1985 to provide the
organizational structure to advance his Free Software ideas.
CopyLeft - says that anyone who redistributes the software, with or
without changes, must pass along the freedom to further copy and
change it. CopyLeft guarantees that every user has freedom.
vs. Freeware
Freeware is software that is available at
not cost to the end user
What is Free Software?
“Free" is intended to refer to the freedom to copy and re-use the
software, rather than to the price of the software
Stallman…”think of free as in free speech, not as in free beer”
The Four Kinds of Freedom (for the users of the software)
1) The freedom to run the program, for any purpose.
* 2) The freedom to study how the program works, and adapt it to your
needs.
3) The freedom to redistribute copies so you can help your neighbor.
4) The freedom to improve the program, and release your
improvements to the public, so that the whole community
benefits.
* Requires access to the source code
Open Source Software (OSS)
Coined by Eric Raymond in 1998 who thought the
Term “Free” would be misunderstood.
The source code and certain other rights normally reserved for
copyright holders are provided under a software license that meets the
Open Source Definition or that is in the public domain.
This license permits users to use, change, and improve the software,
and to redistribute it in modified or unmodified forms.
It is very often developed in a public, collaborative manner.
OPEN SOURCE DEFINITION: Open Source Initiative
Free Redistribution
Anyone who receives the software legally can share all of it with anyone
he/she likes without additional payments.
Source Code
The source code of the software must be distributed as well, or be
available at reasonable reproduction cost.
Derived Works
The modification of the software and the distribution of this derived
work must be allowed.
Integrity of the Author's Source Code
The distribution of modified source code must be allowed although
restrictions to ensure the possibility to distinguish the original source
code from the derived work are tolerated, e.g. requirement of different
names.
OPEN SOURCE DEFINITION: Open Source Initiative
No Discrimination Against Persons or Groups
No Discrimination Against Fields of Endeavor
Distribution of License
``The rights attached to the program must apply to all to whom the
program is redistributed without the need for execution of an additional
license by those parties.''
License Must Not Be Specific to a Product
The rights given by the license must not be different for the original
distribution and any other one even when it takes place in a totally
different context.
License Must Not Contaminate Other Software
The license must not demand any condition on the software distributed
along with the licensed software, e.g. 'distribution only with other opensource software' is not allowed.
So….???
Open source software vs. free software
Open Source Software and Free Software are different terms for
software which comes with certain rights, or freedoms, for the user.
They describe two approaches and philosophies towards free software.
Open Source and Free Software (or software libre) both describe
software which is free from onerous licensing restrictions.
Some say:
Open Source is a practical software development methodology
Free Software is a social movement
Most Open Source software is “free” and most Free Software is open
source
Many now just use the term
FOSS = Free and Open Source Software
The term Open Source is much more prevalent in
popular culture than FOSS which is why I used it in
the name of this course.
Free and Open Source Software (FOSS)
&
Free/Libre and Open Source Software (FLOSS)
now commonly used to refer to both
Other Terms:
FreeWare – software available at no monetary cost. Not
Open Source.
Source Available/Shared Source - source is available for
viewing, but it may not legally be modified or redistributed.
Has been used by Microsoft.
Closed Source – Most commercial proprietary software.
Other Terms cont..
Open Standards – a loose term for a standard that is publicly available
and has various rights to use associated with it.
It may also include various properties of how it was designed (e.g. open
process).
Examples:
OGC (WMS, WFS, WCS), W3C, XML, HTML, CSS, PNG, ODF (open
document format)…
Protocols: IP (Internet protocol), TCP
Open Data – license for contributing to and distributing data
Example: Open StreetMap
http://www.openstreetmap.org/
Legal Concept - Licensing
All FOSS software packages are licensed.
The license contains the terms for how the software
can be used and distributed
FOSS licenses focus on giving users rights
FOSS License Examples:
GNU, GPL, BSD
Proprietary licenses focus on restricting use in specific
ways
Comparing Development Cycles
Proprietary
 Objective: maximize profits
 Planning & Development
 Beta testing
(May have to pay for privilege)
 These cycles are scheduled
based on a marketing plan
 Bugs may or may not be fixed
 Long-term maintenance
contracts appear more desirable
 Users need good reasons to
pay for upgrades…delayed fixes
 Stable release timed for major
events…conferences etc
 Vendors sell software
FOSS
 Objective: creating stable
software that solves a problem
 Less distinction between “end
user” and “developer”
 No vendors that divide
developers from
users…communication easier
 New fixes get out quickly
 If a good solution isn’t reached
the project dies
 As long as it’s useful it will go on
 It’s always possible for someone
new to come in and pick things
up…GRASS
Development Philosophy
Development Community
In the Open Source development community, any skilled
individual can contribute to projects in many ways.

writing code – development

testing features

writing user manuals

creating training materials
Management/Governance of FOSS Projects
Can be led by one individual – centralized
Can be led by a Steering Committee – democracy
May include:

Individuals – developers or users
Companies
 Organizations

FOSS vs. Proprietary
Is one better than the other?
To most of us the availability of source code isn’t the most important
factor. But the Freedom may be.
Beyond that Open Source software must be evaluated in the same
ways as proprietary software
Evaluations of FOSS software should ask:

Will the software meet your needs?

Is the project well documented?

How big is the user community?

How broad is the development community?

Is the software modular?
Software Examples: FOSS vs. Proprietary
FOSS
Proprietary
Operating Systems
Linux
Windows / Mac
Mobile Operating Systems
Android
iOS / RIM / Windows Mobile
Office Software
Open Office
Microsoft Office
Image Manipulation
GIMP
Adobe Photoshop
Drawing
Inkscape
Adobe Illustrator
Web Browsers
FireFox
Internet Explorer
Web Servers
Apache
IIS
Databases
mySQL
Oracle
PostgreSQL
SQL Server
Statistics
R
S
GIS Software: FOSS vs. Proprietary
FOSS
Proprietary
GeoSpatial Desktop
Quantum GIS
ArcGIS
MapWindow
MapInfo
gvSIG
Manifold GIS
GRASS GIS
IDRISI
uDig
Intergraph
Field GIS
BeeGIS / Geopaparazzi
ArcPAD
Remote Sensing
OSSIM
ERDAS
GRASS GIS
ENVI
Web Mapping
MapServer
ArcIMS
MapGuide
MapGuide
GeoServer
ArcGIS Server
Spatial Databases
SpatiaLite
ESRI File Geodatabase
PostGIS
ArcSDE
Software Version numbers
Major.minor.patch --> 1.4.2
3rd version digit: For small software patches
2nd version digit: Changes in functionality…at which
time the third version digit is set back to zero
1st version digit: Deep functional changes, new
paradigms, or broken backward compatibility
In Summary
Free Software: freedom to run, study, redistribute/share
and improve the software
Open Source Software: at it’s core describes a
development philosophy where the source code is made
available to end users.
FOSS: is both a legal concept & a development
philosophy
Lab 1 – Getting to Know Open Source for GIS
Reading Assignment # 1: Due next Tuesday
Chapter 2: OSASDH
Answer Study Questions
Download