Experiences developing OpenJUMP
Experiences Developing OpenJUMP
A paper prepared for the MILES Project (Managing Information for Local Environment in Sri Lanka)
Purpose of this document
"Would you prepare a paper explaining your experience with JUMP and OpenJUMP: how the project started, the role of the private companies (VividSolutions?) and the public administration in the project, maybe why JUMP was left behind and OpenJUMP arose, some bits of technological stuff (e.g. open formats)... You should take into account that probably the audience of the seminar is interested in *useful practical information to implement* an environmental information system based on open GIS." [Asier Sarasua]
Landon Blake (USA), Jonathan Aquino (Canada), Stefan Steiniger (Switzerland), and Ezequias Rodrigues da Rocha (Brazil).
How JUMP and OpenJUMP started
In 2002, as a project for the British Columbia Ministry of Sustainable Resource Management, Vivid Solutions Inc. created a software program to do automated matching ("conflation") of roads and rivers from different digital maps. The software team wisely made the program flexible enough to be used not just for roads and rivers, but almost any kind of spatial data: provincial boundaries, power-station locations, satellite images, and so on. The program was named JUMP (JUMP Unified Mapping Platform), and it has become a popular, free Geographic Information System (GIS).
Government support for developing free GIS software
The development of JUMP was sponsored by a joint project of the following organizations:
- "British Columbia Ministry of Sustainable Resource Management":http://www.gov.bc.ca/srm/ (MSRM)
- "Canadian Centre for Topographic Information - Sherbrooke":http://www.cits.rncan.gc.ca/ (CTI-S)
- "Ontario Ministry of Natural Resources":http://www.mnr.gov.on.ca/MNR/ (OMNR)
Design and development were performed by Vivid Solutions Inc. beginning in 2002. Additional code was contributed by Refractions Research.
In 2004, a group of enthusiastic JUMP users took the initiative to continue to improve JUMP. They formed the JUMP Pilot Project Committee, and their work is described in the next section.
Why JUMP was left behind and OpenJUMP arose
After the initial creation and deployment of JUMP, regular development of the program by Vivid Solutions stopped. However, the company was gracious enough to continue offering support to the user community that had grown around JUMP, and answering the questions of developers that had begun to improve JUMP in small ways, or who had customized it to fit their needs. Martin Davis and Jon Aquino, two employees of Vivid Solutions that worked on the original JUMP, were valuable resources who played a key role in the growth of this community centered around JUMP.
A number of development teams working with JUMP sprouted up around the world. Each team was working independently of the others, and different "versions" of JUMP began to emerge. Compatability problems between versions and other issues began to arise for members of the user community. Although technical support was still being provided by Vivid Solutions, there was no unified group to coordinate the development and future direction of JUMP.
Steve Tanner was involved with JUMP from its early stages, and utilized it for a non-profit project in South America. Landon Blake had begun to use the program at his surveying and engineering firm in Central California, U.S.A. Both of these JUMP users and developers saw a need to organize and coordinate the efforts of the different teams working with JUMP around the globe. After some discussion with employees of Vivid Solutions involved with the original JUMP project, they both decided to found the JUMP Pilot Project together. The JUMP Pilot Project, or JPP, would focus on continuing the development of JUMP, and on coordinating the efforts of the developers scattered around the globe that were working with the program.
It soon became evident that both the users and developers would benefit from a "unified" JUMP platform. This central or core platform would eliminate the compatability issues that plagued the JUMP user community, and would give developers a platform on which to focus and coordinate their efforts. A number of the lead members from each team working with JUMP formed the JPP Development Committee, whose purpose was to guide and oversee this new unified platform. A name was chosen for this open source GIS program to be based on JUMP, "OpenJUMP".
Although still in its infancy, the JUMP Pilot Project and OpenJUMP have brought a refreshing breath of life to the JUMP program, and have presented an opportunity for the program to thrive without the need for continued commercial support.
What is the current status of the JUMP Pilot Project and OpenJUMP?
The JUMP Pilot Project is registered as an open source project at SourceForge, and has set up mailing lists for the developer communities, as well as a "CVS" repository for the program source code. Work is currently in progress on a plug-in catalog and user and developer documentation. More importantly, members of the developer committee have begun work on a development road map that will guide the design and improvements of OpenJUMP over the course of the next few months. This road map will strive to include important features requested by the user community, and will aim to overcome some of the current limitations in OpenJUMP's design.
In addition, members of the JPP Development Committee and user community were delighted when Jon Aquino, one of the Vivid Solutions employees that worked on the original JUMP, agreed to assist the JPP with its efforts on OpenJUMP. The project has benefited greatly from his knowledge and contributions.
Open formats and other technological stuff
One important feature of OpenJUMP is its abililty to work with GIS data in GML format. GML or "Geographic Modeling Language" is an "xml" (text-based) format for GIS data. It is a way to describe spatial information in a human readable form, and is an accecpted "open standard" for GIS data.
OpenJUMP can currently read and write GML data, and the team hopes to develop a number of utilities that will improve OpenJUMP's ability to work with GML. One of the goals is to make OpenJUMP the premiere program for working with GML.
Why is the ability to work with an open format like GML so important to those considering implementation of a GIS? Because an open standard like GML frees a company or organization from the shackles of a commercial or proprietary data format. These commercial formats (for example, Autodesk DWG files or ESRI Shapefiles) are controlled by large commerical entities whose ultimate goal is profit, not compatability and convenience for the user. But of course, OpenJUMP reads and writes ESRI Shapefiles and is therefore compatible to this quasi standard file format. Since a short time and additional to TIF files OpenJUMP also supports ESRI ASCII grid format by a specific OpenJump plugin from the SIGLE team. Thus, inspite that OpenJUMP is not a Raster-GIS it provides and will extend functionality to work with raster formats.
Practical information on implementing an environmental information system based on open GIS like OpenJUMP
Why should Sri Lanka use an open source program like OpenJUMP, and open standards like GML, to implement their GIS system?
There are a number of reasons why. We will highlight just a few.
- A warm and supportive user community - OpenJUMP has been blessed with a community of users and developers that strive to work together for the benefit of the community and the world, not just of the individual members. Although always busy, volunteer developers make an effort to assist those interested in OpenJUMP whenever they have the opportunity. This giving spirit and dedication to the well being of others is one of the things that sets a project like the JUMP Pilot Project and OpenJUMP apart from commercial software endeavors. It demonstrates what humankind can accomplish when they work together for the greater good, even if it is in a small way. GIS is an important tool to understanding our world and how our decisions as a human family affect the world. It is not a tool that should be limited to only those with wealth or power, and people of all nations should benefit from its technology, without the requirement of adding more fat to commerical software developers bank accounts. It is this set of beliefs or principles that motivate the effort behind OpenJUMP and the JUMP Pilot Project.
- Access to the program source code - An important advantage of any open source project is the ability to access the source code that the program is constructed from. With a commercial software package, developers are constrained to the "doors" and "windows" into a program that the company allows them to use. This limits improvements to the program, and curtails the opportunity to customize the software for the unique needs of each project. OpenJUMP suffers from none of these limitations, and users and developers are encouraged to find problems, bugs, weakness, and opportunities for improvement, and to report these to the community. They are also encouraged to take part in the development of the program, so all can benefit from a better OpenJUMP in the future.
- Designed with customization in mind - JUMP and subsequently OpenJUMP was designed in a way that facilitates extensions and customizations. This provides an ideal framework upon which to build custom GIS solutions with OpenJUMP. An organization doesn't need to buy an extension for thousands of dollars to accomplish their GIS task. They can instead use an extension contributed by the community, or build their own with the community's assistance. OpenJUMP is written in Java, a modern programming language with many powerful features, and one that can be supported on many types of operating systems and computing platforms. Developers at the JPP are commited to the continued use of open standards and techonologies.
- An invitation to participate - The OpenJUMP community, and the JUMP Pilot Project Development Committee would like to extend a warm inivitation to any company or organization in Sri Lanka and everywhere on the world that would be interested in using OpenJUMP and in contributing to its future. We would be happy to answer any questions about the program, the project, our goals, or the future of OpenJUMP. We would welcome the opportunity to assist members of Sri Lanka in establsihing a GIS with OpenJUMP in whatever way we can, and we hope we will have the opportunity to work with you closely in the future.
Questions or comments about OpenJUMP can be sent directly to the projects mailing lists and mananging members.