Gwyddion – Free SPM (AFM, SNOM/NSOM, STM, MFM, …) data analysis software

Participate

Gwyddion needs your help, most badly in the following areas:

The above list contains things the current developers lack resources or talents to do properly or at all. Of course, there is a lot of more ways you can help:

Developers

If you want to develop Gwyddion, it is probably easiest to start start with some simple module (see module tutorial), to become acquainted with it. Modules are relatively self-contained pieces of code and there are already lots of modules in Gwyddion, usable as examples. Of course, you do not have to limit yourself to modules and start hacking whatever pleases you.

See also Developer doumentation index for library API and other relevant documentation.

If you write a module or plug-in, you are encouraged to share it here with other Gwyddion users. Please, let us know, so that we can link it here or include in it Gwyddion. If the module works, does something useful, is distributable (read: legally under GNU GPL), and is not platform-dependent, the chance of inclusion is great.

Gwyddion Subversion repository is public (read-only). Write access is considered and granted individually based on previous work.

Porting

Generally, if you manage to compile Gtk+ on the target platform, Gwyddion should work too. If it does not, it is a bug and report it to Yeti.

The current version should be 64bit-clean, endian-clean, etc. There are two known portability issues (beside insufficient testing):

Shared libraries
Since modules are shared/dynamically loaded libraries, a decent support for shared libraries is required. Particularly, the platform must be supported by both GNU libtool used to build modules, and by GModule used to load them run-time.
Floating point support
For one, Gwyddion requires the standard IEEE 754 floating point numbers (both single and double precision). In principle, it can be worked around but it may not worth the amount of work – nowadays when the IEEE standard is really a standard. Second, Gwyddion is a very FPU-intensive application as it does practically calculations in double precision. On systems with weak FPU, the performance is likely to be terrbile.

Microsoft Windows

While this operating system is quite popular among users, none of the regular developers uses it much (if at all), not talking about developing Gwyddion there. Moreover, all other supported systems are Unices, therefore this platform is also the most dissimilar to the rest. The result is that is lags behind. We are desperately seeking for someone willing to:

Mac OS X

It seems Gwyddion has many Mac OS X users, but as none of the regular developers is a regular user of OS X, no binary packages are available and the integration is probably poor. We are in a need of someone willing to:

User documentation

The current state of user documentation is sad, and with every new version of Gwyddion the ratio of undocumented to documented only grows. To overturn this trend, people who are better at (or more interested in) writting documentation than programming must start to be involved.

The Gwyddion user guide is written in DocBook, a XML-based markup language intended for technical documentation, from which ready to read HTML is then generated. It is possible to generate other outputs, e.g. PDF, even though it has not been tried much yet. The advantages are a rich semantic markup and the possibility to edit it with editor of one's choice, a disadvantage is the complexity of the DocBook processing environment that can discourage potential contributors.

Other approaches were proposed, for example to employ a Wiki engine which would make contribution far easier. However, it still has to be set up, maintained, and the current documentation has to be converted. We do not have resources for that.

Translation

Gwyddion user interface is translatable since version 1.6. If you have an experience with gettext translations, grab po/gwyddion.pot from source code tarballs (Alternatively, you can start from head gwyddion.pot), rename it to your_lang.po, and you can start translating. Please use UTF-8 encoding.

If you do not have any experience with localization, please read gettext manual for some background, namely PO File Format and Translator's View (thought this one talks much about GNU software translations that may not be relevant to Gwyddion). The translation file format is quite simple and can be edited with any text editor, although specialized tools like poedit exist too.

You can also look at existing translations. Then grab po/gwyddion.pot

Once you have something, send it to yeti. You do not have to translate everything at once, even a partial translation is better than nothing.

To directly test your translation (definitely recommended), you need to compile Gwyddion from source code and have a working gettext. To update installed translations after you changed your PO file, run

make update-gmo install

in po subdirectory. Note this only works on Unix and the translation has to be added to the build system first (i.e., it does not work for fresh translations). Alternatively, you can bypass the build system altogether and run

msgfmt -c -o your_lang.mo your_lang.po

then copy thus created MO file where it belongs manually. Specialized PO editors may be able to run msgfmt themselves.

If you find parts of user interface that are impossible to translate due to missing marking (i.e., the text strings are not present in gwyddion.pot at all), or because they force English sentence structure or depend on English homographs, please report them as bugs.

Translation statistics of current devlopment version are available on-line.

Artwork

Gwyddion graphics (icons, logo, splashscreen, …) was drawn by Yeti, who is no Jimmac. We hope it is not the worst graphics you have ever seen, but the room for improvement is immense. Especially a better set of icons would be highly appreciated.

The bulk of graphics consists of icons, their list can be found in gwystock API documentation.

Unix/Linux packages

We are aware of following official Unix/Linux packages:

Beside that, we maintain a RPM spec file that allows building on current Fedora, SuSE and Mandriva GNU/Linux distributions. It may or may not build on other RPM-based distributions. Support for more distributions should not be hard to add, provided someone is willing to do the testing.

Following systems are known have some form of package request in the queue, if you can help things to start moving again, please help:

And then there are the most unfortunate systems with no packaging (or porting) attempt at all…

1.61 (yeti, 2007-09-03 16:57:54)
© David Nečas and Petr Klapetek

Home Download News Features Screenshots Documentation Communicate Participate Resources Applications Site Map

Valid XHTML 1.0 Valid CSS