-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Community,

there are many things currently circulating in my head, most of them
fueled by the way the Midgard project currently moves. As you might
have already guessed, you won't like the content of this mail, but I
would ask you to read over it and take yourselves a couple of minutes
thinking about what I'm going to write before you start yelling at me.
If you still feel like yelling after that, feel free ;-).

When I look back over the last year of Midgard, what I see is not nice,
independent of where I look. I don't want to reiterate problems already
discussed more and more in detail, so for a start I collect the most
important points that are clear to bring them back to attention:

First there is our most prominent problem, the quality of the Midgard
code, both core (lib, mod and php4) and on an application level (Aegir
foremost, but even MidCOM isn't really that clean, at least by my own
standards). If we couple this with our second-greatest problem, the
missing documentation on almost any part of the system along with bad
packaging we have a dangerous combination.

One of the most apparent results of this is a user base, that is
greatly diminishing in favor of the other roughly 300 free content
management systems currently on the market. One rough number: The
subscriber count of the Midgard User list is currently down to below
100 subscribers.

So much for the stuff visible above the waterline, these facts do speak
for themselves.

Now if this was the only problem we have, it should have been solved
months, if not years ago. The conclusion that the points stated above
are not our only problems, is easy and quite true.

Our real problem doesn't start at the code, the (new or old) website or
at the docs. The trouble we are suffering for more then one year now is
a really disorganized community.

Development is not structuralized, even the new code we produce cannot
hold up to modern quality standards, we like to talk, not to act. Heck,
we don't even have a development strategy other then hacking away.

I can already hear the voices telling me "that's the way Open Source
software development works", trying to justify what we're currently
doing.

But let me tell you one thing, plain and straight: This is wrong. It is
quite impossible in my eyes (and the eyes of any halfway experienced
software developer) to have a large-scale project to run itself that
way, with everybody hacking a littlebit at places where he likes to,
democratically voting about how (not necessarily which!) features get
implemented.

If we are talking about a project the size of Midgard 2 (we actually do
this for quite some time now) it is imperative that we all are clear
that this project must have a leader. A person that has the final,
absolute word about decisions concerning the way of the project, from
feature freezes to design decisions to coordinating the efforts of the
developers around the world to deciding which contribution makes it
into the official distribution and what not.

If you look at projects like JBoss, Mono or Mozilla you'll find that
there is some truth in it.

Speaking about desing decisions, there is currently some other tendency
in the project. We just plainly insist on having to reinvent the wheel.
Not that there are enough people on the world trying this already.
While this has to be done to a certain extent, why else should we write
yet another Content Management System, you needn't do this the whole
way.

There were already several attempts to put a Midgard 2 together, with
Ami Ganguli's last one being the most successful to date. These tries
had all one thing in common, they tried to build a complete application
server from scratch. While this is not only a challenging task, it is
nothing short of monumental. Full blown application server measures
easily in the hundredths of thousands lines of code, apart from the
decent specifications that need to be written before even the first
line of code is actually written.

Having a proof of concept like Alexander's latest approach to the
problem is nice, but it doesn't really help for a start, as it only
covers a minute detail of an entire new Midgard architecture. Besides
from the fact, that I personally don't think that a glib/C based
solution can be done in a reasonable amount of time and hold up to
modern industry's standards at the same moment. Again, we are starting
to re-invent the wheel, writing an object oriented system on top of the
old artifact C.

Why not switch to something more powerful?

C lacks at even the most primitive things (safe and easy memory
management or exception style error-handling), which would have to be
implemented on top of it. Not only implemented, but also integrated
into other packages being used.

Combined with an language like Ruby as a premiere language of choice
(sorry Alexander), we will find it quite hard to find acceptance in the
industry where it counts. Even PHP has a hard time there often enough
these days.

Let's face it, it is my opinion that if we build something new from
scratch, we should empower the latest, most efficient modern
technologies available a) to save us as much work as possible and b) to
leave the work of building the foundation to the guys already familiar
with such stuff. This way we won't get just yet another hacky CMS but
something that is industrial strength and even good enough to stay up
to the standards of larger companies.

Taken this thought to its logic end, only a couple of few alternatives
to build on remain. For once, there is J2EE, already long debated, with
its known advantages (established and proven) and disadvantages (Java
stays quite slow and is not easy to set up). While I'm still convinced,
that the Java Enterprise platform is powerful, I'm no longer convinced,
that it is the most efficient solution available.

The project, currently most promising in my eyes, is the .NET framework
originally developed by Micro$oft. Oh yeah, I see you rolling eyes,
even be stumbling on the N of .NET. While I can perfectly understand
this, you should at least listen to a few key facts. First of all, .NET
is not proprietary; all important core parts of this framework (that is
the compiler, the runtime and the standard libraries) are standardized
by the ECMA.

Novell's reimplementation of the framework, the Mono project, proves
quite successfully, that it is in fact no problem running .NET
applications under Linux. Then, probably the most amazing thing, is the
Common Language Runtime (CLR), which allows any code compiled for .NET
to interact with any other code for .NET, across any language
supported. This goes as far that you can have libraries (.so's or
.dll's) that actually consist of code written in C#, Ruby# and
VisualBasic#. Just the thing we always imagined for Midgard. This CLR
is part of the ECMA standard.

Up until this evening, nothing else I know is near as powerful as this
framework when it comes to interoperability. Its prime language, C#,
brings the best of C++ and Java together into the same theatre with
being quite fast and lean compared to the SUN's competitor.

I do not want to force you to that technology, but it is at least worth
more the one look at it. There is also a free implementation of the
ASP.NET infrastructure, that could even allow you to embed C# code (or
whatever) directly in your web-pages, no longer limiting you to PHP.

Whether you like it or not, I am quite certain, that from this corner a
new generation of applications will emerge, which are truly
interoperable with a runtime library that is powerful enough to take
all basic tasks away from the program writer.

I do not think, that this is the end of the PHP era, in fact, we are
quite far away from that. But it is fact that writing code for the
infamous Zend Engine (read "php modules") is tedious at best, while
writing any large application on the PHP level is doomed to bring a lot
of side effects with it due to the limitations of PHP itself. Even PHP
5 does have enough drawbacks.

Anyway, with .NET thrown into the Arena for the wolves to snap at it I
will make you one offer before finishing this mail.

I wrote earlier, that the project needs qualified (and undisputed)
leadership. I offer you myself as this leader, if you are willing to
follow me to build a better and larger Midgard 2, so that this project
will truly build a new and better world on the ruins Midgard 1 left.
This offer comes with a few conditions though. First, what I wrote
about undisputed leadership is a key fact of this. I will have the last
word, period. 

I know that this sounds like monarchy, but it is fact, that a monarchy
can be quite efficient, given you have a good monarch. ;-) I will try
to be a good one, bringing the interests of all participants together.
Naturally, though, it will be impossible to suite everybody at the same
time. You should be prepared for this.

Second, but perhaps most important to me, this task will consume a
significant amount of my time; time that I need to be paid at least
partly, as I cannot live from air and love alone, unfortunately. I will
leave that point open for now, as for a start the facts I wrote above
are far more important than this point. If you accept my offer
basically, there will be plenty of time to discuss this. I just wanted
to have this mentioned.


So now I have let the cat out of the bag.


Fact is, that I'm rather tired of how Midgard has evolved, though I'm
still impressed how far MidCOM has spread throughout the last year. I
never imagined that framework to get that popular, if I had, a whole
load of design decisions would perhaps have come out otherwise. But
even MidCOM does make me skeptical about the usability (mainly from a
programmers point of view for a start) of Midgard in the long run. 

I would ask you to discuss this at the Midgard Meeting in Poznan,
without my presence, so that you can speak freely without having to be
considerate of my presence that I might be offended.

I'm of course open for any questions and any discussion, as long as it
keeps objective and not emotional.

If you decide against me, which I could accept without problems, I will
of course stay with the project, keeping MidCOM in running shape as
long as I can and as long as it makes sense. I will be there if you
need my help here. Apart from that, it could be very well possible,
that the next generation of Nathan Syntronics I'm currently doing
mostly editorial work for, will no longer be powered by Midgard as I
move on to the new world.


Finally, one last word: I would to thank the Midgard community for all
the work they put into the project in the past. I have profited from
Midgard for nearly as long as it was on the market now, and I tried to
do a little payback with MidCOM. I hope you can forgive me for this
email, which is quite a littlebit heretical...



Live long and prosper!

Torben Nehmer

- --
Torben Nehmer, Guenzburg, Bavaria, Germany
http://www.nathan-syntronics.de, mailto:[EMAIL PROTECTED]
PGP Public Key: https://www.link-m.de/pgp/t.nehmer.asc

-----BEGIN PGP SIGNATURE-----
Version: Mulberry PGP Plugin v3.0
Comment: processed by Mulberry PGP Plugin

iQA/AwUBQJjk4iT4eCp+neRWEQJDPwCg+geUC5hhsy7+8ZRsuLSFIFY/hisAn3LS
lsx7XFnxKcfyemI78vBYZEXt
=8BJ9
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to