3 ms·
It's a bit more nuanced than that. Miguel(the founder of Gnome but was uninvolved since 5 years) said that the culture of Linux was to break things(see driver A
by recoiledsnake 14y ago
It's a bit more nuanced than that. Miguel(the founder of Gnome but was uninvolved since 5 years) said that the culture of Linux was to break things(see driver ABI) and then use the fact that the driver source is available for most drivers to get around that and just recompile them with changes. And that the userland adopted that practice(see autoconf) and led to fragmentation of the software platform with library hell, leading to commercial software staying away for the most part.
As you say, others responded with external vs. internal interfaces, but what is an external and internal interface for things like Gnome or KDE? They have only one API that's used by both their other libraries/applications and application writers.
- jlgreco 14y ago"They have only one API that's used by both their other libraries/applications and application writers." Which is a problem they without doubt did not inherit from the kernel team. There is little doubt that the GNOME guys have been using kernel practices to justify their actions. The point being made here is that they are wrong to do so.
- recoiledsnake 14y ago>Which is a problem they without doubt did not inherit from the kernel team. Interesting point, Windows, OS X, iOS etc. get derided for having internal private APIs that they try to prevent external devs from using, and not doing the same thing is now a 'problem' for GNOME and KDE? Isn't the whole point of Linux for developers, freedom to use it as you see fit?
- CodeMage 14y agoIsn't the whole point of Linux for developers, freedom to use it as you see fit? I've yet to hear of a philosophy that allows you to both 1) use everything as you see fit, even things marked as "internal" or "private" and 2) give you the right to complain about your software getting broken because you relied on things marked as "internal" or "private". In other words, you can either restrict yourself to the published APIs and demand compatibility or you can use the guts of the system and have no expectations of stability when the guts change.
- wamatt 14y agoAllowing the public to use API calls marked as private, with the understanding it may change at short notice, actually seems like a good compromise.
- recoiledsnake 14y agoHow many things can you mark as private in an application GUI toolkit like Gnome or KDE/Qt and make them available to your own applications? Private/public API doesn't really make sense for GUI or sound libraries.
- jlgreco 14y agoRegardless of what you think of them not having a stable "external" ABI, it is something they did not get from the kernel team.
- Evbn 14y agoWindows and Apple due it to illegally stifle or at least lazily under-support potential competition with their apps. That is a non-issue in free software. And Windows and Apple are the talking about company-private userland APIs, not kernel-internal APIs.
- nteon 14y agoThe Linux internal APIs are things that can only be used to construct kernel modules & components - derivative works that make the kernel function differently or support more hardware. Windows/Apple 'internal' APIs enable Apple & Microsoft to create applications with features or performance not available to competitors.