[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: engineering management practices and systemd (Re: Installing an Alternative Init?)



On 11/16/2014 at 11:23 AM, Ludovic Meyer wrote:

> On Sun, Nov 16, 2014 at 09:43:23PM +0900, Joel Rees wrote:
> 
>> I have been informed off-list that some might misinterpret
>> something I wrote here, so I will attempt to clarify a few things.
>> 
>> On Fri, Nov 14, 2014 at 8:59 AM, Joel Rees <joel.rees@gmail.com>
>> wrote:

>>> This all would have been okay for them, if they had followed
>>> proper engineering (management) principles. As long as they were
>>> an independent maverick, they could do what they want. That was
>>> correct, that was good.
>> 
>> I want to repeat that. As long as they kept their work out of the
>> mainstream, it was no problem.
> 
> Your definition of mainstream is strange. So far, I didn't see
> systemd being on something else than Linux, and GNU/Linux is not
> mainstream ( android is, but systemd is out of android ).
> 
> So they kept it out of mainstream, unless you define mainstream as
> "being used by users", in which way I would love to see how you get
> user feedback without having users in the first place.

I suspect that he meant "the mainstream of Linux", which is reasonable
considering the scope of the discussion.

>> They could refine their API as they went and the repercussions were
>> limited to their own source tree. That means they could redefine
>> the API as necessary without interfering with the day-to-day
>> operations of thousands, or even hundreds of thousands of users.
>> 
>> The more users you have, the harder it is to fix an API error.
> 
> yeah, and that's why there is a table : 
> http://www.freedesktop.org/wiki/Software/systemd/InterfacePortabilityAndStabilityChart/
>
>  now, the linux kernel do not have such table, and prevent anyone
> from writing a out of kernel module due to that, despites requests.

One important distinction:

The Linux kernel recognizes and maintains a separation between internal
and external interfaces.

They refuse to stabilize and fix on, or I think even particularly to
document (beyond the source code itself), the internal interfaces. Doing
so would constrain them from making structural and design improvements
when and as they think that is necessary.

They do, however, maintain their external interfaces - rigidly so,
sometimes to what others might call the point of insanity. An
intentionally user-visible API from the Linux kernel will essentially
never change, and if an exception to that is ever made, it will be
announced *years* in advance. That is one reason why they try to be
*VERY* careful to get the user-facing interface "right", at least on
some basic level, before ever pulling it into a released kernel.

The kernel interfaces which kernel modules need to use are
kernel-internal interfaces.

The systemd interfaces described on the page you link to appear to be
systemd-external interfaces.

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: