Please note the motivation text dates back to summer 2003, long before the project actually started, and thus it is mainly of historical interest, even though great deal of it still holds true. The architecture part was updated and it reflects reality more faithfully.
Currently, many European NMIs, their partner institutes and/or universities develop their own software routines for analysis of SPM data matrices. For example, this is necessary for implementation of new methods of line profile/roughness/grain size determination. Each of the programmers than needs to handle with the I/O routines, memory management, data visualization and many more software parts that are not directly related with the data analysis routine. As a consequence, also the results and performance of different programs are hardly comparable, due to the different data formats or different supported operating systems.
We suppose, that within the NANOMET network community a software basis for this SPM data analysis could be developed. We suppose that an non-commercial system for handling with SPM data running on both Windows and Linux/Unix and possibly some more operation systems could be constructed. The high degree of modularity and support of plugins would enable all the programmers within the network to make easily their analysis routines with no need to care about input/output operations, data visualization, basic data matrices manipulation, data interpolation etc. Open source would enable to have direct control over the implementation of all these routines and possibility to change or correct them.
The system should make a software framework for various SPM data analysis programming within the network. It should allow exchange of ideas and/or implementations of SPM data processing routines. It should be also open to contributions from the outside of the network.
The system should not be treated as another program competing with the closed-source commercial programs for SPM data aquisition and analysis. Instead of it it should be field for SPM data analysis methods evolution and their share between the institutes and other interested parties.
Gwyddion is a modular software framework. The main idea behind this is provide as large modularity as possible to ensure the great flexibility of the program and possibility to change program capabilities with no need for recompilation. The main intent is to develop system that would be transparent and platform independent, while not sacrificing the KISS principle.
There's a more technical text explaining Gwyddion architecture now.