When trying to get source code merged into the upstream kernel, there are a number of things to avoid doing. When you encounter an illustrative example of counterproductive behaviour by somebody trying to get code merged, please document it here. [[TableOfContents]] == The gentle art of making enemies == Like the scientific community, the Linux kernel community operates on a consensus basis. One of the methods of getting your code accepted is by gathering support from other Linux kernel developers. There are a number of obvious ways of turning these people against you, instead of having them work with you. === Your code sucks === While it is sometimes true that some of the code that is in the Linux kernel sucks, pointing this out in a belligerent way is unproductive. You will be much better off proposing improvements to the code, or asking the maintainers what approach for improving the code in question they would like to see. === Idiots! All of you! === Sometimes a ''grand new concept'' is dumped on the Linux kernel community. At least, the author of the proposal would like to think so. It is common for denizens on the linux-kernel mailing list to disagree with some of the aspects of that grand proposal. In this situation, you can take a number of approaches. ''Some people react badly to smart people. Others take advantage of them. Make sure you are in the second group. -- Linus Torvalds'' However, some people react badly to the opinions and suggestions of the people who took hours out of their time to review their code. Some people even flame them to a crisp. Once you have turned enough of the linux-kernel "top dogs" against you, it will become extremely hard to get your code merged. If only because nobody will take the time again to review the next iteration of your code. For an example of what personality clashes can do, take a look at WhyReiser4IsNotIn. ---- CategoryUpstreamMerge