Table of Contents
1. Preface
1.1. Motivation
2. Project: OpenGPSlib
3. Project: xmlcpp
4. Organizational
4.1. Source Code
4.1.1. CVS location
4.1.2. Copyright
4.2. Support
1. Preface
top
Here you will find a short description of the different projects we
maintain. As development progresses we will add more projects here.
Currently we are working actively on the OpenGPSlib, a library for
unified access to GPS devices. A GUI application that displays and
processes GPS data is not ready yet to be posted here. This is just a
short overview of our current projects. For more information please have
a look at the Documentation.
1.1. Motivation
top
The power of GPS receivers really unfolds when you're able to
process the recorded data. Most devices provide the possibility to set
waypoints, connect waypoints to create routes and record tracks as a
series of position information. This data is gained automatically by
satellite recordings, half-manually by setting waypoints of the current
position or manually by inputting complete waypoints 'by hand'. As a
'home' user you may want to display the data, navigate to a certain
waypoint or follow a given track or route. On the other hand a
professional user like a geographist for instance may want to evaluate
track lenghts and other data, use the data to project it onto maps or
even create their own maps. Both may be interested in keeping a
database of waypoints and tracks to use at request.
2. Project: OpenGPSlib
top
The above requirements result in some basic functionality needed by a
processing application. You may want download data from the GPS device
store it, process it and upload it again. Or you may want to receive
data - maybe via internet - and upload it into your GPS device. The data
may be recorded with a totally different device or even not be recorded
at all but generated by some third party software. OpenGPSlib uses a
layered approach to implement device independent communication to
various GPS devices.
3. Project: xmlcpp
top
In order to save GPS data (Waypoints, Tracks...), configuration
files etc. practice showed us that a binary or otherwise proprietary
file format is much too inflexible to keep up with the development
process. Either we have to carry the whole bag of historical file
filters or we loose the ability to read older files. While the former is
'just' a lot of work and not a very clean approach the later is not an
option. So we decided to make the switch to XML. Ok, I already hear some
of you argue that the files grow dramatically. That's true, but first of
all compared to modern drivesizes they are still small and second if
they are compressed they become even smaller than the binary format.
What we gain are all the other advantages of XML:
- We can take advantage of standard parsers like libxml.
- As the fileformat evolves newer application can still read the old
files without any change of code.
- Old applications can handle new file formats as they may just
ignore unknown tags.
- Files are readable on any machine due to the standard UTF8
charset.
- Files are human readable. Ok it might not be practical but it is
still possible. Then you may just open them in an editor and 'find and
replace' something shall the need arise.
- Files are readable and editable in Standard XML editors.
- Files are easily ported to other applications if they are XML
aware. Otherwise it's easy to implement a filter to convert them into
other formats.
xmlcpp is a library that builds upon the SAX interface of libxml2.
It provides a high level interface to facilitate the implementation of a
state machine. By use of predefined classes and macros it is very easy
to read XML into custom defined structures, thus avoiding the standard
document tree created by libxml2. This is done by defining trigger
actions that call methods when certain tags are found within the XML
file.
4. Organizational
top
In this section we discuss some of the organizational stuff you
might need to know when you want to get involved with the development
of &OpenGps;
4.1. Source Code
top
The Source code is hosted at SourceForge. It has public read access
and read/write access for the developers on the team. If you want to
join the development team you have to get an account at SourceForge. We
can then add your SourceForge user name to our project team. For more
information please check out the documentation at SourceForge.
4.1.1. CVS location
top
For the public read-only access just checkout the sources from sourceforge.net. For more
information please go to the download section as we do not
maintain this information on this page.
4.1.2. Copyright
top
The copyright of the sources always remains at the author of the
files. Sure, everybody may use the files according to the specific
projects license, but that does not compromise the copyright. We do
however like to be able to provide the code long term. As we cannot
forsee future development with copyright law, software patents etc. we
must keep the possibility open to change the licensing of projects
developed for OpenGPS. You probably can understand that - if this
ever may happen - we don't want to track down every person that ever
changed a single line of code to get their acknoledgement to change sth.
with our licensing. Therefore we ask everybody who wants to join the
team to give us permission to do with their code whatever is neccessary
to maintain the project. For further discussion of this topic please
have a look at some articles written by Bruce Perence on
slashdot.
4.2. Support
top
We provide several mailing lists to which you may sign on. See the support section for more
information. You may also email us at info@opengps.org. Probably we will
change to some public forums on SourceForge as they maintain a history
as well.
|