Personal.X-Istence.com

Bert JW Regeer (畢傑龍)

Linux Community Ripping Itself Apart?

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.