Open Source Software Communities - Lessons Learnt

Size: px
Start display at page:

Download "Open Source Software Communities - Lessons Learnt"

Transcription

1 1 Open Source Software Communities - Lessons Learnt Imed Hammouda, adjunct professor Alexander Lokhman, researcher Tampere University of Technology

2 Open Source vs. Free Software 2 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

3 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 Eclipse: Foundation centric

4 Community Contribution: Debian

5 Onion Structure of FLOSS Communities Passive user Reader Bug reporter Bug fixer Peripheral developer Active developer Core member Project leader Passive user Readers Testers Janitors Coders Maintainers Lieutenants Linus Onion structure Linux kernel

6 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 Code enhancements

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

8 Community Building: Intended Community Community type: Company based Volunteer Mixed Core group: Closed Open Structure: Independent community Part of an existing community An ecosystem of related smaller communities

9 Community Building: Stakeholders Interested parties Core FAO and pilot countries Open source communities & developers

10 Community Building: Existing Communities

11 Related Open Source Communities 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/enus/projects/zentity) Omeka (omeka.org) Greenstone (greenstone.org) Invenio (invenio-software.org) DPSP (dpsp.sourceforge.net) 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) GeoExt (geoext.org)

12 Geo-related Projects and Foundations 12 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 SourceMapServer Mailing 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 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

13 Geo-related Projects and Foundations 13 Name Description How to Exploit OSGeo osgeo.org GeoCommunity geocomm.com FOSSGIS e.v. fossgis.de OpenJump Project openjump.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. 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. 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. 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. List of existing and incubating Open Source geospatial projects Financial support Promoting the new FLOSS project Attracting community members List of potential components and tools to use Example of good organized collaborative GIS project and community Thought-out software architecture

14 Digital Archiving and Document Management 14 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, 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 VOL supported by volunteers MIX company and volunteer based

15 Digital Archiving and Document Management 15 Name Description How to Exploit DSpace dspace.org Greenstone greenstone.org Fedora fedora-commons.org Digital Preservation Software Platform dpsp.sourceforge.net 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. 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. 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. 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.. Example of one of the most popular community based Open Source digital archiving software Software architecture and customization Installation process Community architecture Localization UNESCO support? Software flexibility Good community architecture List of potential components (e.g. for converting digital files to standart based open formats, for checking the integrity of the archive, etc.)

16 Geospatial Components and Libraries 16 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 LGPL MIX company and volunteer based project

17 Geospatial Components and Libraries 17 Name Description How to Exploit PostGIS postgis.org GeoTools geotools.org GeoServer geoserver.org GeoExt geoext.org GEOS geos.refractions.net PostGIS adds support for geographic objects to the PostgreSQL objectrelational 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. GeoTools is a Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems. 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. GeoExt can help to build powerful desktop style GIS apps on the web with JavaScript. 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. Can be used in project development for implementing simple features and providing some spatial functions for accessiong and analyzing geographic data. Can be used as a GeoAPI for creating geospatial, Java interfaces. 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. Can be included in the project for improving user interface. In pair with JTS can be used for performing geometric operations in project development

18 Migration from Cathedral to Bazaar Project idea Original stakeholders Core developers Stable modular version Peer reviews Code contributions Community Distributed development Cathedral phase Transition phase? Bazaar phase Idea Generic core Pilot versions Experiences

19 Thank You! Questions?