Lines Matching refs:of
7 The rest of this section covers the scope of the kernel development process
8 and the kinds of frustrations that developers and their employers can
12 influence the direction of kernel development. Code contributed to the
16 release cycle, and the mechanics of the merge window. The various phases in
18 discussion of tools and mailing lists. Developers wanting to get started
27 patches are covered, and there is an introduction to some of the tools
30 :ref:`development_posting` talks about the process of posting patches for
38 of the development process; this section offers a number of tips on how to
42 :ref:`development_advancedtopics` introduces a couple of "advanced" topics:
51 The Linux kernel, at over 8 million lines of code and well over 1000
52 contributors to each release, is one of the largest and most active free
54 kernel has evolved into a best-of-breed operating system component which
56 supercomputers in existence, and all types of systems in between. It is a
59 With the growth of Linux has come an increase in the number of developers
66 interest in the capabilities, performance, and reliability of the Linux
70 One of the most compelling features of Linux is that it is accessible to
72 influence the direction of its development. Proprietary products cannot
73 offer this kind of openness, which is a characteristic of the free software
82 evolved its own distinct ways of operating which allow it to function
84 thousands of lines of code are being changed every day. So it is not
97 frustrating experience. There is a lot of material here, but the effort
99 community is always in need of developers who will help to make the kernel
113 Amanda McPherson, who saw the value of this effort and made it all happen.
115 The importance of getting code into the mainline
123 just keep the code separate and support users directly. The truth of the
124 matter is that keeping code separate ("out of tree") is a false economy.
126 As a way of illustrating the costs of out-of-tree code, here are a few
127 relevant aspects of the kernel development process; most of these will be
133 of supporting multiple versions of multiple distributions; it all just
135 mainline solves a large number of distribution and support problems.
138 space, the internal kernel API is in constant flux. The lack of a stable
141 But one result of that policy is that any out-of-tree code requires
143 out-of-tree code requires significant amounts of work just to keep that
147 result of a simple rule requiring any developer who makes an API change
148 to also fix any code that breaks as the result of that change. So code
162 developers. Out-of-tree code is lower-quality code.
165 direction of kernel development. Users who complain from the sidelines
170 will contribute a different implementation of a similar feature always
172 harder - to the point of impossibility. Then you will be faced with the
173 unpleasant alternatives of either (1) maintaining a nonstandard feature
174 out of tree indefinitely, or (2) abandoning your code and migrating your
177 - Contribution of code is the fundamental action which makes the whole
179 the kernel and provide capabilities and examples which are of use to
182 success of this platform; contributing code is one of the best ways to
185 All of the reasoning above applies to any out-of-tree kernel code,
188 before considering any sort of binary-only kernel code distribution. These
191 - The legal issues around the distribution of proprietary kernel modules
193 most binary-only modules are derived products of the kernel and that, as
194 a result, their distribution is a violation of the GNU General Public
197 legal advice. The true legal status of closed-source modules can only be
201 - Binary modules greatly increase the difficulty of debugging kernel
203 the distribution of binary-only modules will make it harder for your
206 - Support is also harder for distributors of binary-only modules, who must
207 provide a version of the module for every distribution and every kernel
208 version they wish to support. Dozens of builds of a single module can
218 Makers of embedded systems, in particular, may be tempted to disregard much
219 of what has been said in this section in the belief that they are shipping
221 more development after its release. This argument misses the value of
222 widespread code review and the value of allowing your users to add
231 Code is contributed to the Linux kernel under a number of licenses, but all
232 code must be compatible with version 2 of the GNU General Public License
236 versions of the GPL) or the three-clause BSD license. Any contributions
242 original ownership; as a result, the kernel now has thousands of owners.
244 One implication of this ownership structure is that any attempt to change
245 the licensing of the kernel is doomed to almost certain failure. There are
246 few practical scenarios where the agreement of all copyright holders could
248 there is no prospect of a migration to version 3 of the GPL in the
261 mailing lists. Such questions will normally receive no shortage of