|
|
Log in / Subscribe / Register

Debugfs and the making of a stable ABI

Debugfs and the making of a stable ABI

Posted Dec 6, 2008 20:21 UTC (Sat) by giraffedata (guest, #1954)
Parent article: Debugfs and the making of a stable ABI

There's something deeply disturbing about a practice of ensuring forward compatibility by withholding function from the present release. It's selfishness masquerading as public service.

It is a software distributor's duty not to mislead people into using a function that will make it harder to move to a later release, and that's where the documentation that Linus finds useless comes in.

I think the only reason Linus sees documentation as having no effect on what people depend upon is that the Linux kernel has a no documentation culture. Stating in Documentation/xxx.txt that X isn't intended as a stable API falls way short of informing users that X isn't intended as a stable API, and in fact there often is no way to get that information across. In fact, given the vague nature of the Linux development community, I'm not sure "intended" has much of a meaning. But I'm sure Linus knows of many features in other software that are not depended upon only because documentation warns of loss of forward compatibility.


to post comments

Debugfs and the making of a stable ABI

Posted Dec 7, 2008 18:03 UTC (Sun) by bronson (subscriber, #4806) [Link] (2 responses)

Linus's point is that when he documents a feature "unstable" or "do not use", distros often use it anyway. Once that happens, it doesn't matter how it's documented, the interface must be preserved forever.

It's not "Linus finds warnings in documentation useless" as you suggest, it's "Linux users have demonstrated time and time again that it's useless". A subtle but important difference.

The only practical solution so far has been to simply withhold the feature until the interface is stable. But all programmers do this. I don't see why you find that so deeply disturbing...?

Debugfs and the making of a stable ABI

Posted Dec 7, 2008 23:36 UTC (Sun) by giraffedata (guest, #1954) [Link] (1 responses)

Linus's point is that when he documents a feature "unstable" or "do not use", distros often use it anyway.

He makes a more general point. He says whether something is documented has zero impact on anything. While I believe from context he meant to limit that to impact on whether it's OK to change function in a later release, I believe he meant to cover engineering in general and not just the Linux kernel, and that he meant zero.

Even in the Linux kernel, there are plenty of cases where because something is documented as something developers want to change in the future, a Linux user did not use it. But if you consider things that don't have Linux's no-documentation culture, there are even more cases of someone not using an interface because documentation shows it is not intended to be an interface.

Linus' statement is, like so many he makes, greatly exaggerated.

The only practical solution so far has been to simply withhold the feature until the interface is stable. But all programmers do this. I don't see why you find that so deeply disturbing...?

Neither of those things affect whether there's something disturbing in the practice. What I find disturbing is the contradiction or irony. Distributing tools is primarily about enabling people. Tool makers shouldn't be in the business of manipulating behavior.

It reminds me of an I/T group I once worked for, whose mission was essentially to withhold computing services from people (it was a large centralized I/T department that functioned as a budget control point).

Debugfs and the making of a stable ABI

Posted Feb 25, 2011 5:07 UTC (Fri) by jrn (subscriber, #64214) [Link]

> What I find disturbing is the contradiction or irony. Distributing tools is primarily about enabling people. Tool makers shouldn't be in the business of manipulating behavior.

It _is_ interesting. But I think you'll find something similar in the behavior of many tool makers (toy makers, carpenters, machinists, etc). It is considered irresponsible to give people something that will only lead to pain or danger.


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