Mailing List Archive

IMPORTANT: Version Changes
Hi all,

some information first here on the mailing list before I announce it. As
you know, I am looking at the way threading is supposed to work in
future releases and, most importantly, looking at the inputs (like mark
message generation).

Around summer, I wrote that I will probably need to release new major
versions when we go into multithreading redesign. It looks like we have
reached this stage. I tried to keep a single code base that still
supports both single- and multi-threaded operations. I have looked into
this the past days and I need to say that it creates a lot of complexity
and hard to understand code.

For this reason, I think it is finally time to branch the code based and
release some new versions.

Soon, I will create a branch for the current 1.20.1 code base. That will
only receive bug fixes, but no new development (except, I guess, GSSAPI
which I about to be contributed by Red Hat). When we are confident the
last changes worked well and introduced no new bugs, there will be a
version 2.0.0 stable release based on that code base.

CVS head, however, will then be rsyslog version 3. It will receive the
new input module interface. It requires pthreads, because there is no
way input modules and many more of the new desired features can be
implemented without them. Consequently, I will remove all
single-threading code from it, resulting in an easier to understand code
base. Please note that I expect this code to change dramatically when it
is being modified to be more modular (much like it was when I introduced
modular outputs in summer). Please note that I will apply any non-bugfix
patches to this code base, only.

I have somewhat bad feeling of going ahead with implementing a more
sophisticated and more parallel multi-threading while we still have an
issue with the segfault. However, I think by now we did everything
imaginable to capture that rare bug. I have come to the conclusion that
the best chance to find it is go ahead and implement the more
sophisticated design. That will lead to a review, and rewrite, of much
of the code in question, uncovering this we didn't think about before.
The recently discovered race condition is an excellent sample.

One thing about the license: rsyslog 2 will stay with "GPL v2 and above"
license, but rsyslog V3 will be licensed under "GPL v3 and above". I
already wrote about that change. It is my firm believe that GPL v3
brings benefit to our freedom to use digital goods. I am a strong oppose
of digital restrictions management (DRM) and software patens and I do
not like the idea that rsyslog benefits anyone who encourages these
things. I hope for your understanding.

I will set stage now for these changes and will do a web announcement
soon. Please don't be surprised that rsyslog v3 will be available before
v2, you now know the reason.

Rainer