Linux Foundation Paving Way for New Kernel Developers 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."
direct link (Score:5, Informative)
Re: (Score:1)
Re:slashdotted (Score:5, Informative)
It's back up now. We just had to restart the server and turn on some caching goodness.
Peace,
BKP
Re: (Score:2)
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...)
Re: (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.
Print (Score:1)
How much skill? (Score:5, 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?
Re:How much skill? (Score:5, Informative)
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? (Score:5, Informative)
Re: (Score:3, Informative)
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
Re:How much skill? (Score:4, Insightful)
Re:How much skill? (Score:4, 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!
Re: (Score:3, Informative)
There, fixed that for you.
Re: (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.
Just submit a patch (Score:3, Insightful)
Re:Just submit a patch (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 [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: (Score:2)
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: (Score:2)
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 (Score:1)
So? (Score:3, Interesting)
You'll get yelled at for formatting and such before anyone of higher authority sees your code. You probably won't get your cod
Re: (Score:2)
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: (Score:2)
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: (Score:2)
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, res
Re: (Score:2)
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 neve
Re: (Score:2)
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.
Re: (Score:1, Funny)
Most incompetent developers get freaked out when they see anything resembling architecture and design in a project.
Re:are they looking to expand their circle of devs (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
Re: (Score:1)
Re:are they looking to expand their circle of devs (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...
Talking about learning curves.. (Score:3, Interesting)