Working on Standards Jody Garnett Geo Tools So




































- Slides: 36
Working on Standards Jody Garnett Geo. Tools
So you want to use Geo. Tools? How we should evaluate an open source project? Technology? Stability? Community? Activity? Comes down to a question of trust Development Answer – focus on stability Research Answer – focus on activity and openness Geo. Tools - Working on Standards 2 Open Source Geospatial Foundation
Question and Answer Thanks to Paul Ramsey for this initial list of questions. http: //www. refractions. net/white_papers/oss_briefing/2006 -06 -OSS-Briefing. pdf Geo. Tools - Working on Standards 3
Is the Geo. Tools well documented? Does the web presence provide access to both source code and documentation? Yes Is there tutorial level documentation for developers to get people up and working with the software quickly? No (recommend work from test cases, and specifications) Is there project level documentation? Developers Guide focused on project build environment, procedures, recommended tools and so on. Geo. Tools - Working on Standards 4 Open Source Geospatial Foundation
Is the development team transparent? Is it clear who the core development team is? Module Maintainers are listed in “pom. xml” Project Management Committee listed in Developers guide Is the development team mailing list public? Yes, and rather active user’s email list is monitored Is the current development code available online? Cruise Control builds are available svn read is open to all Is team membership attainable via a merit-based process? Patches, developers guide, and a code review required PMC membership based on recommendation Geo. Tools - Working on Standards 5 Open Source Geospatial Foundation
Is the software modular? Is there a clear method to add functionality to the project that does not involve re-working the internals? Most defiantly yes! Is this method documented clearly with examples? The Developers Guide provides a complete example Is there a library of already-contributed enhancements maintained by the wider developer community? Yes We try and collect contributions as Geo. Tools “modules” or “extentions” although not all are distributed Many external projects “horde” additional implementations Geo. Tools - Working on Standards 6 Open Source Geospatial Foundation
How wide is the developer community? Are multiple organizations represented in the core development team? Yes, from a range of domains Are core team members financially supported in their work by sponsoring organizations? Yes Is the development community national or international? international How large is the user mailing list? good question… There is a steady stream of questions How large is the developer mailing list? good question… Around 10 very active developers Geo. Tools - Working on Standards 7 Open Source Geospatial Foundation
How wide is the user community? What organizations have deployed the software? The Open Planning Project Penn State University Refractions Research (as a toolkit we show up in a range of offerings) What experience have they had? Everything from success… . . to outright failure Geo. Tools - Working on Standards 8 Open Source Geospatial Foundation
Geo. Tools based Development For Geo. Tools based development we are focused on ability of the current library, stability, support and documentation. Geo. Tools - Working on Standards 9
Module Quality The wiki provides a summary of module quality – based on a “Star System”: Intellectual Property review Geo. Server Use u. Dig Use Optimized Documentation Please check the modules you are planning to use: Ensure Module is not slated for Rn. D Recent shapefile analysis based project when 100% over budget. Geo. Tools - Working on Standards 10 Open Source Geospatial Foundation
Intellectual Property and License Over the course of evaluation we are often asked some tough questions about “code ownership, and the LGPL. We want to work with you! Do not let licenses concerns limit you - simply talk to us. Providence review as part of OSGEO involvement We will be assigning code ownership to the OSGEO Foundation Geo. Tools - Working on Standards 11 Open Source Geospatial Foundation
Stability Major projects always based on a “stable” Geo. Tools branch Stable branch is currently Geo. Tools 2. 2. 0 They remain active for around two years If you need a release, for bug fixes, simply talk to us Geo. Tools - Working on Standards 12 Open Source Geospatial Foundation
Support Documentation We do make use of Standards Limited user documentation is available Often u. Dig and Geo. Server docs are more accurate User email list Issue Tracker freenode#geotools Commercial Support Honestly recommended Available in several languages Try for an “issue based” contract Please ensure documentation is updated for each issue Geo. Tools - Working on Standards 13 Open Source Geospatial Foundation
Geo. Tools based Research Geo. Tools is open to new ideas, here is how to engage the community. The focus here is on getting svn access, ensuring you have what is needed for success. Geo. Tools - Working on Standards 14
Engaging the Community Prepair wiki page Rn. D pages have their own section Try and cover target domain, specifications are preferred Please note any deadlines IRC meeting Weekly IRC Meeting Breakout IRC Meeting for detailed collaboration Outcomes New Module (on trunk) Branch for long term, or broad changes (This is all in the developers guide) Geo. Tools - Working on Standards 15 Open Source Geospatial Foundation
How to Succeed Consensus Working from a *single* standard Working with experts and users Schedule Having a firm deadline Roadmap for the community Leave time for collaboration Financial Complete the work And roll out to the community (This is hard, community only helps with testing and up keep) Visibility Working prototype release early release often Geo. Tools - Working on Standards 16 Open Source Geospatial Foundation
Geo. Tools Research Case Studies Geo. Tools has hosted many research undertakings, from SLD reference implementations, to color and graph theory. These case studies are used to show Research work can impact the code base. Geo. Tools - Working on Standards 17
Coordinate Reference System Update Project designed to “upgrade” the library to directly support a new standard. Broad change impacting entire code base “Coordinate. Reference” Used by Geo. Tools 2. 0 Captured the “measurement” of spatial information “Coordinate. Reference. System” Official Interface from the Geo. API project Direct correspondence to the specification Geo. Tools - Working on Standards 18 Open Source Geospatial Foundation
Coordinate Reference System Update Plan CRS Project strategy Developed on Trunk Provided both systems, to allow library code to cut over Utility class to isolate code from CRS implementation being used. Short Term Development Consequences Trunk was broken “often” as CRS tests failed to pass Collaboration with Geo. API involved daily “SNAPSHOT” jars After year “grace” we cut Coordinate. Reference from library code, resulting in build being “down” for two months Geo. Tools - Working on Standards 19 Open Source Geospatial Foundation
Coordinate Reference System Update Results Long Term Development Consequences Construction of a legacy package (for existing client code) Construction of a migrate module (for library code that had yet to make the change) Project Impact “referencing” module is successful used by a wide range of projects defacto projection support for the JTS based java community Geo. Tools - Working on Standards 20 Open Source Geospatial Foundation
Coordinate Reference System Update Checklist Engage Experts Use of Geo. API Team Size 2 -3 cross organizational Use of Specification Single specification used Transition Strategy Implemented on trunk concurrent “models” with cut over Roadmap open time block for transition cut over was still painful Geo. Tools - Working on Standards 21 Open Source Geospatial Foundation
Web Map Server Client Project to add web map server access to Geo. Tools project. Example of a Specific Improvement Target a range of Specifications Capture a single class capable of Version Negotiation Support for all WMS servers Hide complexity of WMS access Geo. Tools - Working on Standards 22 Open Source Geospatial Foundation
WMS Project Checklist Engage Experts Use of Geo. API Team Size 1 single developer Use of Specification 5 established specifications Transition Strategy New module on trunk no transition required Roadmap module added to trunk formal release with Geo. Tools 2. 1. 0 Geo. Tools - Working on Standards 23 Open Source Geospatial Foundation
Complex Feature Branch Project to improve geotools feature model for GML 3 Around a two years old The work of several paid developers Aimed at producing improved Geo. Server WFS support for “community provided” schemas Has had a series of releases Expected … Not expected Consequences Branch provided isolation Fragmented developer resources, branch datastores surpassed trunk Geo. Tools - Working on Standards 24 Open Source Geospatial Foundation
Complex Features Branch Engage Experts Geo. API project not consulted Focused on specific project needs Comparison against existing projects Team Size 2 developer Use of Specification GML 3 Transition Strategy None, Coded against Java 5 port improvements to trunk when useful feature model Roadmap Complex-feature branch still in existence Operates as a “fork” of Geo. Tools 2. 1 Geo. Tools - Working on Standards 25 Open Source Geospatial Foundation
Geo. Tools Research Geo. Tools 2. 3 is “ready”, we have a api freeze on. So here is what you can look forward to. Geo. Tools - Working on Standards 26
Grid. Coverage Branch The Grid Coverage Branch is … Around a year old The work of two paid developers Aimed at Geo. Server WCS support Has had a series of releases (of WCS prototypes) Provides nice performant grid coverage support based on a “Grid Coverage Exchange” specification Expected … Motivation Geo. Tools 2. 3 Has already been merged onto trunk Consequences Branch provided isolation and stability Overhead to stay in sync with trunk Fragmented developer resources Geo. Tools - Working on Standards 27 Open Source Geospatial Foundation
Geo. Tools Research What is Next? A Geo. Tools Rn. D Roadmap. Now that we have looked at some of the past projects, it is time to see what is coming down the Rn. D pipe. Geo. Tools - Working on Standards 28
Grid. Coverage n. D The Grid Coverage n. D project is … Phase 2 of the Grid Coverage work Switch to N Dimensional ISO Grid Coverage specification Improved Geo. Server WCS support Expected … To start after Geo. Tools 2. 3 Initial breakout IRC meeting setting direction Consequences Lowered Risk by working with existing interfaces Negotiate with experts when not on critical deadlines Geo. Tools - Working on Standards 29 Open Source Geospatial Foundation
Filter 1. 1 Upgrade Transition to Filter 1. 1 interfaces from Geo. API Relax filter to work on things other then features (features, catalogs, pojo) Support for Sort By Represents transition to stable Geo. API interfaces Expected … available on trunk Included in 2. 3 Consequences Implementations support both “old” interfaces, and new ones concurrently We will retire Geo. Tools interfaces after one release cycle Geo. Tools - Working on Standards 30 Open Source Geospatial Foundation
Feature Model Branch Started with the expressed purpose of getting on geotools trunk. Less then a year old Consulted Geo. API experts, arranged a compromise between XSD and UML based modeling Expected … Not expected Consequences A working model, shown to work for shapefile datastore 2/3 of time spent on Geo. Tools internal quality, with respect to Feature. Factory Branch modifications too widespread to sync with trunk Geo. Tools - Working on Standards 31 Open Source Geospatial Foundation
Feature Model Road. Map The useful results from the earlier attempts are: A good feature model, reached in conjunction with Geo. API Highlight a consistency issue with respect to Factory use. Roadmap: Release Geo. Tools 2. 3 Implement “method compatible” Feature. Builder, working against the feature model Migrate to Feature. Builder Cut over to new feature model Geo. Tools - Working on Standards 32 Open Source Geospatial Foundation
Geo. API Geometry Wrappers Geo. API has nice interfaces for ISO based Geometry Needed to “capture” GML 3 Geometry model (ie Curve) Made available as part of a commercial implementation Wrapping code donated to Geo. Tools (wraps JTS with these interfaces) Represents commercial contribution Expected … Not expected until after the Feature Model upgrade Consequences Curve topologoy functions unlikely to be implemented Possibility of increased performance Geo. Tools - Working on Standards 33 Open Source Geospatial Foundation
Adaptive Portrayal Project amounts to what makes u. Dig “special”. Initial implementation generated with EMF Community has requested a back port Expected … Initial framework over the next two months Consequences Allow community to “open the door” to experiments in portrayal using a well tested implementation Makes u. Dig “Adaptive Rendering” available to more projects Geo. Tools - Working on Standards 34 Open Source Geospatial Foundation
Adaptive Portrayal Project amounts to what makes u. Dig “special”. Initial implementation generated with EMF Community has requested a back port Expected … Initial framework over the next two months Consequences Allow community to “open the door” to experiments in portrayal using a well tested implementation Makes u. Dig “Adaptive Rendering” available to more projects Geo. Tools - Working on Standards 35 Open Source Geospatial Foundation
Questions? Geo. Tools - Working on Standards 36