LWN.net Logo

GNU + Linux = broken development model

GNU + Linux = broken development model

Posted Jul 30, 2009 17:03 UTC (Thu) by mikov (subscriber, #33179)
In reply to: GNU + Linux = broken development model by elanthis
Parent article: A tempest in a tty pot

No, I am sorry, this is beside the point.

For one, Microsoft doesn't release a new kernel every 6 months (far from it), so the breakage doesn't occur every 6 months. I don't want to sound like I am defending them, but there are parts of their strategy that are trruly superior to the Linux model in my opinion. We cannot simply say "everything that Microsoft does is bad". Monopoly is part of their success, but a large part of it also is that they did some things right. Having a stable API is definitely one of them.

That pains me because I am Linux developer and user for both practical and ideological reasons (I am willing to suffer a little pain in the cases when Linux is inferior).

Plus, I am referring to source level API, and not so much keeping it completely static, but approaching the changes formally by versioning and formal documentation.

Not having a stable API makes life a little easier for the core kernel developers, but much harder for everybody else. Plus, in the broader picture, I am sure that it is an insurmountable barrier before "Linux" on the desktop.

Heed my words: Linux will never succeed on the desktop without a stable driver API. I wish it wasn't so.


(Log in to post comments)

GNU + Linux = broken development model

Posted Jul 30, 2009 17:43 UTC (Thu) by foom (subscriber, #14868) [Link]

Linux *does* have stable driver APIs.:
- libusb for usb in userspace.
- FUSE for filesystems in userspace.
- UIO for driving arbitrary hardware from userspace

Perhaps more?

GNU + Linux = broken development model

Posted Aug 1, 2009 23:11 UTC (Sat) by Lumag (subscriber, #22579) [Link]

IIRC stuff around netdev was backwards-compatible for ages (not talking about NAPI :)). We experienced only one major change with it - the net_device_ops.

GNU + Linux = broken development model

Posted Aug 2, 2009 8:43 UTC (Sun) by johill (subscriber, #25196) [Link]

Multiqueue was another big change, but didn't matter much unless you used it.

GNU + Linux = broken development model

Posted Jul 30, 2009 20:10 UTC (Thu) by rvfh (subscriber, #31018) [Link]

I just wanted to say that, Linux-lover as I am, I agree with you mikov. It seems that people are a bit too eager to break interfaces (and even Linus complained about it, though it was about the /sys filesystem IIRC).

Breaking the API when it solves a problem is the Linux way, so improvements can be made, but one should strive not to do it if it can be avoided. And one would expect these changes to be kinda obvious and documented (a proper #warning can help a big deal), or even to a have an in-kernel tool (Coccinelle can do this AIUI) provided to update your code for you! Ok, I know, "easy, tiger."

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds