Slashdot Mirror


Linux Foundation Paving Way for New Kernel Developers

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."

46 comments

  1. direct link by larry+bagina · · Score: 5, Informative

    here.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  2. slashdotted by snl2587 · · Score: 0, Redundant

    now.

    1. Re:slashdotted by grantek · · Score: 1

      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 :)

    2. Re:slashdotted by LinuxScribe · · Score: 5, Informative

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

      Peace,
      BKP

    3. Re:slashdotted by Briareos · · Score: 1

      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

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

      --

      "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  3. How much skill? by colmore · · Score: 4, Insightful

    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?

    --
    In Capitalist America, bank robs you!
    1. Re:How much skill? by gbjbaanb · · Score: 5, Informative

      This one.

      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.

    2. Re:How much skill? by larry+bagina · · Score: 4, Insightful
      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
      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:How much skill? by Thiez · · Score: 3, Insightful

      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!

    4. Re:How much skill? by flowsnake · · Score: 5, Informative

      The SourceForge Help Wanted 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.

    5. Re:How much skill? by bfields · · Score: 1

      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.

    6. Re:How much skill? by wellingj · · Score: 2, Informative

      5. Use Artistic Style .

      There, fixed that for you.

    7. Re:How much skill? by Hal_Porter · · Score: 1

      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.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    8. Re:How much skill? by Hal_Porter · · Score: 0, Troll

      How do you pronounce that name? Ass tile?

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    9. Re:How much skill? by indraneil · · Score: 1

      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!!!

    10. Re:How much skill? by johannesg · · Score: 1

      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./ 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.

    11. Re:How much skill? by Anonymous Coward · · Score: 0

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

    12. Re:How much skill? by TheRaven64 · · Score: 2, Informative

      Also don't forget that Sourceforge isn't the only place to find Free Software projects. A lot of us use GNA 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.

      --
      I am TheRaven on Soylent News
    13. Re:How much skill? by TheRaven64 · · Score: 1

      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.

      --
      I am TheRaven on Soylent News
    14. Re:How much skill? by Anonymous Coward · · Score: 0

      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

    15. Re:How much skill? by colmore · · Score: 1

      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.

      --
      In Capitalist America, bank robs you!
  4. Just submit a patch by thefear · · Score: 3, Insightful

    The worst they can do is not apply it

    --
    :(
    1. Re:Just submit a patch by greg1104 · · Score: 5, Insightful

      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 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.

    2. Re:Just submit a patch by Jah-Wren+Ryel · · Score: 1

      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.

      --
      When information is power, privacy is freedom.
    3. Re:Just submit a patch by greg1104 · · Score: 1

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

  5. are they looking to expand their circle of devs? by Anonymous Coward · · Score: 0

    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.

  6. Re:React OS needs more devs not Linux by Anonymous Coward · · Score: 1, Funny

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

  7. Re:are they looking to expand their circle of devs by LinuxScribe · · Score: 5, Informative

    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

  8. A Good Start by Anonymous Coward · · Score: 0

    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?

  9. Re:are they looking to expand their circle of devs by RolfRomeo · · Score: 1

    much profit in community management? :p

  10. How to become a respected Forum contributor by wisty · · Score: 1

    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. ???

  11. Enterprise class by Anonymous Coward · · Score: 0

    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.

  12. Re:Step by step guide by morgan_greywolf · · Score: 1

    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.

  13. Talking about learning curves.. by PAStheLoD · · Score: 3, Interesting

    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 :)

  14. Re:Step by step guide by louzer · · Score: 0, Flamebait

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

    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
    loses

    --
    Heroes die once, cowards live longer.
  15. So? by Gazzonyx · · Score: 2, Interesting

    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.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  16. Re:Step by step guide by Anonymous Coward · · Score: 0

    at least your user name is appropriate

  17. Needed, shredder put back in Konqueror & Kerne by Anonymous Coward · · Score: 0

    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.

  18. Re:are they looking to expand their circle of devs by mrwolf007 · · Score: 1

    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...