[Opengc-devel] code refactoring progress
Status: Pre-Alpha
Brought to you by:
madmartigan
From: Damion S. <da...@op...> - 2003-10-30 16:54:56
|
Hi, A quick update as to where I am on the "rewrite", and how things are shaping up. 1) The CMake build process has been extensively overhauled. The paths to the various external libraries are now either determined automatically, or are prompted for in the GUI/TUI presented by CMake. This means that you no longer have to hack the CMakeLists.txt file to set library paths, making it easier to keep in sync with the CVS version. 2) OpenGC is now built as a series of libraries; at the moment, this includes OpenGCBase, OpenGCDataSources, and OpenGCNav. The data source and nav libraries are actually useful in their own right, so developers who want _just_ data collection (for creating motion platforms, steam gauges, etc.) can obtain that functionality without dragging the rest of OpenGC along for the ride. The gauges have been reorganized by aircraft type and will eventually be rolled into a library as well. 3) The OpenGC executable code has been moved to a separate "Applications" directory; in addition to still being the public face of OpenGC, it also serves as an example of how to write a standalone app that links against the libraries. I will probably GPL the current application and continue development of it as the "lite" version of OpenGC. My understanding is that it's ok to use non-GPL code in a GPL application, but the reverse is not true. Can anyone verify this? In other words, although the core of the toolkit will not be GPL after the rewrite is finished, it's perfectly fine to distribute add-on bits that work with it which _are_ GPL...(?) 4) Any code that was (a) in the GPL'd OpenGC and (b) the author/s wish to keep as GPL will be placed in an "unsupported" directory; there will be a build flag that will allow you to turn on/off the creation of the OpenGCUnsupported library. If you link against code in this library, your application may be subject to commercial restrictions per the GPL or other open source license. If you link against any of the other libraries you are free to develop commercial products subject only to the copyright notice restriction. Obviously, if you are only interested in developing open source code, this shouldn't really affect you. 5) New code contributions can fall into one of two categories: official or unsupported. Official code will be released under the new VTK (BSD-like) license, and will be supported with automated build testing, Doxygen documentation, and CVSweb browsing. Unsupported code can be released under any of the licenses permitted by Sourceforge.net will be included in the toolkit and built per (4). I would encourage potential developers to consider releasing their work "officially". Finally, none of these changes have been committed to the CVS repository. I will give plenty of advance notice prior to committing anything... If you have questions or comments please let me know. Cheers, -Damion- --------- Damion Shelton The Open Source Glass Cockpit Project (OpenGC) Carnegie Mellon University, Robotics Institute http://www.opengc.org da...@op... |