Linux.com

Home News Featured Blogs Libby Clark Learn How to Contribute to the Linux Kernel, Take the Eudyptula Challenge

Learn How to Contribute to the Linux Kernel, Take the Eudyptula Challenge

Little Blue Penguin EudyptulaIf you want to contribute to the Linux kernel but aren't sure where to start, the Eudyptula Challenge could be a great way to test your programming skills and learn how to participate in the kernel community.

The Challenge, which appeared online about a month ago at http://eudyptula-challenge.org/, was created by an anonymous hacker (or hackers) going by the name Little Penguin as a way to get more developers involved with the Linux kernel. It's modeled after the Matasano Crypto Challenge – a collection of 48 exercises that teach participants how cryptography systems are built and how they're attacked. The Eudyptula Challenge isn't a tutorial, says Little Penguin, but you will get a good idea of how the whole kernel contribution process works by completing the challenge.

Challenge participants sign up by sending an email to Little, who sends them a series of programming tasks commonly employed by Linux kernel developers. Participants receive one task at a time and must complete it before Little Penguin sends the next. There's no winner of the challenge, but those who successfully complete all 20 tasks in the challenge are well on their way to being Linux kernel contributors.

We recently reached out to Little Penguin via email to learn more about the challenge. You can sign up for the challenge by sending a (non-HTML) email to little at eudyptula-challenge.org.

What is the Eudyptula Challenge?

The Eudyptula Challenge is a series of programming exercises for the Linux kernel. These exercises start with a very basic "Hello world" kernel module, and move up in complexity from there.

Why did you create the challenge?

The idea came to us after a long night of drinking in which it was determined that if the Linux kernel was to survive, it would need new programmers to fix all of the bugs that were recently added after a long night of drinking.

When does it start and how long does it last?

It starts whenever you want it to start. Just follow the directions on the website for how to join and your first task will be sent to you through email. There are currently 20 different tasks to complete. If you can finish all of them, a new set is currently being worked on to satisfy the people who have completed them who are asking for more.

Everything goes through email? There isn't a web form to use?

Yes, kernel development is done all through email, so setting up an email client to properly send Linux kernel patches is a skill that all kernel developers need to learn. Also, the back and forth process of submitting patches and code and responding to review all through email is exactly how it happens for all kernel developers. This challenge tries to duplicate the Linux kernel development experience as closely as possible.

Who should take the challenge?

Anyone who is interested in programming a set of different tasks relating to the Linux kernel.

What do I need to know before I can participate?

You need a strong knowledge of C in order to participate. Also, this challenge is not a tutorial. There will be some hints on how to complete the tasks, and pointers on where more information can be found, but it requires a lot of work on your own.

If I'm totally new to Linux kernel development, will this teach me how to contribute?

Yes, a number of the tasks involve getting patches accepted into the Linux kernel tree itself. By the end of the challenge, you will have the skills and understand how to contribute to the kernel.

Is there a winner? What do I get for completing it?

There is no "winner", as this is not a timed set of tasks starting all at once. A number of people have already completed the current set of tasks, and new people are signing up to take it every day.

It is rumored that the Linux Foundation might be providing a "prize" for everyone who completes the challenge. You will just have to complete it to find out for yourself as to what that prize is.

Does completing the challenge mean I'm qualified to be a kernel maintainer?

You will be qualified to point out any problems with kernel development issues that your favorite maintainer is causing. That's usually way more fun than actually being a kernel subsystem maintainer.

Will this look good on my resume? Will it help me get a job?

It can't hurt to have on your resume, but I doubt anyone will know what it is. As for getting a job, there are so many Linux kernel developer jobs out there, if you complete all of the tasks, there is no reason why you shouldn't be able to easily find a position doing this full time.

Why do you think you've seen such a strong response to your challenge already? We hear you've had 2,000 people participate already.

There has been a huge response to the challenge, much larger than I ever imagined. There are currently just over 2,400 people taking the challenge, with more signing up every day.

A lot of times, people just don't know what they want to do when it comes to programming in the kernel. This set of tasks forces them to poke around in a huge number of different places through the kernel source tree. Without a specific task, most people don't think to look into how these areas of the kernel works.

We also heard that a university programming group set up a hack fest where their members all worked on the challenge over a weekend, how did that go?

The challenge is meant to run on an individual basis, so the university group had to work on the individual tasks on their own. They had a group of about 10 people, working all in the same location. None of the developers were able to finish all of the tasks in one weekend, but it sounds like they had an enjoyable time trying to do so.

 

Comments

Subscribe to Comments Feed
  • Dayrl Giles Said:

    Linux is pure as it came out of POSIX which came out of Denis Richie and Ken Thompson's type script language TeX. They argued that a new OS was needed for a typescript language to be successful and their management agreed so they developed the operating system. Then Denis Richie created a language which the OS can be rewritten in and the rewrote Unix in C. Linus Torvalds liked Unix and wanted everybody to have their own Unix for free so he wrote Linux. The commonality is what is known as the POSIX standard. Linus started that project and it has come up with concepts like containers which are revolutionary. Keep up the good geek work. Cheers.

  • Ken Stox Said:

    Huh??? Thompson and Ritchie had nothing to do with TeX. That was created by Donald Knuth. Perhaps you are thinking of troff, which was created by Joe Osanna, which was a follow on to his nroff which was a follow on to Roff, Runoff, was originally from CTSS and later Multics, created by Jerome Saltzer. Linux containers are not revolutionary, they are a follow on to Solaris containers, which in turn are a follow on to FreeBSD jails, which have been around since the 1990's.

  • Marcel Kincaid Said:

    Er, Daryl, you're thinking of troff, not TeX, and troff was written by Joe Ossanna, not Ken Thompson. And they developed UNIX because they no longer had access to Multics ... the typesetting is why it took off inside Bell Labs, but it wasn't their goal.

  • inline Said:

    I can not write the kernel stuff but nice stuff could be found at www.thegeekstuff.com

  • Vincent Said:

    i do not know where is the email address, i am a new gay.

  • Adri Said:

    If you just became gay, I would start with different challenges.

  • Jacob Wang Said:

    Where is the email address? I can't find it in eudyptula-challenge.org .

  • Anonymous Said:

    it says "the challenge by sending a (non-HTML) email to little at eudyptula-challenge.org." little@eudyptula-challenge.org

  • Anonymous Said:

    it says "the challenge by sending a (non-HTML) email to little at eudyptula-challenge.org." little@eudyptula-challenge.org

  • Raphael Said:

    Is the challenge rolling yet? I submitted the challenge task 2 yesterday and got no answer Thank you.


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board