Skip to content

Development

Armin Burgmeier edited this page Aug 23, 2014 · 7 revisions

Gobby Development

There are two core projects involved in Gobby development. The libinfinity shared library contains the implementation of the protocol that is used to synchronize document changes between users, and the actual Gobby application implements the graphical user interface on top of libinfinity.

Libinfinity

Libinfinity is a shared library that provides the implementation of the concurrency control algorithm and the implementation of the infinote protocol. It is licensed under the LGPLv2.1+. The library itself consists of the following projects.

TODO: Put the list of components here with brief explanations

Libinfinity at the moment is declared as unstable in the sense that its API is allowed to change. However, when an API break occurs, the API version of the library is increased, which results in parallel-installable libraries. Typically, this is done when the minor version number changes. For example, libinfinity 0.5.0 and 0.6.0 are parallel-installable and have a different API. However, every release in the libinfinity 0.5.x series are API stable.

See API Documentation for an extensive reference-style documentation of the available API in libinfinity, and Infinoted Plugin Development for instructions how to create custom plugins for infinoted.

Gobby

TODO: Write here some basic instructions of how the project is organized, and the licensing.

Ideas for Future Development

This is an ideas list of features that can be implemented in the future.

TODO: And then some features that would be nice to have. Typing sounds, git integration, threaded server, OCSP stapling, ...