I sometimes question the sanity of some of the open source developers out
there. Mostly because of some of the insane code they produce, or because of
the believes they have.
I have seen communities ripped apart because people could not agree with each
other causing splits in the code FreeBSD and DragonFlyBSD same with NetBSD and
OpenBSD.
Just recently I saw a dispute between developers from Novell and Sun about part
of OpenOffice. A part the Novell developer wrote, and then released under the
LGPL. That way it could be linked against OpenOffice and could also be legally
distributed with it. So then Sun wanted him to re-license it under their
license so that they could take the code and use it in their StarOffice and
release it commercially.
That initself could have been allowed under the LGPL, but instead of accepting
the code upstream, they instead chose to deny it, try to get someone to write
it in the Google Summer of Code, and then to top it off they announce they are
going to rewrite it from scratch, and tell the origional developer that he may
join their effort.
So now ooo-build, which is a build of OpenOffice that is used in most
mainstream Linux distributions. They include the part that was totally left out
by Sun. So now a split in the code will exist, between what Sun provides,
making it even harder for people to contribute to OpenOffice in a meaningful
way.
The same thing is happening in the Linux kernel community slowly. Just recently
Linus wanted to merge in Smack/AppArmour and got a backslashing from members of
the so called security community about how adding in another LSM based security
module, like SELinux. LSM adds hooks in the Linux kernel before any system call
that affects important internal kernel objects. That way a loadable module can
be created that adds those hooks and then based on that can enforce the
mandatory access on wether that is allowed or not.
Smack is just another one just like SELinux, that uses the LSM "stack" to
accomplish certain mandatory access control's. The reason there is such a
backslash against it is because security experts argue that LSM itself is not
safe and should be removed. LSM adds complexity, and now with Smack in the
kernel source tree as well it would result in users creating their own MAC
frameworks rather than having one with a proper API set (like for example VFS),
and LSM has been a moving target since it has been introduced making it harder
for people to develop proper policies for it since it's inception.
The disagreements that stem over these arguments are fueled with debate, but
also tons and tons of flames sparking between Linus and the rest of the
community.
There was another one not to far back that was also very painful to watch. That
had to do with schedulers. Ck had written patches and maintained them in the
-ck patchset, that made the scheduler that was included in the Linux kernel
source tree work better on the desktop and the server for different workloads.
Then another developer, and I forget his name, introduced an entirely new
scheduler known as the CFS or the only fair scheduler. There was an entire
backslash against this new scheduler based on the fact that depending on the
work loads thrown at it, it would react differently. Then forward came the fact
that the CK patchset was not accepted was because he refused to add extra code
for corner cases where the scheduler was doing what it was supposed to do, but
was not what the people running were expecting since they relied on an flaw in
the origional scheduler. That is INSANE. Why would extra code need to be added
to keep a flaw that has now been fixed in the scheduler?
It is a shame to see an community getting ripped apart based on the religious
believes and views of certain individuals. Linus Torvalds should not be
outright taking on the believes of some people and not of others. He should be
listening to people in the community and more of a group decision should be
provided, or at least come to. Sure it is nice to have one leader that is
ultimately responsible for the direction of the Linux kernel, but at the same
time that direction is causing people to start flamewars, it has caused people
to leave the Linux kernel as a hacking project. It has caused them to publicly
leave statements that generally show there is a divide in the Linux development
community.
This has to be fixed before serious damage is done. Before it adversely affects
the Linux kernel and it's development. Having top quality developers leave
projects is a sign that the leader is not properly guiding the project. Maybe
the time has come that Linus has outstayed his welcome, and maybe it is time
for someone else to step up to the plate, or as a community a group of people
should step up to the plate.