Linked by Thom Holwerda on Mon 29th Jun 2009 08:51 UTC
Linux "Intel has created a new network management and configuration system for Linux called ConnMan - but not everyone is pleased to see it challenge NetworkManager. Ars looks at the pros and "conns" of the decision to create the new software."
Order by: Score:

Here we go again...
by darknexus on Mon 29th Jun 2009 10:06 UTC
darknexus
Member since:
2008-07-15

Yet another replacement of an already established system with something completely different because one developer doesn't like the way it's designed. Here's the prime reason Linux-based oses haven't made much general desktop progress: necessary frameworks are being replaced so often that writing applications for them is absolutely pointless and not worth the time if they'll just have to be rewritten for some new subsystem in a few years. I like open source, but even so, I wouldn't waste time targeting Linux distros. Come on Sun/Oracle, give Opensolaris the boost it needs and we may see the open source desktop actually become generally viable. But at this rate, we sure won't see it with Linux oses unless one decides not to just go with the flow of replacing x with y and actually take the time to make sure everything integrates well and keeps everything stable instead of living on the bleeding edge. Too much competition, not nearly enough collaboration.

RE: Here we go again...
by massa on Mon 29th Jun 2009 12:13 UTC in reply to "Here we go again..."
massa Member since:
2005-08-22

Your argument assumes that the same does not happen on Windows, on MacOSX, and all other proprietary OSes.

RE[2]: Here we go again...
by darknexus on Mon 29th Jun 2009 13:54 UTC in reply to "RE: Here we go again..."
darknexus Member since:
2008-07-15

Well, neither does yours when you come right down to it, you haven't stated anything about what does or doesn't happen on open source versus proprietary oses. However, I did not say that this constant replacing of subsystems was a problem inherent to open source, I said it is an issue concentrated specifically around Linux and the community around it.
Subsystems do eventually need replaced or overhauled regardless of os or development model, but it seems that under Linux in particular one system no sooner gets to be somewhere close to stable then another comes to replace it. OSS/Free to ALSA, devfs/hotplug to udev, ipchains to iptables... the list seems endless and the result as fickle as the current dev of the day's choice of dinner. If you contrast this with *BSD, Solaris, and the like you see that those platforms have managed to keep their subsystems relatively stable for a very long period of time. FreeBSD, for example, though at major version 7 can run applications compiled as far back as to be built for version 4. A driver for Solaris 10 will typically still work, pre-built no less, on Opensolaris even up to the latest builds. This is typically not the case with Linux unless the applications are either statically linked or linked in such a way that it will not look for specific library files but will instead load them by name and/or version. Drivers are not backward or forward compatible at all in Linux, a driver must be recompiled to match the running kernel version in order to work properly, as even if you forceably load such a driver in the wrong kernel it may cause erratic behavior.
Now where am I sighting proprietary examples? Where did I say this is a problem inherent to open source development? It has nothing to do with open source, and everything to do with the chaotic and anarchic way Linux and most distributions there of are developed. It is the result of being a mishmash of components slapped together rather than being a complete system as other foss platforms are.

RE[3]: Here we go again...
by KAMiKAZOW on Mon 29th Jun 2009 14:25 UTC in reply to "RE[2]: Here we go again..."
KAMiKAZOW Member since:
2005-07-06

If you contrast this with *BSD, Solaris, and the like you see that those platforms have managed to keep their subsystems relatively stable for a very long period of time. FreeBSD, for example, though at major version 7 can run applications compiled as far back as to be built for version 4. A driver for Solaris 10 will typically still work, pre-built no less, on Opensolaris even up to the latest builds.

Yeah, here's a newsflash for you: Hardware moves faster than the long living subsystems you like.
This is about MIDs, small nebooks, and even advanced cell phones. FreeBSD and (Open)Solaris don't even run on those.

RE[4]: Here we go again...
by darknexus on Mon 29th Jun 2009 15:57 UTC in reply to "RE[3]: Here we go again..."
darknexus Member since:
2008-07-15

This is about MIDs, small nebooks, and even advanced cell phones. FreeBSD and (Open)Solaris don't even run on those.

Netbooks? Hmm, funny you should say that... I have both FreeBSD and Opensolaris running on my Eee 1000HE. Here's a news flash for you: just because the hardware changes, a completely new subsystem is typically not needed if the original one can be extended particularly if it works on the same principals. Take networking for example, apart from interfacing needed to bridge to new drivers and/or stacks, the actual process is very similar especially if the userland is decoupled from the physical hardware handling as it should be. But of course, that assumes things are designed well instead of slapped together... oh, wait.

RE[2]: Here we go again...
by Hypnos on Mon 29th Jun 2009 13:59 UTC in reply to "RE: Here we go again..."
Hypnos Member since:
2008-11-19

Do these OSes present a moving target to application developers in the same way that Linux does?

And that's at the source level -- at the binary level it's utter chaos, such that proprietary apps are forced to link everything statically except libc ...

RE[3]: Here we go again...
by vivainio on Mon 29th Jun 2009 14:12 UTC in reply to "RE[2]: Here we go again..."
vivainio Member since:
2008-12-26

Do these OSes present a moving target to application developers in the same way that Linux does?


The targets don't move after the devices are out. And, both Moblin and Maemo *are* Linux.


And that's at the source level -- at the binary level it's utter chaos, such that proprietary apps are forced to link everything statically except libc ...


No way. You need to create the packages (debs) for the target OS anyway. Static linking would be ridiculous.

And BTW, daemons like this use dbus.

RE[4]: Here we go again...
by darknexus on Mon 29th Jun 2009 14:18 UTC in reply to "RE[3]: Here we go again..."
darknexus Member since:
2008-07-15

And why would I, or any other developer, want to create a deb, an RPM, a... ad infinitum for an endless number of systems with an endless number of library variations? There are better uses for the time that would take. Sure, if the software was foss then a packager could do it, but then I'd have to contend with downstream patches x, y, z in Ubuntu and downstream patches x, y, z in Fedora, etc etc... all of which have the potential to introduce bugs that aren't in the original software.
No thanks.

RE[5]: Here we go again...
by vivainio on Mon 29th Jun 2009 16:34 UTC in reply to "RE[4]: Here we go again..."
vivainio Member since:
2008-12-26

And why would I, or any other developer, want to create a deb, an RPM, a... ad infinitum for an endless number of systems with an endless number of library variations?


Because you'll want to test on that platform anyway.

There are better uses for the time that would take.


It doesn't really take much time to make a package, once your source is ready for packaging in the first place. It's one command to build it, really ("dpkg-buildpackage -r fakeroot" or somesuch). And package creation can be automated.

I'd rather have this problem than see the development of Linux platform halted just to stay stable. The Linux development in mobile space is advancing rapidly right now, and attempting to provice full binary compatibibility across device generations is right out. It's going to take years before we have source compatibility, even.

And for new phone generations, you'll want to polish the UI anyway. Recompiling the source is peanuts compared to that.

No thanks.


Sounds rather harsh a reaction towards exciting events taking place these days.

RE[6]: Here we go again...
by FooBarWidget on Mon 29th Jun 2009 19:55 UTC in reply to "RE[5]: Here we go again..."
FooBarWidget Member since:
2005-11-11

Because you'll want to test on that platform anyway.


The time that could have been used to fix bugs that occur on Fedora is now used to create an RPM instead. How is this a good thing?

It doesn't really take much time to make a package, once your source is ready for packaging in the first place. It's one command to build it, really ("dpkg-buildpackage -r fakeroot" or somesuch). And package creation can be automated.


It does. It takes time to learn how packaging works and it takes time to get up to speed.

How do you write a Debian spec file? I keep forgetting it so every time I have to hunt Google for an example file and related documentation. Ditto for RPMs, which I haven't created for 5 years now but last time I remember it it was quite a horrific experience involving rebuilding the package numerous times o get right. Maybe an experienced packager can do it faster but it takes time to become experienced.

I'd rather have this problem than see the development of Linux platform halted just to stay stable.


Why do you see "stability" as synonymous to "halting development"? It's definitely possible to have both. Why not strive harder to have both?

RE[7]: Here we go again...
by vivainio on Tue 30th Jun 2009 07:49 UTC in reply to "RE[6]: Here we go again..."
vivainio Member since:
2008-12-26


The time that could have been used to fix bugs that occur on Fedora is now used to create an RPM instead. How is this a good thing?


But you'll have to create the rpm anyway. Later on, it's just about building the rpm.


It does. It takes time to learn how packaging works and it takes time to get up to speed.


Yeah, but again, this needs to happen anyway. Once you have the packaging working, the changes to it are easy to make.

Why do you see "stability" as synonymous to "halting development"? It's definitely possible to have both. Why not strive harder to have both?


Most libs aim for source and binary compatibility across "major" versions. Of course we can always say "work better!" to all the lib vendors, but it's always about juggling the resources available.

Personally, I don't think binary compatibility matters all that much. Lacking it is a bit of a hurdle for closed source vendors, but not enough to be concerned about. We'll see whether it becomes a real problem few years down the road, but currently thinking too much about it is not worth it.

RE[4]: Here we go again...
by Hypnos on Mon 29th Jun 2009 14:56 UTC in reply to "RE[3]: Here we go again..."
Hypnos Member since:
2008-11-19

* I was referring to OSX and the flavors of Windows. Their core APIs don't change as rapidly as those of Linux.

In the case of Linux-based mobile platforms, the best case scenario is that the platforms stay stable, but they will then they will eventually ecouple from the wider Linux ecosystem. Or, with every new device the platform has to be drastically updated so software will be easier to port from the desktop world.

* One example is Mathematica. It links only to system libc and Xorg libraries. It provides its own Qt, Mesa, LAPACK and Intel Math Kernel Library. Acrobat Reader follows a similar scheme, except it uses a system 32-bit xulrunner.

Notable exceptions are Skype and Adobe Flash, which link to various system libraries; Skype is 32-bit thus far. Then maintainers encounter the same difficulties as with binary GPU drivers: mismatched versions, mysterious bugs, etc.

I would call this a mess.

Edited 2009-06-29 15:01 UTC

RE: Here we go again...
by KAMiKAZOW on Mon 29th Jun 2009 14:16 UTC in reply to "Here we go again..."
KAMiKAZOW Member since:
2005-07-06

Yet another replacement of an already established system with something completely different because one developer doesn't like the way it's designed.

Did you even read the article or are you just trolling? He tried to use NetworkManager and it turned out that it does not fit environments that consists of more than WLAN and Ethernet.

"One problem was the difficulty of extending NetworkManager to support additional kinds of connectivity; Holtmann says that significant portions of NetworkManager's code base would have to be rewritten to facilitate support for WiMAX, for instance. He faced similar challenges when he attempted to overhaul NetworkManager to enable tight Bluetooth integration. (...) ConnMan is lighter and has fewer mandatory dependencies. PolicyKit and the udev device management system are optional dependencies, meaning that ConnMan can work without them in environments where they aren't needed."

RE[2]: Here we go again...
by darknexus on Mon 29th Jun 2009 14:20 UTC in reply to "RE: Here we go again..."
darknexus Member since:
2008-07-15

I did read it, and I'm not impressed with his reasoning for a whole new subsystem. Reworking the parts of networkmanager that are a pain, sure. Making it more extensible, definitely, extensibility is never a bad thing. But to create a whole new, and incompatible I might add, system is just overkill but oh so typical of the Linux community.

RE[2]: Here we go again...
by madcrow on Mon 29th Jun 2009 16:04 UTC in reply to "RE: Here we go again..."
madcrow Member since:
2006-03-13

Sounds like ConnMan may be just what the doctor ordered for Linux networking. The current NetworkManager-based mess does all sorts of things wrong: it's bloated, has lots of dependencies, doesn't intergrate at all with traditional Unix configuration files and AFAIK, doesn't work from either the CLI or WMs other than KDE and GNOME. If ConnMan can fix even some of those problems, I'd be happy.

RE[3]: Here we go again...
by Delgarde on Mon 29th Jun 2009 21:20 UTC in reply to "RE[2]: Here we go again..."
Delgarde Member since:
2008-08-19

Sounds like ConnMan may be just what the doctor ordered for Linux networking. The current NetworkManager-based mess does all sorts of things wrong: it's bloated, has lots of dependencies, doesn't intergrate at all with traditional Unix configuration files and AFAIK, doesn't work from either the CLI or WMs other than KDE and GNOME. If ConnMan can fix even some of those problems, I'd be happy.


Oh, in that case, you can expect to be very unhappy indeed. Because NM *does* integrate with traditional Unix configuration files - not perfectly, but supporting old and new configuration styles is part of what you call bloat. ConnMan doesn't. It's designed for embedded systems, which means it doesn't have any need for compatibility with anything else.

You don't like that NM doesn't work from command line or environments other than Gnome and KDE? Well, according to their website, ConnMan supports Gnome. You could presumably write other UIs, but that's also true of NM.

You want to talk dependencies? They're a little smaller, but not much. ConnMan uses most of the same components as NM - wpa_supplicant, dbus, PolicyKit. Glancing at the code, it uses the ModemManager project that spun off NM. Seems to use libudev to find devices, just like NM does now that HAL is being retired.

In fact, looking at the code base, it seems to me that the most significant difference between the two is that ConnMan appears much more modular - it can be built without wifi, or without ethernet, or bluetooth, etc. Probably useful in an embedded system with known targeted hardware, but as a compile-time option, of no real benefit in a general-purpose desktop.

If you don't like NM, chances are ConnMan isn't for you either...

RE: Here we go again...
by sbergman27 on Mon 29th Jun 2009 17:03 UTC in reply to "Here we go again..."
sbergman27 Member since:
2005-07-24

I'm not sure how much the churn has helped or hurt Linux. But the churn is certainly there. OSS, ALSA, Pulseaudio, devfs, udev, son-of-devfs (or whatever the upcoming thing is called), Network Manager, Connmann...

The list goes on. Sometimes I wish that someone would actually think out these designs before the distros start depending on them.

Edited 2009-06-29 17:04 UTC

open competition is vital
by project_2501 on Mon 29th Jun 2009 12:31 UTC
project_2501
Member since:
2006-03-20

let's not forget people that the very principle of open competition between ideas and implementation is the very thing that makes this area so vibrant, productive and innovative ..

to get this right...
by Kishe on Mon 29th Jun 2009 13:45 UTC
Kishe
Member since:
2006-02-16

Anyone else noticed that Intels guy was complaining about Networkmanager not being good for embedded systems and red hats guy was complaining that Connman isnt good for desktop systems.

Thats like palm complaining ubuntu isnt good for embedded systems and canonical complaining palm pre isnt good for desktop systems.

this is like watching southparks court trial episode with both sides using the chewbacca defense.

GObject
by vivainio on Mon 29th Jun 2009 14:06 UTC
vivainio
Member since:
2008-12-26

From TFA:

He argues that ConnMan is less aligned with the desktop because it eschews GObject and other existing idioms and its lack of integration with distro-specific network configuration elements will be problematic for users.


I'm a fan of ConnMan already.

As a dialup user...
by diegocg on Mon 29th Jun 2009 14:38 UTC
diegocg
Member since:
2005-07-08

Killing network manager is NOT going to make me sad...

RE: As a dialup user...
by Delgarde on Mon 29th Jun 2009 20:51 UTC in reply to "As a dialup user..."
Delgarde Member since:
2008-08-19

Killing network manager is NOT going to make me sad...


You seem to be under the misapprehension that as a dial-up user, ConnMan will be an improvement. It won't. ConnMan is exactly the same thing as NM - it has a few minor differences in approach, but nothing really significant.

I like it personally
by poundsmack on Mon 29th Jun 2009 21:51 UTC
poundsmack
Member since:
2005-07-13

I really like cannman personally. Many of the objections with it about not being able to do certain things that network manager can will be addressed over time, since it is still faily new and network manager has been around for some time. I like a lot of the ideas in connman and the fact that it requires less resources to use makes it ideal for netbooks where teh key is to squeez out as much battery life as humanly possible. all in all they are both good and each have their advantages. I look forward to the inovations that each will bring and that each will cause the other to do in oder to stay "dominant" ;)

Heavy backend
by vivainio on Tue 30th Jun 2009 11:29 UTC
vivainio
Member since:
2008-12-26

One thing that is great w/ ConnMann is that it moves the complexity to the backend, out of the GUI. The fact that kde4 network manager was broken so long (or so I read) showed that something is wrong with the architecture - certainly the UI should be easy to "slap together" quickly. It's the frontend that needs to be implemented several times for different platforms.

always need new alts to networkmanager
by stabbyjones on Wed 1st Jul 2009 03:02 UTC
stabbyjones
Member since:
2008-04-15

network manager has sucked for so long now, especially when you use wireless.

Even with simple things like detecting that a network cable is already plugged in can be missed when it detects a wireless network at startup.

To connect to my university wireless i had to install WICD which as far as wireless goes, beats NM hands down. At home i don't even install network manager as all i'm doing is getting a dhcp connection from my modem.

I'll give ConnMan a go for sure because at the moment using no network manager at all is easier than using NM.