GXml-0.20 Released

GXml is an Object Oriented implementation of DOM version 4, using GObject classes and written in Vala. Has a fast and robust serialization implementation from GObject to XML and back, with a high degree of control. After serialization, provides a set of collections where you can get access to child nodes, using lists or hash tables.

New 0.20 release is the first step toward 1.0. It provides cleaner API and removes old unmaintained implementations.

GXml is the base of other projects depending on DOM4, like GSVG an engine to read SVG documents based on its specificacion 1.0.

GXml uses a method to set properties and fill declared containers for child nodes, accessing GObject internals directly, making it fast. A libxml-2.0 engine is used to read sequentially each node, but is prepared to implement new ones in the future.

A new engine, still in development, tries to read nodes in a multi-threading environment, to speed up serialization.

GXml’s engine uses interfaces. That design has provided the opportunity to implement incrementally better new implementations, also holding more than one at the same time. The main ones, uses libxml-2.0 for sequential parsing to GObject, providing a fast process; the other, use libxml-2.0 parser to its own nodes, while provides bindings to a GObject classes, but limited to the features in libxml-2.0, limitations not present in the main implementation.

Through Vala, GObject can exploit all its potential, without the verbose C syntax but getting all its speed advantages.

Libraries written in Vala, will help powerful applications to be created and open new opportunities on innovations, while push up GNOME main technologies to be used outside Linux. Interest a side, is Vala’s features to create binaries not depending on GLib/GObject, open new opportunities to other markets.

Training Maintainers

Is not just help others to help you, is a matter of responsibility with Open Source Community. Your life have wonders and should change for better, so you will be lost opportunities or simple can’t work on your favorite open source project. Prepare your self to be a maintainer professor, change your mind for the beginning and help others, that is also a great contribution to open source software.

Be kind. Your potential contributors will take over when required. Making sure they have the abilities and use best practices in the project, is not just good for your project, is good for all others out there; they will use them to help other projects.

I suggest help others in each step they take to help, like:

  1. Take care about your words. Words are powerful and will invite or reject potential helpers.
  2. Help others to find resources on how write good issue reports, like the one in BSD.
  3. Say thanks! your contributors will, even the ones not providing any useful information or code, take the time to use or read your project’s code, so they expend time, a valuable time.
  4. Take the time to train your potential contributors, they will take compromise quickly if you are the maintainer and you help them; yes the time will never enough, but that is an inversion for the future.

If you want to be a maintainer, start by helping open source projects. There are a set of online resources you can use to make you better as a contributor and maintain your own software or take over the maintainership of your favorite software:

  1. Fundamentals of Professional Open Source Management
  2. Open Source Maintainer

Also, you can read Georges Stavracas’ experience on On Being a Free Software Maintainer, as an inspiration.