Open
Source Software Communities
-Lessons Learnt
Imed Hammouda, adjunct professor
Alexander Lokhman, researcher
Tampere University of Technology
1
Open Source vs. Free Software
Free software (1983) is:
A philosophy
A social movement
FSF
“Stallmanism”
Open source (1998) is:
A business model
A development methodology
OSI
“Raymondism”
Both approaches
share a common vision
on access to source
code
Loads of ready-made systems available in the Internet for
various purposes in source form
2
Open Source – The Community
Volunteer developers
Non-profit organization
Sponsors
Commercial enterprises
Different
types
of communities (members)
Volunteer
• Ideology, freedom, sharing
Company-based
• Business, funded developers
Mixed
Different
types
of communities (organization)
Linux: Project centric
MySQL: Business centric
Onion Structure of FLOSS Communities
Linus
Lieutenants
Maintainers
Coders
Janitors
Testers
Readers
Passive user
Linux kernel
Project leader
Core member
Active developer
Peripheral developer
Bug fixer
Bug reporter
Reader
Passive user
Becoming a Contributor - Eclipse
New
committers
are voted in by the existing committers on a
project.
Based on
meritocracy
: Prove your abilities before you can
become a committer.
Building a good reputation with the existing committers
Demonstrating skills to the existing team
Asking a current project committer to sponsor you as a committer
Going through an election process, defined in each top-level
project's charter
Best way to start
contributing
to Eclipse:
Well-formed bug reports
Feature requests
Community Building: Dimensions
Community
Existing communities
Community spirit
Community support
Process
Patch handling
Governance model
Release management
Infrastructure
Version control
Bug tracking
Documentation
Software
Code standards
Best practices
Quality attributes
Marketing
Target communities
Marketing models
Viral marketing
Legality
Licensing type and scheme
Legal clearance
Community Building: Intended Community
Community
type
:
Company based
Volunteer
Mixed
Core
group:
Closed
Open
Structure
:
Independent community
Part of an existing community
Community Building: Stakeholders
Core
Open source communities &
developers
FAO and pilot countries
25.2.2011
Geo-related projects,
initiatives and foundations
OSGeo (osgeo.org)
gvSIG (gvsig.org)
GeoCommunity
(geocomm.com)
FOSSGIS e.V. (fossgis.de)
GeoNetwork
(geonetwork-opensource.org)
52 North (52north.org)
Quantum GIS Project
(qgis.org)
OpenJump (openjump.org)
Digital archiving and
document management
DSpace (dspace.org)
FEDORA
(fedora-commons.org)
Eprints (eprints.org)
Microsoft Zentity
(research.microsoft.com/en-us/projects/zentity)
Omeka (omeka.org)
Greenstone (greenstone.org)
Invenio (invenio-software.org)
DPSP (dpsp.sourceforge.net)
Related Open Source Communities
Geospatial components and
libraries
PostGIS (postgis.org)
GeoNode (geonode.org)
MapServer (mapserver.org)
OpenLayers (openlayers.org)
GeoTools (geotools.org)
GeoWebCache
(geowebcache.org)
GeoServer (geoserver.org)
FDO Data Access Technology
(fdo.osgeo.org)
Name
Type
Users
Projects
Resources
Supporters
Licensing
OSGeo osgeo.org Open Source Geospatial Foundation 350+ active members 90+ charter members GDAL/OGR, OSSIM, GeoTools, GRASS GIS, Mapbender, MapBuilder, MapGuide, Open SourceMapServerMailing lists, Wiki, IRC, Blogs
Autodesk, INPE, Ingres, 1Spatial, GeoCat, LizardTech, PCI Geomatics, IGN
MIT/X, BSD, GPL and LGPL GeoCommunity geocomm.com Company based Web portal 41000+ subscribers – Mailing lists, Discussion boards, Events and trade shows
SuperGeo, PennState, ITT, Geographic Technologies Group, MapText – FOSSGIS e.V. fossgis.de Volunteer based Association 60+ active members OpenStreetMap, FreeGIS, GISLive
Mailing lists, Wiki, IRC STRATO GNU GPL, CC-BY-SA OpenJump Project openjump.org Volunteer based Project – – Mailing lists,
Feature and bug trackers, Wiki, Forum lat/lon, SurveyOS Project, The SkyJUMP Team, Pirol, Intevation GmbH GPL 2 12 25.2.2011
Name
Description
How to Exploit
OSGeo
osgeo.org
• Created to support and build the highest-quality open source geospatial software.
• Goal is to encourage the use and collaborative development of community-led projects.
• Provides links to events, documentation, websites, and other information of interest to the open source web mapping community.
• List of existing and incubating Open Source geospatial projects
• Financial support
GeoCommunity
geocomm.com
• The place for the Geographic Information Systems (GIS), CAD, Mapping, and Location-Based industry professionals, enthusiasts, and students to gather.
• Offers a virtual marketplace for buyers, sellers, advertisers, students and government officials to exchange information.
• Promoting the new FLOSS project • Attracting community members
FOSSGIS e.V.
fossgis.de
• Promotion of Free Software and Free GIS spatial data in the German speaking.
• Promote education, exchange of views and cooperation between users, developers and researchers.
• Provision of free GIS software and data, and promote their availability.
• List of potential components and tools to use
OpenJump Project
openjump.org
• Open source Geographic Information System written in the Java.
• The OpenJUMP network consists of english speaking Jump-Pilot Project, the french Projet SIGLE, the german University of Osnabrück project Pirol, the companies and a number of others, such as freelancers, people from municipalities, reserach institutes and universities.
• Example of good organized
collaborative GIS project and community • Thought-out software architecture
13
25.2.2011
Name
Type
Users
Resources
Supporters
Licensing
DSpace
dspace.org
MIX 446 participants
(survey 2007)
Mailing lists, Forum, Wiki, Newsletter, The Jira Feature/Issue Tracking System, Sandbox, IRC
@mire, CILEA, Enovation, Longsight, Neki Technologies, Open Repository, Wijiti, Abax Asesores S.A., Almathaki IT, Cometa Technologies, Destin Inc., DRepository, Hewlett Packard Japan, NITLE, Webinito Networks
BSD
Greenstone
greenstone.org
MIX – Mailing lists, Bug tracker,
Issue tracker, Blog, SVN, Wiki,
DL Consulting, Opalle Innovation, Prodigio Consultores, UNESCO
GNU GPL
Fedora
fedora-commons.org
MIX 40+ active
contributors
Mailing lists, Forum, Wiki, Newsletter, The Jira Feature/Issue Tracking System, Sandbox, IRC
Moore Foundation, Cornell University, University of Virginia, Sun
Microsystems, Arrow, DSpace, eSciDoc, NSDL, MediaShelf, VTLS, Mulgara, TOPAZ, OhioLINK
Apache 2.0
Digital Preservation Software Platform
dpsp.sourceforge.net
VOL – Each component has Git
repository, Wiki, Bug tracker and Feature request tracker
National Archives of Australia GPL 3
14
25.2.2011
VOL – supported by volunteers MIX – company and volunteer based
Digital Archiving and Document
Management
Name
Description
How to Exploit
DSpace
dspace.org
• DSpace is an out-of-the-box open source repository application for delivering digital content to end-users.
• There are over 800 digital repositories using DSpace software. Globally it is the most widely used open source repository software for
institutional repositories and open access repositories.
• Example of one of the most popular community based Open Source digital archiving software
• Software architecture and customization
• Installation process
Greenstone
greenstone.org
• Greenstone is a suite of software for building and distributing digital library collections. It provides a new way of organizing information and publishing it on the Internet or on CD-ROM.
• Community architecture • Localization
• UNESCO support ?
Fedora
fedora-commons.org
• Fedora is a robust, modular repository system for the management and dissemination of digital content.
• It is especially suited for digital libraries and archives, both for access and preservation.
• It is also used to provide specialized access to very large and complex digital collections of historic and cultural materials as well as scientific data.
• Software flexibility
• Good community architecture
Digital Preservation Software Platform
dpsp.sourceforge.net
• The Digital Preservation Software Platform (DPSP) is free and open source software developed by the National Archives of Australia.
• The DPSP is a collection of software applications which support the goal of digital preservation..
• List of potential components (e.g. for converting digital files to standart based open formats, for checking the integrity of the archive, etc.)
15
25.2.2011
Digital Archiving and Document
Management
16
25.2.2011
MIX – company and volunteer based project
Geospatial Components and Libraries
Name
Type
Users
Resources
Supporters
Licensing
PostGIS
postgis.org
MIX – Mailing lists, Wiki, Bug
tracker, IRC
Refractions, Intevation GPL 2
GeoTools
geotools.org
MIX – Mailing lists, The Jira
Feature/Issue Tracking System, Wiki, SVN
Open Source Geospatial Foundation, Refractions
LGPL
GeoServer
geoserver.org
MIX 60+ contributors Mailing lists, Blog, IRC, Issue tracker
OpenGeo, Refractions, FGDC,
OpenGIS Consortium, GeoInnovations, GeoScience Australia, OSGIS, Google, AuScope Ltd., Australian National Data Service, Australian Research
Collaboration Service, Axios, GeoSolutions, Social Change Online
GNU GPL
GeoExt
geoext.org
MIX 70+ members Mailing lists, Wiki, Blog,
Issue tracker, SVN, IRC
– GPL 3
GEOS
geos.refractions.net
MIX Mailing lists, Wiki, Bug
tracker and Feature tracker, SVN
Open Source Geospatial Foundation, Refractions
Name
Description
How to Exploit
PostGIS
postgis.org
• PostGIS adds support for geographic objects to the PostgreSQL object-relational database. In effect, PostGIS "spatially enables" the
PostgreSQL server, allowing it to be used as a backend spatial database for Geographic Information Systems, much like ESRI's SDE or Oracle's Spatial extension.
Can be used in project development for implementing simple features and providing some spatial functions for accessiong and analyzing geographic data.
GeoTools
geotools.org
• GeoTools is a Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems.
Can be used as a GeoAPI for creating geospatial, Java interfaces.
GeoServer
geoserver.org
• GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.
Implementing the Web Map Service standard, GeoServer can create, share and edit maps in a variety of output formats. Can be used in the project development.
GeoExt
geoext.org
• GeoExt can help to build powerful desktop style GIS apps on the web with JavaScript.
Can be included in the project for improving user interface.
GEOS
geos.refractions.net
• GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). It aims to contain the complete functionality of JTS in C++. This includes all the OpenGIS Simple Features for SQL spatial predicate functions and spatial operators, as well as specific JTS enhanced topology functions.
In pair with JTS can be used for performing geometric operations in project development.
17
25.2.2011
Migration from Cathedral to Bazaar
Project idea
Original stakeholders
Core developers
Peer reviews
Code contributions
Community
Distributed development
Stable modular version
Cathedral phase
Transition phase
Bazaar phase
Idea
Generic core
Pilot versions
Experiences
Thank You !
Questions?