Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Linux Foundation Paving Way for New Kernel Developers

ScuttleMonkey posted more than 5 years ago | from the map-and-a-stopwatch-for-flying-blind dept.

Programming 46

Jack Spine writes "The Linux Foundation has published a how-to document for developers who want to negotiate the hidden shoals of open source. According to both the Linux Foundation and the Open Source Consortium, developers can get frustrated with the processes in open source coding, especially for enterprise-class projects like Linux. 'A guide to the kernel development process' aims to encourage participation from new programmers by explaining what's involved. Some developers and businesses attempting to submit changes to the Linux kernel find themselves tangled up with the processes used, according to the guide, which was written by Jonathan Corbet, executive editor of lwn.net and himself a Linux developer."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


first post (-1, Troll)

Anonymous Coward | more than 5 years ago | (#24622003)

eat my asshole

direct link (5, Informative)

larry bagina (561269) | more than 5 years ago | (#24622031)

here [linuxfoundation.org] .

slashdotted (0, Redundant)

snl2587 (1177409) | more than 5 years ago | (#24622177)

now [linuxfoundation.org] .

Re:slashdotted (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#24622315)

Oh, I get it! Taking the format of the first post while making a lame joke. You should be a comedian.

Re:slashdotted (1)

grantek (979387) | more than 5 years ago | (#24622399)

I got to it without any problems - did you check your internets? Anyway, this looks pretty neat - I have coding skills I've been itching to flex, but I've never really been involved with a big development project, so some janitorial work could be fun :)

Re:slashdotted (5, Informative)

LinuxScribe (158687) | more than 5 years ago | (#24622425)

It's back up now. We just had to restart the server and turn on some caching goodness.


Re:slashdotted (1)

Briareos (21163) | more than 5 years ago | (#24625277)

1) Get linked on Slashdot
2) Have servers turned into smoldering remains
3) Take servers offline
4) Turn on caching
5) Put servers online again
6) ???
7) Proffit [lwn.net]

(Sorry, I just couldn't resist...)

Step by step guide (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#24622037)

Step 1: make sure it runs linux
Step 2: run linux on it
Step 3: fail to profit
Step 4: reinvent yourself as an "ideas" company

Re:Step by step guide (1)

morgan_greywolf (835522) | more than 5 years ago | (#24623853)

Step 1: Release commercial Linux application
Step 2: See the commercial Linux application end up on The Pirate Bay
Step 3: Realize that Linux users almost never pay for anything
Step 4: YOU FAIL IT!
Step 5: Re-invent yourself as an open source company and sell support
Step 6: Get bought by IBM or Sun.
Step 7: Retire in Bermuda, laughing all the way to the bank.

Re:Step by step guide (0, Flamebait)

louzer (1006689) | more than 5 years ago | (#24624679)

Wouldn't     the    above
business  model encourage
coders  to   code  things
that will inevitably need

1.  People want  money 2.
Money comes  from selling
support  3.  FOSS  coders
write code that WILL need
support 4.  People choose
commercial apps that need
less   support  5.   FOSS

Re:Step by step guide (0)

Anonymous Coward | more than 5 years ago | (#24626915)

at least your user name is appropriate

How much skill? (4, Insightful)

colmore (56499) | more than 5 years ago | (#24622221)

So I can pretty well follow a spec, an algorithm description, or pseudo-code in C. But I'm no pro. Do I have the skills to start contributing to a top-tier open source project like the kernel, gcc, apache, etc? I'm looking at this link, what others would people recommend for how to get started?

Re:How much skill? (5, Informative)

gbjbaanb (229885) | more than 5 years ago | (#24622283)

This one [sourceforge.net] .

Pick a project (you will have to filter the language to C for the more kernel-like projects), then offer to help out with some coding. The people running it should be happy for you to help out (just don't expect to suddenly become a respected developer until you've proven it) and should be able to provide you with more assistance in getting up to speed. Once there, you should have the confidence to tackle something more high-profile.

Re:How much skill? (5, Informative)

flowsnake (1051494) | more than 5 years ago | (#24623251)

The SourceForge Help Wanted [sourceforge.net] page is also a good place to look. Most of the projects looking for help aren't really top-tier projects, but they'd be a good way of building up reputation when the GP later wants to go for the big name projects.

Re:How much skill? (2, Informative)

TheRaven64 (641858) | more than 5 years ago | (#24625355)

Also don't forget that Sourceforge isn't the only place to find Free Software projects. A lot of us use GNA [gna.org] for our hosting, since it isn't quite so cluttered with ads and the entire platform they use is Free Software, so if we decide we don't like them we can move to our own server somewhere without changing the server-side components at all (GNA is run by FSF France and bandwidth is donated by the French ISP Free.fr).

A good place to look for getting involved with projects is in the bugs database. Pick a bug, and see if you can reproduce it. Then see if you can narrow down the cause and produce a minimal test case. Then see if you can work out which bit of the code is causing the problems. Even if you don't fix it yourself, this information is helpful to the project and a really good learning experience since it forces you to read and understand other peoples' code. And if you fix the bug, most projects will be very happy.

One thing to note is that most projects have their own set of coding conventions. If you send a patch, please observe these. I contribute to a couple of projects which have almost the exact opposite set of coding conventions and sometimes it's a little hard to remember to switch between them, but it's worth doing because it does make life easier for people reading the code in either project.

Re:How much skill? (4, Insightful)

larry bagina (561269) | more than 5 years ago | (#24622365)

  1. use FREE software.
  2. Find bugs, annoyances, or missing features.
  3. submit bug report, enhancement request, or patch
  4. watch bug report get ignored or closed, watch patch get rejected for using 4 spaces per tab instead of 2

Re:How much skill? (3, Insightful)

Thiez (1281866) | more than 5 years ago | (#24622625)

5. Write javascript webpage that can change the indent style of code (K&R, Allman, KNF, GNU, etc). (Paste code in textarea, select style, click 'Go', and the code changes to the selected style)
6. Place some adds on your webpage
7. ???
8. Profit!

Re:How much skill? (2, Informative)

wellingj (1030460) | more than 5 years ago | (#24623617)

5. Use Artistic Style [sourceforge.net] .

There, fixed that for you.

Re:How much skill? (0, Troll)

Hal_Porter (817932) | more than 5 years ago | (#24624253)

How do you pronounce that name? Ass tile?

Re:How much skill? (0)

Anonymous Coward | more than 5 years ago | (#24625473)

man the mods here have no sense of humor. that was mildly amusing at least...

btw, not written by hal porter, but i guess the only person who will believe me is hal porter himself because he knows he didn't write this

Re:How much skill? (0)

Anonymous Coward | more than 5 years ago | (#24625153)

7. Come up with a way of inserting non-obvious backdoors into the code while reformatting it. ;)

Re:How much skill? (1)

Hal_Porter (817932) | more than 5 years ago | (#24624247)

watch patch get rejected for using 4 spaces per tab instead of 2

4 spaces per tab? You vile subhuman vermin. Death is too good for you. I hope you roast in Linux hell with your 72 (male) virgins arguing about naming conventions and software licensing for all eternity.

12 tab characters per tab has always been the standard, just do a s/\t/\t\t\t\t\t\t\t\t\t\t\t\t/g on your code before you commit.

Just submit a patch (3, Insightful)

thefear (1011449) | more than 5 years ago | (#24622369)

The worst they can do is not apply it

Re:Just submit a patch (5, Insightful)

greg1104 (461138) | more than 5 years ago | (#24622537)

Actually, the worst they can do is not apply it and decide you're incompetent/don't play by the rules/etc. Then you risk your future submissions being less likely to be considered even if you improve later. The person who wastes the time of a patch reviewer is not soon forgotten by that reviewer.

It really is better to not submit a patch at all if you don't know what's going on yet, which is exactly why guides like this one are helpful. I've worked on a similar one for PostgreSQL [postgresql.org] because it's hard for new people to pick up the unique requirement quirks of a group of developers, and lowering that barrier improves the health of the project.

Re:Just submit a patch (1)

Jah-Wren Ryel (80510) | more than 5 years ago | (#24623381)

Actually, the worst they can do is not apply it and decide you're incompetent/don't play by the rules/etc.

No, the worst they can do is not apply it and decide you are so incomptent that you are a menace to life on earth so they send "kill -9" kernel assassination squads to take out you, your entire family and your dog and then burn your house down to hide the evidence.

Re:Just submit a patch (1)

greg1104 (461138) | more than 5 years ago | (#24623783)

Well, sure, that's how outraged FreeBSD kernel developers handle people who send bad patches, but we were talking about Linux.

How to become a respected Forum contributor (1)

wisty (1335733) | more than 5 years ago | (#24623507)

1. Lurk for a while. 2. Make a post on an introductory thread. 3. Attempt to join in a discussion, preferably one that you *really* care about, and get shouted down because everyone thinks you're an asshat. 4. Karma whore on bullshit discussions, to get your reputation back. 5. ???

So? (2, Interesting)

Gazzonyx (982402) | more than 5 years ago | (#24624845)

If someone decides that you're a trouble maker, or whatever, try to get your patch in a different branch of the tree. The kernel has a long tail, and all patches go upstream to Andrew Mortons tree and then hop to Linus' tree, provided that the code is decent and it serves a genuine purpose (A guy from Google has two spelling corrections that were merged and he got credited for).

You'll get yelled at for formatting and such before anyone of higher authority sees your code. You probably won't get your code past a subsystem maintainer without having it look presentable. It's just about getting your foot in the door at any node along the tail. I mean, even Namesys got code in the kernel with Hans shouting at everyone. The protocol for doing things is a bit flexible (I hear Andrew Morton still submits changes to Linus as tar balls from time to time... I'm not sure if he does this any more, though) if you stick to the key concepts.

Just my $0.02, I could be wrong.

Re:How much skill? (1)

bfields (66644) | more than 5 years ago | (#24623265)

So I can pretty well follow a spec, an algorithm description, or pseudo-code in C. But I'm no pro. Do I have the skills to start contributing to a top-tier open source project like the kernel, gcc, apache, etc? I'm looking at this link, what others would people recommend for how to get started?

One great thing to do is just to figure out how to download and build the latest development versions of the software, and try it out.

That's especially true for the kernel, which runs on a much wider variety of hardware than any one developer can have access to.

In the process of learning to write good bug reports, helping reproduce and debug problems, etc., you can learn a lot about the code.

Re:How much skill? (1)

TheRaven64 (641858) | more than 5 years ago | (#24625369)

Not relevant to the Linux kernel, but one thing that's really helpful is to try building on less mainstream platforms. We test on FreeBSD and Ubuntu (both x86), and occasionally OpenBSD/PowerPC and Debian/PowerPC, but no one regularly tests on Solaris (x86 or SPARC) even though we have some special case code for Solaris in a few places, and no one has ever tested on NetBSD on any platform, to my knowledge.

Re:How much skill? (1)

indraneil (1011639) | more than 5 years ago | (#24624293)

I actually am looking at the Apache2 code right now for some obscure reasons. I have 6 years of professional development experience (though very little of that in C).
What I saw was, it took me like 2 weeks of constant battling to make some sense of the code in any way. GDB, inserting random print statement statements, stace and ltrace helped. However what has come out as the most difficult road block for me is: Macros!
I don't get flustered by pointers too much, but Apache2 code uses some demonic macros, resulting in method invocations being redirected to differently named subroutines in other files.
That and the fact that any substantial project takes 10 minutes to recompile for every trivial thing I change are my real pain points.
Having said that, just because I can now read the code does not let me feel confident that I can contribute code to Apache2. That I think will take way more time!!!

Re:How much skill? (1)

johannesg (664142) | more than 5 years ago | (#24624819)

Wanna code? Great, go for it. But consider this: what Open Source really needs is more people who can write decent documentation, create user interfaces that actually work, and draw pretty icons.

How many Open Source projects are there with a homepage that doesn't even bother to tell you what the project does? If the first words on your homepage are not the name of your project, followed by about three lines of very clear descriptive text, you have lost most of your prospective users already - they will never figure out what your great project is in the first place. And if you have a user interface of any kind, stick a screenshot or two in there already.

Next, documentation. There are some really, really great Open Source projects out there that I'm sure I could get much more out of, if only I could figure out how. This is true for API's and for complete applications.

And some existing applications would be more pleasant to work with, if only someone did some prettification on the user interface. I cannot understand why noone has gone and drawn good-looking OpenOffice.org icons yet - or why the OOo team hasn't paid someone to do it.

If you want to see a project that gets it absolutely right, go over to http://www.postgresql.org./ [www.postgresql.org] The name is at the top. Directly next to it is a 7-word description of what it is. The documentation is available for current and older versions, and is top-notch. Really, this is what we need far more of.

Incidentally, does anyone know a place where I can order custom-drawn icons and bitmaps at cost? I'm looking for "good-looking" and "repeatability": if I need ten extra icons next year I want to be able to get them in the same style.

Re:How much skill? (1)

colmore (56499) | more than 5 years ago | (#24626795)

I'm not really interested in working on the equivalents of shrinkwrapped software. I'm more interested in working with the inner guts of the system. There are different concerns when your software has a gui or interacts directly with a large number of regular users. I'm not as interested in that stuff.

React OS needs more devs not Linux (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#24622333)

Lets face it, most developers peep at the Linux kernel and freak out seeing the weak architecture, kernel design, bad coding habbits and plain stupidity there.

Re:React OS needs more devs not Linux (1, Funny)

Anonymous Coward | more than 5 years ago | (#24622561)

Most incompetent developers get freaked out when they see anything resembling architecture and design in a project.

are they looking to expand their circle of devs? (0)

Anonymous Coward | more than 5 years ago | (#24622505)

I would've thought that the kernel has a relatively small number of areas of development, where the people mostly know each other and with a 400 lb gorilla or two at the head of each one. And any really innovative idea would be rejected on the grounds of perhaps being interesting/worthwhile, but for a different project.

Re:are they looking to expand their circle of devs (5, Informative)

LinuxScribe (158687) | more than 5 years ago | (#24622579)

Mostly this is part of a larger effort by the Linux Foundation to make Linux development more accessible. There's a lot of interested folks out there who simply don't know the nuances of dealing with the kernel (and, perhaps, general free and open source) developers. This document will hopefully tear down any perceived curtains and allow ISVs and individual developers get a good idea of how to deal with the kernel.

Brian Proffitt
Community Manager
Linux Developer Network

Re:are they looking to expand their circle of devs (1)

mrwolf007 (1116997) | more than 5 years ago | (#24629565)

where the people mostly know each other and with a 400 lb gorilla or two at the head of each one

Well, i have heard the term code monkey, but 400 lb gorillas?
Kernel development must be tough...

A Good Start (0)

Anonymous Coward | more than 5 years ago | (#24622939)

It's been several years now, but I once had the impulse to try to work on a major open source project for Linux - I was thinking either a window manager or something involving audio (not one of the cross-platform wrappers) - and I was utterly befuddled as to how to get started. I'm used to developing for OS X, Java, and Windows, and I couldn't even figure out where to find all of the relevant system APIs and docs for Linux. Admittedly I didn't try all that hard, but it'd be much better if it was like other platforms where it's pretty obvious - either because of docs or because of included developer's tools - how to find the APIs. Is there something that I either missed or that's been developed since, or should I just look at the code for projects I'm interested in?

minucs 1, Troll) (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#24623123)

and the Striking America. You, direct orders, or

Enterprise class (0)

Anonymous Coward | more than 5 years ago | (#24623683)

I may be wrong, but I dont think linux is enterprise class. Enterprise class means it is very expensive and works like crap, just easy to install so the IT department idiots can install it and then open a support ticket.

Talking about learning curves.. (3, Interesting)

PAStheLoD (872844) | more than 5 years ago | (#24624421)

I don't know what's the bigger achievement. Getting a patch into mainline or reading all of these 67-miles long "super-qucik howtos". Seriously, what's wrong with a wiki, where you can "abstract" hundreds of lines into smaller, more managable articles? Anyhow, it's good to see the most sacred inner-cult of KernelMailingList opening up a little :)

Needed, shredder put back in Konqueror & Kerne (0)

Anonymous Coward | more than 5 years ago | (#24627103)

Let's have the new kernel programmers put the shredder feature back into Konqueror like it was in kernel 2.4 and KDE 3.1 in SuSE 9.0. This will allow our companies to use linux as it will again be secure. As it is we are forced to use Windows 2k as it is the last functional secure windows product. Windows can be shredded in all of its files and all of its logs. Its registry is a bit more problematical as there is so much undocumented secret info stored there. The way linux is going, a convergence is happening that is disturbing and will result in the end product being unacceptable by the business community. We have no love of our payroll, customer lists, wholesale and producer prices and bare costs, outsourcing suppliers, etc being stolen and sold by hackers. The idea that we are somehow 'evil' in some disgusting way, or 'having something to hide' or some other insult for wanting to make a profit is absurd and insulting beyond belief. The Jewish call this chutzpah, and its purveyors 'putzes'. As it is, computer operating system development effectively ceased being useful several years ago. All arguments to the contrary are irrelevant and specious.

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account