LWN.net Logo

ELC: Morton and Saxena on working with the kernel community

By Jake Edge
April 21, 2008

In many ways, Andrew Morton's keynote set the tone for this year's Embedded Linux Conference (ELC) by describing the ways that embedded companies and developers can work with the kernel community in a way that will be "mutually beneficial". Morton provided reasons, from a purely economic standpoint, why it makes sense for companies to get their code into the mainline kernel. He also provided concrete suggestions on how to make that happen. The theme of the conference seemed to be "working with the community" and Morton's speech provided an excellent example of how and why to do just that.

Conference organizer Tim Bird introduced the keynote as "the main event" for ELC, noting that he often thought of Morton as "kind of like the adult in the room" on linux-kernel. Readers of that mailing list tend to get the impression that there's more than one of him around because of all that he does. He also noted that it was surprising to some that Morton has an embedded Linux background—from his work at Digeo.

Morton believes that embedded development is underrepresented in kernel.org work relative to its economic importance. This is caused by a number of factors, not least the financial constraints under which much embedded development is done. An exceptional case is the chip and board manufacturers who have a big interest in seeing Linux run well on their hardware so that they can attract more customers. But even those do not contribute as much as he would like to see to kernel development.

An effect of this underrepresentation is a risk that it will tilt kernel development more toward the server and desktop. The kernel team is already accused of being server-centric, and there is some truth to that, "but not as much as one might think". Kernel hackers do care about the desktop as well as embedded devices, but without an advocate for embedded concerns, sometimes things get missed.

Something Morton would like to see is a single full-time "embedded maintainer". That person would serve as the advocate for embedded concerns, ensuring that they didn't get overlooked in the process. An embedded maintainer could make a significant impact for embedded development.

Not all kernel contributions need to be code, he said. There is a need just to hear the problems that are being faced by the embedded community along with lists of things that are missing. "Senior, sophisticated people" are needed to help prioritize the features that are being considered as well. Morton often finds out things he didn't know at conferences, things that he should have known about much earlier: "That's bad!"

Morton is trying to incite the embedded community to interact with the kernel hackers more on linux-kernel. He said that a great way to get the attention of the team is to come onto the mailing list and make them look bad. Unfavorable comparisons to other systems or earlier kernels, for example, especially when backed up with numbers, are noticed quickly. He said that it is important to remember that the person who makes the most noise gets the most attention.

One of the areas that he is most concerned about is the practice of "patch hoarding"—holding on to kernel changes as patches without submitting them upstream to the kernel hackers. It is hopefully only due to a lack of resources, but he has heard that some are doing it to try and gain a competitive advantage. This is simply wrong, he said, companies have a "moral if not legal obligation" to submit those patches.

The code will be better because of the review done by the kernel hackers; once it is done, the maintenance cost falls to near zero as well. He also touted the competitive advantage, noting that getting your code merged means that you have won—competing proposals won't get in.

There are many good reasons for getting code merged upstream that Morton outlined. The code will be better because of the review done by the kernel hackers; once it is done, the maintenance cost falls to near zero as well. He also touted the competitive advantage, noting that getting your code merged means that you have won—competing proposals won't get in. Being the first to merge a feature can make it easier on yourself and harder on your competition.

There are downsides to getting your code upstream as well. Most of those stem from not getting code out there early enough for review. The kernel developers can ask for significant changes to the code especially in the area of user space interfaces. If a company already has lots of code using the new feature and/or interface, it could be very disruptive; "sorry, there's no real fix for that except getting your code out early enough".

Another downside that companies may run into is with competitors being brought into the process. Morton and other kernel hackers will try to find others who might have a stake in a new feature to get them involved so that everybody's needs are taken into account. This can blunt the "win" of getting your feature merged. Some are also concerned that competitors will get access to the code once it has been submitted; "tough luck" Morton said, everything in the kernel is GPL.

Morton had specific suggestions for choosing a kernel version to use for an embedded project. 2.6.24 is not a lot better than 2.4.18 for embedded use, but it has one important feature: the kernel team will be interested in bugs in the current kernel. He suggests starting with the current kernel, upgrading it while development proceeds, freezing it only when it is time to ship the product.

He also suggests that a company create an internal kernel team with one or two people who are the interface to linux-kernel. This will help with name recognition on the mailing list, which will in turn get patches submitted more attention. Over time, by participating and reviewing others' code, the interface people will build up "brownie points" that will allow them to call in favors to get their code reviewed, or to help smooth the path for inclusion.

The kernel.org developers appear to give free support, generally very good support, Morton said, but it is not truly free. Kernel hackers do it as a "mutually beneficial transaction"; they don't do it to make more money for your company, they do it to make the kernel better. Morton is definitely a big part of that, inviting people to email him, especially if "five minutes of my time can save months of yours".

The decision about when to merge a new feature is hard for some to understand. Many consider Linux a dictatorship, which is incorrect, it is instead "a democracy that doesn't vote". The merge decision is made on the model of the "rule of law" with kernel hackers playing the role of judges. Unfortunately, there are few written rules.

Some of the factors that go into his decision about a particular feature are its maintainability, whether there will be an ongoing maintenance team, as well as the general usefulness of the feature. Depending on the size of the feature, an ongoing maintenance team can be the deciding factor. It is not so important for a driver, but a new architecture, for example, needs ongoing maintenance that can only be done by people with knowledge of and access to the hardware.

MontaVista kernel hacker, Deepak Saxena, gave a presentation entitled "Appropriate Community Practices: Social and Technical Advice" later in the conference that mirrored many of Morton's points. He showed some examples of hardware vendors making bad decisions that got shot down by the kernel developers, mostly because they didn't "release early and release often". There is a dangerous attitude that "it's Linux, it's open source, I can do anything I want" which is true, but won't get you far with the community.

Saxena has high regard for the benefits of working with the system: if your competitor is active in the community, they are getting an advantage that you aren't. Like Morton, he believes that some members of the development team need to get involved in kernel.org activities. "The community is an extension of your team, your team is an extension of the community."

He also has specific advice for hardware vendors: avoid abstraction layers, recognize that your hardware is not unique, and think beyond the reference board implementation. Generalizing your code so that others can use it will make it much more acceptable, as will talking with the developers responsible for the subsystems you are touching. Abstraction layers may be helpful for hardware vendors trying to support multiple operating systems, but they make it difficult for the kernel hackers to understand and maintain the code. The kernel.org folks are not interested in finding and fixing bugs in an abstraction layer.

He also points out additional benefits of getting code merged. Once it is in the kernel, the company's team will no longer have to keep up with kernel releases, updating their patches to follow the latest changes. The code will still need to be maintained, but day-to-day changes will be handled by the kernel.org folks. An additional benefit is that the code will be enhanced by various efforts to automatically find bugs in mainline kernel code with tools like lockdep.

It is clear that the kernel hackers are making a big effort to not only get code from the embedded folks, but also some of their expertise. There are various outreach efforts to try and get more people involved in the Linux development process; these two talks are certainly a part of that. By making it clear that there are benefits to both parties, they hope to make an argument that will reach up from engineering to management resulting in a better kernel for all.


(Log in to post comments)

ELC: Morton and Saxena on working with the kernel community

Posted Apr 21, 2008 18:06 UTC (Mon) by Frej (subscriber, #4165) [Link]

Sorry for this highly offtopic/political and nontechnical reply. Please don't hate me ;).

>The decision about when to merge a new feature is hard for some to understand. Many consider
Linux a dictatorship, which is incorrect, it is instead "a democracy that doesn't vote". The
merge decision is made on the model of the "rule of law" with kernel hackers playing the role
of judges. Unfortunately, there are few written rules. 

I'm not a native english speaker, so i might be reading it wrong. But the above paragraph does
seem a bit "loaded" (In lack of a better word).

Don't claim that some thing is hard to understand "for some". That's arrogant? Especially
since the author seems to understand, from the following sentence(s): 
>Many consider linux a dictatorship, which is incorrect, it is a "democracy that doesn't
vote".

That's a phrase coming from a dictator defending himself ;). At the least the argument "that's
incorrect" certainly doesn't make it easy to understand. 

>The merge decision is made on the model of the "rule of law" with kernel hackers playing the
role of judges. Unfortunately, there are few written rules. 

A democracy with no voting and judges that have no rules. Don't claim the linux model is  a
democracy then, it obviously isn't. Democracy should more or less be equivalent to "Majority
rules" - when you don't vote how can majority rule? Explain why the model works for linux
instead ;). 

Being a dictatorship does not have to be bad. As long as people are free to go their own way
and leave(fork) it counters the arbitrary power of maintainers for the specific project(with
name).

Even though the consensus is that linus is a benevolent dictator. Which is my claim, google is
my reference ;). Maybe it's more of an an oligarchy today with many more maintainers.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 21, 2008 18:34 UTC (Mon) by darwish07 (subscriber, #49520) [Link]

>A democracy with no voting and judges that have no rules. Don't claim the linux model is a
democracy then, it obviously isn't. Democracy should more or less be equivalent to "Majority
rules" - when you don't vote how can majority rule? Explain why the model works for linux
instead ;). 

No it's a democracy to the right limit. i.e. you can post a feature, even if Linus himself
said OK, and another developer found something bad in your code, Andrew or subsystem
maintainer won't merge the code till it has zero objections.

It's just hidden democracy. i.e., there's no formal process but there's informal way which is
more pragmatic and solve the 'merge/not-merge' problem quite well (in most cases).

Flawed democracy

Posted Apr 30, 2008 18:07 UTC (Wed) by man_ls (guest, #15091) [Link]

That doesn't look like a true democracy to me. For me the ultimate test to check if something is a democracy is: can a subverter (e.g. someone like Fidel Castro) do it and claim that it is still a democracy? In this case the kernel doesn't pass muster; Castro might subvert a system without written rules.

Not that it is necessarily a bad thing; as others have said, as long as anyone can elect to be out of the process it has to be a fair process or languish. That is better than a democracy IMHO.

Linux does past your test

Posted May 2, 2008 5:17 UTC (Fri) by anandsr21 (guest, #28562) [Link]

Even Linus cannot subvert the process. His request can be turned down by the maintainer, and
if he tried to force the kernel will fork. Even if Linus, Morton and the subsystem maintainer
try together to hoodwink the whole community, it will not be easy to prevent a fork.

Depends on how you define it

Posted May 2, 2008 10:22 UTC (Fri) by man_ls (guest, #15091) [Link]

Think about it as "gaming the system", OK? Maintainers are after all elected by Linus himself, without any external oversight, so you can assume they are of one mind. And the same goes for Morton. They could stage all a revolt against Linus but the outcome would not be sure either way.

Forking as you say is hard to prevent, but IMHO it is out of the question; in this case people are getting out of the system. It is like people fleeing a tyrannic country, which may or may not be prevented by the authorities (remember when Castro encouraged balseros to go and "invade" Miami). Of course in this case it is the crucial point, so maybe we are splitting hairs here.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 21, 2008 18:38 UTC (Mon) by darwish07 (subscriber, #49520) [Link]

> Even though the consensus is that linus is a benevolent dictator. Which is my claim, google
is my reference ;). Maybe it's more of an an oligarchy today with many more maintainers.

In any project with large number of humans, there *must* be a final authority. Without that
authority, people will just go in endless debates and *stop* doing the useful work. 

There's a fine line between dictatorship and 'final authority' but I think Linus is walking on
that line very well.



ELC: Morton and Saxena on working with the kernel community

Posted Apr 21, 2008 21:19 UTC (Mon) by mattmelton (guest, #34842) [Link]

Lord Hailsham would have called it an "elective dictatorship" (the form of the British
constitution) -- but lets not get too constitutional because it requires some study or hell
will break loose on convention vs written.

Yup. The only working model

Posted Apr 22, 2008 0:15 UTC (Tue) by khim (subscriber, #9252) [Link]

A democracy with no voting and judges that have no rules. Don't claim the linux model is a democracy then, it obviously isn't.

The linux model is obviously democracy. You don't even need 50% of votes to fork the kernel: 10-15% of developers will be enough. See: FreeBSD, NetBSD, OpenBSD, etc. So far Linux does not have significant forks - that means that system works. The fact that there are no known rules is advantage, not weakness. If you have written rules you have a way to game the system, but if the only way to get anything done is rough consensus it's much harder. Take a look on Microsoft's attack on two systems: IETF (no strict rules) and ISO (rigid structure with a lot of bureaucracy). First attack failed: after four years SenderID is still "an Experimental Protocol for the Internet community" and not "an Internet standard of any kind". Second attack succeded: now we have this huge mess called ISO/IEC 29500 standard.

Rules are means to speed up decision process, nothing more - when they are allowed to work as substitute for common sense bad things happens.

Forking Linux? Fugettaboutit!

Posted Apr 22, 2008 1:15 UTC (Tue) by pr1268 (subscriber, #24648) [Link]

You don't even need 50% of votes to fork the kernel: 10-15% of developers will be enough.

I just can't see the Linux kernel forking anytime soon. As long as Linus still maintains a presence, it would be impossible from a marketing perspective (not to mention a complete loss of credibility) to fork the kernel. After all, Linus wouldn't go "both ways" and actively maintain divergent forks, and having the "Kernel supported by Linus himself" as a sales/market pitch would certainly do little for the competing fork. Not that it couldn't happen legally (I'm thinking GPLv2 here), nor that it hasn't happened before (the aforementioned BSDs).

As for the parent comment by Frej, please understand that regardless of any "loaded" comments in the article with respect to how Linux is managed, the management style works because (1) Linus plays a big part of kernel development, even after almost 17 years of hacking Linux; (2) he is unusually skilled and talented at many aspects of operating system theory and kernel hacking, software engineering, and, most importantly, people skills (arguably the most difficult of these), and (3) he commands a great deal of respect because of (1) and (2). Whatever you (or the article) call it, the management style is what it is due to 17 years of continuous development. And, besides, ELC keynote speaker Andrew Morton works with Linus on a daily basis, so I suppose they know each other quite well.

Forgive me for all the Linus "gushing"; I've done it here on LWN.net before. But I still firmly believe that Linux owes much of its success to Linus' positive attributes mentioned above.

GPL ensues democracy, Linus make it work

Posted Apr 22, 2008 6:27 UTC (Tue) by khim (subscriber, #9252) [Link]

It's totally different question: why the democracy work. GPL ensues democracy - with or without Linus. Since you can not create proprietary fork the only reason to fork is if Linus makes bad decisions (BSD license, in comparison, allows democracy, not ensues it). And if Linus will make bad decisions on regular basis you'll see that this "Kernel supported by Linus himself" will quickly become moot point (see gcc/ecgs story, for example: forks like pgcc were frowned upon and rarely used till a lot of developers "voted" against FSF's rule). Now, it's true that Linus is enforcing some decisions - but so do "real" democracies (have you seen any where all decisions are made by votes of everyone?). They have government for everyday's work and even fundamental things like taxes are rarely voted by the "population at large".

Free software is a democratic institution because everyone have exactly one "vote" - it's just that this vote must be cast with your feet, not with your ballot. Unlike real life (where you'll be forced to change lifestyle and your spouse and kids will suffer) "vote with your feet" in virtual world only affects your work, nothing else - so it's proper vote. Proprietary software is, of course, planned economy: what the management says - goes. And as usual when resources are scarce and goal is clear planned economy work best (recall 20th years of last century in USSR and US) but when you have enough resources to try different approaches and don't have a clear goal... take a look on Windows Vista and Linux today...

Yup. The only working model

Posted Apr 22, 2008 13:13 UTC (Tue) by Frej (subscriber, #4165) [Link]

>The linux model is obviously democracy. You don't even need 50% of votes to fork the kernel:
... So far Linux does not have significant forks - that means that system works.

Forking is individual freedom and not a form of government. Actually a key part of democracy
is that "majority rules", which is obviously >50%. I agree it's important that the possibility
of forking exists, as i wrote
"...As long as people are free to go their own way and leave(fork), it counters the arbitrary
power of maintainers for the specific project(with name)."


>The fact that there are no known rules is advantage, not weakness. If you have written rules
you have a way to game the system, but if the only way to get anything done is rough consensus
it's much harder. Take a look on Microsoft's attack on two systems: IETF (no strict rules) and
ISO (rigid structure with a lot of bureaucracy). First attack failed: after four years
SenderID is still "an Experimental Protocol for the Internet community" and not "an Internet
standard of any kind". Second attack succeded: now we have this huge mess called ISO/IEC 29500
standard.

Yes rules is always an complication. I don't disagree with this. The linux model has obviously
worked. But that doesn't make it a democracy.

My gripe was about the use of democracy as the true solution for all problems. If that holds,
then for linux to be a solution, we must argue that it is some kind of democracy. 

Forks are out there

Posted Apr 30, 2008 18:27 UTC (Wed) by man_ls (guest, #15091) [Link]

There are a lot of forks that have existed for a long time (-ac, -aa), and some are still out there (-rt, -mm). Apart from explicit forks (called "trees", but diverging in substantial ways) there are distribution kernels, which are often maintained in a parallel state. And we can assume that there are large numbers of private forks all over, either experimental, outdated or temporary, but these are not "significant" as in your message.

If Linus went crazy and stopped merging new drivers while including OS/2 Warp code, people would probably switch to an externally maintained kernel. There must be excellent maintainers out there: every distro has one or more. This is not really a democracy except etymologically: power by the people, for the people.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 2:54 UTC (Tue) by fjf33 (subscriber, #5768) [Link]

I think the problem is that we have created this dichotomy between democracy (good) and
everything else (bad) so we cannot apply some of the other terms that are probably closer to
the reality of the kernel development.

To me it looks more like an aristocracy where the best and the brightest have absolute control
based on internally developed conventions and pressures. Their power comes from 'knowing' what
is best and right, which is the main reason why they don't abuse their powers. The threat of a
peasant revolt (fork?) is what keeps them inline plus the ego massage from belonging to the
elite group.

A pure democratic method would probably produce a much lower quality product in the sense that
it would tend to converge on a boring consensus kernel that tries to be something to everybody
without pleasing anyone.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 13:33 UTC (Tue) by Frej (subscriber, #4165) [Link]

>I think the problem is that we have created this dichotomy between democracy (good) and
everything else (bad) so we cannot apply some of the other terms that are probably closer to
the reality of the kernel development.

Exactly what i wanted to get across - but much clearer than what wrote. Thank you! :)

ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 13:35 UTC (Tue) by Frej (subscriber, #4165) [Link]

Exactly what i wanted to get across - but much clearer than what I wrote. Thank you! :)


ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 15:44 UTC (Tue) by madscientist (subscriber, #16861) [Link]

> To me it looks more like an aristocracy where the best and the brightest
> have absolute control based on internally developed conventions and
> pressures. Their power comes from 'knowing' what is best and right, which
> is the main reason why they don't abuse their powers.

This is called a meritocracy.  An aristocracy is where rule is hereditary.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 24, 2008 3:11 UTC (Thu) by lysse (guest, #3190) [Link]

In fact, the word "aristocracy" derives from the Greek for "rule by the best". (It's also
worth noting that the coiner of the term "meritocracy" - presumably "rule by the most
deserving" - saw it as a *dystopian* ideal; and it doesn't take too much imagination to see
that what starts out as meritocracy soon ossifies into aristocracy.)

Linux kernel: aristocracy?

Posted Apr 25, 2008 3:40 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

In fact, the word "aristocracy" derives from the Greek for "rule by the best".

Sure, but that doesn't mean the best individuals to rule. The original users could have meant rule by the class of people that is defined to be superior rulers or even superior people. In 1561 (which is apparently the earliest use of it), it was common to divide people into such classes, and it was usually done the same way species are: by bloodlines.

I just looked to see what two American English dictionaries had to say about it, and one says solidly that it's a "best class," based on heredity. And the other says its either that or the best individuals.

ELC: Morton and Saxena on working with the kernel community

Posted May 2, 2008 11:16 UTC (Fri) by dale77 (guest, #1490) [Link]

Nice post. Lets try and avoid calling things by labels we like, as opposed to labels which
actually apply.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 24, 2008 23:31 UTC (Thu) by aegl (subscriber, #37581) [Link]

I think that Andrew's comments about a democracy that doesn't vote relates to the high rate of abstentions when a patch is posted.

Everyone CAN vote by posting a reply to any patch submission with either a YES ("Acked-by:") or a NO (reason for not merging). But hardly anybody does.

There are currently 4816 subscribers to the linux-kernel mailing list. Most "votes" are carried with 2 YES (proposer of the patch and 1 Ack) and 4814 abstentions. This is a good thing. A well thought out and obviously correct patch should get merged with minimal discussion. If everybody did start voting, the mailing list would grind to a halt (If every one of the 12,000+ commits that got us from 2.6.24 to 2.6.25 was discussed by all 4816 readers of LKML, then vger.kernel.org would melt under the load).

Linux kernel: democracy that doesn't vote

Posted Apr 25, 2008 3:25 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

Are you claiming that every LKML subscriber has equal weight? I've never seen any rules for how the decision to merge works, but I'm pretty sure there's nobody counting up votes on the mailing list and accepting a patch if there are more yesses than noes.

Linux kernel: democracy that doesn't vote

Posted Apr 25, 2008 4:14 UTC (Fri) by aegl (subscriber, #37581) [Link]

No ... every vote doesn't have equal weight. People who have demonstrated expertise in a particular area will generally have far more influence on a merge decision than people without a track record, who in turn may have more weight than people who have publically demonstrated their lack of knowledge.

But even Linus gets "outvoted" from time to time (he just merged kgdb even though he really doesn't like the idea of kernel debuggers).

So the process is rather vague, and sometimes surprising ... but there is a general philosophy behind it. Maybe a merge decision can be summed up by answering the question: "Will this patch make the kernel better?" ... but this is still poorly specified unless you have the same opinion about what "better" means in the context of Linus' (and many of the other maintainers and key developers) goals.

Some of the people who find it "hard to understand" the process are under the mistaken impression that the goal is commercial success. It isn't. The goal is to be the best kernel for its users. Commercial success might follow as a result of being good. But if you ask Linus how much he cares about the "market segment share" that Linux has, I bet his answer will be something like "not at all".

Linux kernel: democracy that doesn't vote

Posted Apr 25, 2008 15:46 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

OK, that's not voting. Voting is a mathematical process; there are lots of other words for that: consensus, giving opinion, giving advice, etc.

If merely stating your position on LKML could be called voting, then citizens that go before a city council meeting to argue against a new zoning ordinance would be said to be voting on the ordinance.

Voting is the simplest way to implement democracy, and I think many people assume it's the only way, which is why Andrew feels the need to call it "democracy that doesn't vote."

ELC: Morton and Saxena on working with the kernel community

Posted Apr 21, 2008 23:17 UTC (Mon) by katalix (subscriber, #41610) [Link]

I applaud Andrew and Deepak for their efforts here. The best Linux projects are run as
extensions to the community. The company gains by interacting with experts in the community,
resulting in better code. Linux gains by new features or hardware support being added to the
kernel.

We need to make more hardware and silicon vendors aware of the benefits in working with the
community. Too many SoC vendors, for example, don't submit their kernel patches to the
community. They prefer to distribute their own "patched" kernel to their customers directly,
as if they're adding value by doing so. In the last two years, I've worked on projects at
different companies using SoCs from three different silicon vendors and none of those silicon
vendors were actively working on submitting their code to the kernel. Why? The article gives
several reasons that I won't repeat again here. A few more are

- High perceived difficulty in getting patches approved. Companies who try to submit work to
the kernel lists can be scared off by what they perceive as aggressive or unreasonable
comments from the community. The Linux community could do better in this area. This is where
Andrew's initiative comes in - educating people about how to work with the community. Greg KH
is also active on this.

- Concern that releasing open source drivers for hardware somehow gives away competitive
advantage. This is a hard nut to crack. If companies understood more about the potential
advantages of submitting code into the kernel, more might do so. Some companies though are
just stuck in their ways.

- The quality of the vendor's code isn't up to scratch to be accepted into the kernel. The
hardware vendor knows it so doesn't bother submitting it. I even saw one comment in one
vendor's kernel distribution along the lines of "Heaven forbid we are forced to release this
code to linux-mips.org. We'll be laughed at." Unfortunately, some code written by or for
hardware vendors is done in a way that is never intended for submission into the kernel. As a
result, it is often buggy and difficult to keep up to date when new kernel features come
along.

The bottom line is that if you are starting an Embedded Linux project and are evaluating
hardware alternatives, choosing hardware that is already supported by the Linux kernel could
save months of software effort, even if the hardware vendor claims Linux support by "special"
out-of-tree code. Let's help them understand what's in it for them in working with the
community.

Shameless plug. I published a white paper on Best Practices in Embedded Linux a while ago.
http://www.katalix.com/doc/embedded_linux_best_practices.pdf

-- 
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 6:31 UTC (Tue) by michaeljt (subscriber, #39183) [Link]

> Abstraction layers may be helpful for hardware vendors trying to support multiple operating
systems, but they make it difficult for the kernel hackers to understand and maintain the
code. The kernel.org folks are not interested in finding and fixing bugs in an abstraction
layer.

I have always found this to be rather a shame, as the Linux kernel is the largest repository
of free device drivers in existence.  It would be nice if some effort were made to make them
benefit other projects which could make use of them as well.

ELC: Morton and Saxena on working with the kernel community

Posted Apr 22, 2008 14:41 UTC (Tue) by hmh (subscriber, #3838) [Link]

We have a lot of cross-pollination between Linux and the BSDs, the people developing for each
O.S. can read the other's source code just fine.

Granted, you can't always re-use the code itself, but that *really* isn't what matters most,
especially for drivers.  In fact, it is best if things remain as they are.  We get better code
quality and a much higher degree of freedom to change interfaces that way.

The really precious information (how to talk to the hardware) is already shareable among all
since the code is open anyway.  That's the only thing that matters.

ELC: Morton and Saxena on working with the kernel community

Posted May 13, 2008 8:55 UTC (Tue) by michaelo (subscriber, #23907) [Link]

You may be interested in the videos that we took of Andrew's and Deepak's  presentations. All
the videos that we took are announced on http://free-electrons.com/news/news.2008-05-13

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