KERNEL DEVELOPMENT: DRAWING LESSONS FROM "MISTAKES"

Japan Symposium 2009 October 23, 2009 Toshiharu Harada [email protected] NTT DATA CORPORATION ABSTRACTS

Every kernel developer knows that Linux comes with plenty of precious documentation as an integral part. From coding style to how to post patches, almost everything has been documented. However, history shows that error is human nature. Sometimes developers do not well know Don’ts, but there are also cases when they make mistakes despite being aware of such rules. Why this happen is unsolved, but a documentation, so far missing, of the consequences of this misbehavior could discourage it. The presenter is project manager of TOMOYO Linux, a security enhancement feature merged in version 2.6.30. Thinking open-minded, he decided to share the errors his project made, wishing it could be a helpful warning to other projects, especially newcomers. In this presentation, it will try to explain the mistake circumstances in TOMOYO Linux project, highlighting the thoughts of project members and the community reactions. “Experience is the name everyone gives to his mistakes” --- Oscar Wild WHAT’S THIS ALL ABOUT

• Linux comes with a set of great documentation

• DOs and DON’Ts are there already

• Yet we keep on making mistakes

• Finding a missing piece WHAT IS MISSING?

• In my humble opinion:

• Human nature (hard to fix)

• Most of us don’t really like readings (hard to fix)

• Real-life examples taken from TOMOYO Linux project WHO AM I?

• Project manager of TOMOYO Linux

• What is “project manager”?

• Something put in between an Open Source projects and a Company

• It’s an adventurous role (experimental stage) OUCH, IS THIS “SECURE LINUX” TALK?

• No. (so please remain seated, you are safe) COVERED TOPICS

•Chapter 1: Where to find DOs and DON’Ts

•Chapter 2: TOMOYO Linux posting history overview

•Chapter 3: Step by step introduction of DOs and DON’Ts of the TOMOYO Linux CHAPTER 1 Where to find DOs and DON’Ts Gentle Reminder

Documentation is a part of Linux Kernel After checking out the kernel, cd to “Documentation” Problem is “there are just too many files and directories” and people prefer coding than reading How Great is It?

$Documentation/ManagementStyle “Most people are idiots, and being a manager means you'll have to deal with it, and perhaps more importantly, that _they_ have to deal with _you_.” How Great is It?

$Documentation/ManagementStyle “Thing will go wrong, and people want somebody to blame. Tag you’re it.” Okay, I’ll do so

Blame Me The truth is people will blame you regardless of you are tagged or not (you can omit)

Just these two statements illustrate the essential part of managements Linux documentation is so practical Minimal Reading

Entire Scheme

$Documentation/HOWTO

Submitting Patches

$Documentation/SubmitChecklist

$Documentation/CodingStyle References

Note that the title is “How to Participate in the Linux Community” Making your code upstream means your participation in the Linux Community (Be nice!) My favorite one http://www.linuxfoundation.jp/jp_uploads/ seminar20070710/Jon-Dev-Process.pdf

!"#$#$%&'()&()*+&",&-.'/0 ("1&'"&1"*2&1#'(&'()& 2)*$)3&+)4)3"56)$'&5*"-)//

! !"#$%&$#'(")*+% ! ,")*+%-./#0#+% Picked up Two pages

I was laughing when I saw the slides for the first time (in 2007)

When I came to realize that it was true, I couldn’t laugh any more ...

They kept asking me “not yet?” ;-) CHAPTER 2 TOMOYO Linux by Numbers Leo Tolstoy said

"All Happy Families Resemble Each Other, Each Unhappy Family Is Unhappy in Its Own Way." 2,700,000 9,2302,700,000 Number of employees 2,700,000of NTT DATA CORPORATION2,700,000 2,700,000 2,700,0003 Number2,700,000 of project members2,700,000 2,700,000 0.0325%2,700,000 Possibilities to be 2,700,000assigned to the project2,700,000 2,700,000 2,700,0003 TOMOYO is the 3rd (and2,700,000 the latest) LSM module2,700,000 merged upstream 2,700,000 2,700,0000 Number of people 2,700,000who expected TOMOYO2,700,000 would be merged ;-) 2,700,000 2,700,00015 We2,700,000 posted patches 15 times2,700,000 2,700,000 7162,700,000 Merged2,700,000 since 716 days after2,700,000 the first post 2,700,000 1622,700,000 Number of comments 2,700,000from LKML 2,700,000 (0.2 comments/day) Proposal History http://tomoyo.sourceforge.jp/wiki-e/?JLS2009 CHAPTER 3 Drawing Lessons from the “Mistakes” of TOMOYO Linux Project

Blame Me IN THE 1ST POSTING

I wrote: All right, that's almost everything. Please visit the following URL for the code and documents: http://tomoyo.sourceforge.jp/wiki-e/ If you want to see the code first, then: http://tomoyo.sourceforge.jp/cgi-bin/lxr/ source/security/tomoyo/?v=linux-2.6.21.3- tomoyo-2.0 DON’T Send URL

Send patches WHAT HAPPENED?

• I got a personal message from Stephen Smalley, a maintainer of that famous SELinux –“If you really want feedback or to get your code into the kernel, you need to do more than post a URL to the code - you need to break your code down into a number of patches and post them, just like the AppArmor folks have been doing. “ SO WE RUSHED TO POSTED PATCHES NEXT DAY

• Pavel Machek gave a comment •“Looks whitespace-damaged to me.” DON’T Ignore the Linux standard coding style

Always apply checkpatch.pl DO DO

• Carefully read the $Document/CodingStyle DO

• Carefully read the $Document/CodingStyle

• Check your code with $scripts/checkpatch.pl DO

• Carefully read the $Document/CodingStyle

• Check your code with $scripts/checkpatch.pl

• Also use other $scripts/check*.pl • Jiri Kosina pointed us to make patches bisectable

•“Just a trivial minor nitpick - IMHO this breaks bisectability. It might be better to add the Kconfig/ Makefile patch at the end of the whole series, so that bisect doesn't end up in the tree in which Makefile references non-existing files/directories.” DO

• Add the Kconfig/Makefile patch at the end of the whole series, so that bisect doesn't end up in the tree in which Makefile references non-existing files/directories.” IN THE 3RD PATCH

• James Morris taught us series of patches should form a thread •“I'd also suggest making all of the patches a reply to the first email, so they can be threaded.” “THREAD” DO

• Send series of patches as children of the first message so that they can form a thread or you want people to read your messages • James Morris said:

• “Please use standard kernel list handling, per include/linux/list.h”

• YOSHIFUJI Hideaki also mentioned:

• You're introducing a custom API, which is open-coded repeatedly throughout your module.

• All linked lists (at least, new ones) must use the standard kernel list API. DON’T Propose new data structure

Use existing one IN THE 5TH POSTING

• James Morris suggested to CC netdev mailing list

• “You should send anything which touches core networking to netdev, too, and get an ack from one of the core developers there.” DO

• Carefully choose CCs and get a review from them IN THE 6TH POSTING

• Tetsuo posted 30 series of messages with the subject, “Subject: [TOMOYO #7 00/30] TOMOYO Linux 1.6.0 released”

• The problem was “TOMOYO 1.6.0” did not use LSM and implemented different hooks DON’T Try to invent a new API

Respect a standard and follow one • Tetsuo and I knew that posting such patches will never be accepted

• However, we had been stuck and we couldn’t find another way

• Our posting was thoughtless, but we were so serious to make our code upstream IN THE 7TH POSTING

I changed my mind and wrote:

We apologize for the confusion we caused in the last posting, but we don't want to give up returning our work to the mainline. We cordially request LSM changes to pass vfsmount parameters. • Stephen Smalley kindly responded on the list –“Don't cordially request it - submit patches to make it happen.! Or work with others who have been submitting such patches. “ DON’T Cordially ask to merge your code ;-)

Make good patches and post them IN THE 16TH POSTING

• Tetsuo posted 25 series of messages with the subject, “Subject: [TOMOYO #16 00/25] Starting TOMOYO 2.3”

• The patches included enhancements as well as garbage collector functionality (so Tetsuo had a reason for 25) • Pavel Machek commented: •You are expected to submit diffs in smaller steps, not "here it is, totally rewritten, take it or leave it". IT HAPPENED IN THE 7TH

• Serge E. Hallyn once gave us a same comment:

•First let me point out that reviewing patches is always a lot of work. What you've done here by posting an entirely new 30-patch implementation of tomoyo when (I hope) you're not even serious about that is to basically tell us our time means nothing to you... CONCLUSION • Our mistakes, presented in this slides, are merely the tip of the iceberg

• We made many failures and we sometimes behaved very badly

• Nevertheless, this Linux community reacted and even merged our code • Feedbacks were not limited by mailing list replies

• There were people who sent off-list messages and left advices in face WITH ALL MY EXPERIENCES I CAN SAY

•Linux is not just free code

• Linux is great because people are great

• Sending your code is a conversation with people

• They might not appear friendly for the first time, but try to speak them first ACKNOWLEDGMENTS Al Viro, Albert Cahalan, Alexey Dobriyan, Andi Kleen, Andrew Morton, Bodo Eggert, Casey Schaufler, Chris Wright, Christoph Hellwig, Crispin Cowan, Daniel Walker, David Howells, David Lang, David P. Quigley, Greg KH, James Morris, Jamie Lokier, Jiri Kosina, Jonathan Corbet, Joshua Brindle, KaiGai Kohei, Kamezawa Hiroyuki, KOSAKI Motohiro, Kyle Moffett, , Matthew Wilcox, Miklos Szeredi, Paul E. McKenney, Paul Moore, Pavel Machek, Peter Dolding, Peter Zijlstra, Rik van Riel, Serge E. Hallyn, Seth Arnorld, Shaya Potter, Stephen Smalley, Tim Bird, Trond Myklebust, Valdis Kletnieks, William Leibzon, YOSHIFUJI Hideaki WE COULDN’T HAVE DONE IT WITHOUT YOUR HELP Al Viro, Albert Cahalan, Alexey Dobriyan, Andi Kleen, Andrew Morton, Bodo Eggert, Casey Schaufler, Chris Wright, Christoph Hellwig, Crispin Cowan, Daniel Walker, David Howells, David Lang, David P. Quigley, Greg KH, James Morris, Jamie Lokier, Jiri Kosina, Jonathan Corbet, Joshua Brindle, KaiGai Kohei, Kamezawa Hiroyuki, KOSAKI Motohiro, Kyle Moffett, Linus Torvalds, Matthew Wilcox, Miklos Szeredi, Paul E. McKenney, Paul Moore, Pavel Machek, Peter Dolding, Peter Zijlstra, Rik van Riel, Serge E. Hallyn, Seth Arnorld, Shaya Potter, Stephen Smalley, Tim Bird, Trond Myklebust, Valdis Kletnieks, William Leibzon, YOSHIFUJI Hideaki AND OF COURSE • We thank NTT DATA CORPORATION for their support of the project RELATED PRESENTATIONS

Realities of Mainlining - Case of the TOMOYO Linux Project -

Toshiharu Harada Time to Glean !"#$%&'$()*+,-$.)/0&'1$2*3$0.4$%+0+'4 NTT DATA CORPORATION

July 9, 2008 July 25, 2008 Toshiharu Harada Kentaro Takeda Tetsuo Handa NTT DATA CORPORATION What does it mean being an Open Source project manager in Enterprise enterprise edition What does it mean being an Open Source project manager LinuxCon 2009 (Business) September 23, 2009 in Enterprise Toshiharu Harada Open Source Edition NTT DATA CORPORATION

LinuxCon2009 (Business) September 23, 2009 Toshiharu Harada TOMOYO Linux Project TRADEMARKS

• Linux is a registered trademark of Linus Torvalds in Japan and other countries

• TOMOYO is a registered trademark of NTT DATA CORPORATION in Japan Realities of Mainlining - Case of the TOMOYO Linux Project -

Toshiharu Harada

NTT DATA CORPORATION

July 9, 2008 TOMOYO Linux

! “pathname-based” (MAC) enhancements ! Started as a R&D project of NTT DATA CORPORATION in 2003 ! Available as open source since Nov. 2005 ! LiveCD is available ! http://tomoyo.sourceforge.jp/wiki-e/?TomoyoLive ! TOMOYO is a registered trademark of NTT DATA CORPORATION Toshiharu Kentaro Tetsuo (project manager) (LSM version) (main architect)

Project members Instructions

! During the presentation, I will ask a couple of questions to the guests. ! Guests have the plate and are expected to show us the answer. Instructions

! During the presentation, I will ask a couple of questions to the guests. ! Guests have the plate and are expected to show us the answer. Exercise

• What’s your name?

Andrew Morton Paul Moore James Morris Question

• Have you ever heard of “TOMOYO Linux”

I tried TOMOYO Linux and liked it Yes What is it? March 2003

!Project launched at Kayabacho in Japan without !kernel development experiences !specific goal !smart, experienced project manager When we started

!We didn’t know the words “mainline”, “upstream” and “OLS” !We never thought of making our work to be merged in the Linux kernel !But now mainline is our major concern There has been changes

! We met many people ! Some people told us, some suggested, some demanded ... April 2006 Meeting with Russell

! Russell Coker has visited Japan ! We showed him an early version TOMOYO Linux and received some comments ! He was the first person that suggested mainlining ! “Use the Linux auditing for event logging” ! “Use LSM interfaces. If you can entirely use LSM interfaces then TOMOYO can be a candidate for inclusion ...” ! “I suggest is to have equivalence classes (let’s call them domains). This means that “vi” and “emacs” will be considered to have identical security properties ...” ! We have done the above by now He wrote to me

! “If you mostly use LSM interfaces then you will save significant amount of work in terms of maintaining support for new kernels and also save development work for everyone who wants to use your system along with other patches.” ! Full statements with Japanese translation is found at http://lists.sourceforge.jp/mailman/ archives/tomoyo-users/2006-April/000062.html Dec. 8, 2006

! Satoru Ueda of CELF (Consumer Electronics Linux Forum) asked me to demonstrate TOMOYO Linux at their technical meeting. ! http://tree.celinuxforum.org/CelfPubWiki/ JapanTechnicalJamboree12 ! I spoke to them, ! “please send requests/questions in Japanese” ! “please use TOMOYO Linux” ! And got ... Unexpected Comments

!They said !“We want to use only in-tree modules” !“Why don’t you try mainlining?” !“Think global go out the world” !“Try submitting ELC2007 (Embedded Linux Conference 2007)” Feb. 8, 2007 ! Hiro Yoshioka of Miracle Linux gently asked me to introduce TOMOYO Linux to a pretty famous Japanese community, YLUG (Yokohama Linux Users Group) ! I accepted as usual not knowing what would happen ... Feb. 8, 2007 ! Hiro Yoshioka of Miracle Linux gently asked me to introduce TOMOYO Linux to a pretty famous Japanese community, YLUG (Yokohama Linux Users Group) ! I accepted as usual not knowing what would happen ... Feb. 8, 2007 ! Hiro Yoshioka of Miracle Linux gently asked me to introduce TOMOYO Linux to a pretty famous Japanese community, YLUG (Yokohama Linux Users Group) ! I accepted as usual not knowing what would happen ...

Hiro Yoshioka (YLUG) Feb. 8, 2007 ! Hiro Yoshioka of Miracle Linux gently asked me to introduce TOMOYO Linux to a pretty famous Japanese community, YLUG (Yokohama Linux Users Group) ! I accepted as usual not knowing what would happen ...

Hiro Yoshioka (YLUG) Masahiro Itoh (BlueQuartz) Feb. 8, 2007 ! Hiro Yoshioka of Miracle Linux gently asked me to introduce TOMOYO Linux to a pretty famous Japanese community, YLUG (Yokohama Linux Users Group) ! I accepted as usual not knowing what would happen ...

Hiro Yoshioka (YLUG) Masahiro Itoh (BlueQuartz) Hideaki Yoshifuji (Usagi) “We will fix you!”

! It was a meeting of the Hell ! They compelled us to try mainlining ! We were scolded and they told us to see the world ! They even demanded us to challenge OLS ! It was only 7 days to the deadline and I didn’t know what OLS was :-) huh! Evidence tells ...

! There is a movie. ! The 72th kernel reading party (92 min) March 2007

!ELC2007 and OLS2007, both submissions were accepted despite of my expectations

!The beginning of the hard days We worked hard

! Jumped in the LKML AppArmor threads ! Started making new TOMOYO Linux patches that use LSM ! We wanted to post them to LKML before OLS2007 Apr. 18, 2007 ELC2007!

! We had ! 2 sessions (presentation and tutorial) ! Not many people came to our session as expected, but ... There he was! (Jonathan Corbet attended our session) There he was! (Jonathan Corbet attended our session) Suggestions from the Heaven

! “Try making TOMOYO Linux to be merged” ! “Talk with AppArmor people”

! We were encouraged, very very deeply ! We’ve followed the above advices before OLS2007 TOMOYO Linux LKML logs

• We are maintaining a Wiki page to follow our postings. • http://tomoyo.sourceforge.jp/wiki-e/? WhatIs#mainlining • Each posting is linked to a corresponding LWN.net article. June 13, 2007

! LKML debut of TOMOYO Linux ! We wrote URL to reduce the e-mail size ... ! Not in LKML standard coding style ... ! Tabs were not properly handled ... ! Full of failures Message from Mr. SELinux

! Stephen Smalley sent me a message ! “If you really want feedback or to get your code into the kernel, you need to do more than post a URL to the code - you need to break your code down into a number of patches and post them...”

! I appreciated his consideration Message from Japanese community ! from Goto-san @fujitsu ! “You should choose or rc as base of the patches” ! “Be careful to follow the LKML standard CodingStyle (checkpatch.pl might help)” ! “Use quilt” ! We didn’t understand those basic rules How to start

• It’s simple, just give it a try • You don’t have to be perfect (as we were) • There are people who would help you • You just need to “go out” to be visible What You Need to Join the kernel development

! The source code of Linux ! Enormous documentations and genius tools are included as part of Linux ! Mail program that understands threads and ... What You Need to Join the kernel development

! The source code of Linux ! Enormous documentations and genius tools are included as part of Linux ! Mail program that understands threads and ... Courage Where to find the source? • Visit www.kernel.org • Browse LXR sites • http://tomoyo.sourceforge.jp/cgi-bin/ lxr/source • http://lxr.linux.no/ • Use Git (http://git.or.cz/) Jun. 29, 2007 Ottawa!

(photo: just waiting for the time of our very first session at OLS) ! Stephen Smalley, Chris Wright, Joshua Brindle, Seth Arnold, Hadi Nahari and other secure-OS guys came to my session ! What a pleasure! AppArmor and SELinux guys began fighting AppArmor and SELinux guys began fighting

/‾‾\ /ノ( ゝ 、_,ノヽ r'́ ゙ヽ /`ヽ | ⌒(( ●)(●) ヽ ヽ从从/ / \ /\ . | (__人__) /⌒l \ \/ /て (●)liil(●) ノ( \ | ` ⌒́ノ |`'''| ∑ ヽ/ / そ / (__人__) ⌒ \ / ⌒ヽ } | | ,)/ / \ く | |!!il|!|!l| | / へ \ }__/ / / /\ \ \i⌒ヽェェ| / / / | ノ ノ / / YYY\ \ \ \ /⌒,/́ ( _ ノ | \́ / / \ \ / \ \/ /l | \_,/ / \ \_/ \__ノ |\ .| / \ |) ) ヽ / \ ,r' / \ , '́ `' , /ー'′ \ ( ) / \ \ / / AppArmor and SELinux guys began fighting

/‾‾\ /ノ( ゝ 、_,ノヽ r'́ ゙ヽ /`ヽ | ⌒(( ●)(●) ヽ ヽ从从/ / \ /\ . | (__人__) /⌒l \ \/ /て (●)liil(●) ノ( \ | ` ⌒́ノ |`'''| ∑ ヽ/ / そ / (__人__) ⌒ \ / ⌒ヽ } | | ,)/ / \ く | |!!il|!|!l| | / へ \ }__/ / / /\ \ \i⌒ヽェェ| / / / | ノ ノ / / YYY\ \ \ \ /⌒,/́ ( _ ノ | \́ / / \ \ / \ \/ /l | \_,/ / \ \_/ \__ノ |\ .| / \ |) ) ヽ / \ ,r' / \ , '́ `' , /ー'′ \ ( ) / \ \ / / I thought ...... (>_<) why in my session ... Question

• Do you recognize “(>_<)”?

Yes Don’t know (tell me) Answer

• (>_<) auch! • (^_^) happy • (T_T) sad (crying)

• How about “orz”? anyway ... ! It was a really wonderful experience ! We met many people ! We found we were with community ! Unforgettable day

! I wrote a wiki page ! http://tomoyo.sourceforge.jp/wiki-e/? OLS2007-BOF OLS2007 The night of miracle

!Stephen spared his time to talk with US after the session!!! !He suggested us TOMOYO Linux get married with SELinux or AppArmor OLS2007 The night of miracle

!Stephen spared his time to talk with US after the session!!! !He suggested us TOMOYO Linux get married with SELinux or AppArmor Oct. 2, 2007

! Linus suddenly appeared in thread and spoke out loud ! I’m tired of this “only my version is correct” crap. The whole and only point of LSM was to get away from that. ! Linus’ message sounded like a chance (sorry for James ...), so we rushed to prepare the 3rd posting “only my version is correct” crap?

• Linus’ words raised me questions • I didn’t think SELinux people (or James) meant only SELinux was correct ... • Single solid security vs. choices Questions?

• Should Linux have multiple choices for fundamental security mechanism? Yes No Other (let me say!) Oct. 11, 2007 Shock

• We got 0 (zero) feedbacks for our 4th posting

• This is sort of TOMOYO Linux project’s difficulties !Positive feedbacks are always Good! !Negative feedbacks and NACK are “Not BAD”

!No feedbacks is BAD Question

• How can this (*no* feedbacks) happen? • What should we do when there is no feedbacks? Nov. 29, 2007 PacSec2007

Dragos in Tokyo

http://sourceforge.jp/projects/tomoyo/document/PacSec2007-handout.pdf Dec. 25, 2007 Posted Security Goal

! Serge E. Hallyn has suggested to enhance ! TOMOYO provides no sort of information flow control ! TOMOYO is purely restrictive ! Learning mode is primary source of policy so you depend on change of behavior to detect intruders ! but any intruder who attempts to do something which the compromised software wouldn’t have done should be stopped and detected Feb. 24, 2008 FOSDEM’08

http://sourceforge.jp/projects/tomoyo/document/fosdem2008.pdf Apr. 14, 2008 TOMOYO on LWN.net

http://lwn.net/Articles/277833/ What a nice surprise to see my project on LWN.net! Apr. 25, 2008 ELC2008

http://sourceforge.jp/projects/tomoyo/ document/elc2008.pdf TOMOYO threads posters top 10 (thanks!)

2007/06/13 2007/06/14 2007/08/24 2007/10/02 2007/10/11 2007/11/16 2007/12/25 2008/01/08 2008/01/09 2008/04/04 2008/05/01 TOMOYO threads posters top 10 (thanks!)

2007/06/13 2007/06/14 2007/08/24 2007/10/02 2007/10/11 2007/11/16 2007/12/25 2008/01/08 2008/01/09 2008/04/04 2008/05/01 TOMOYO threads posters top 10 (thanks!)

2007/06/13 2007/06/14 2007/08/24 2007/10/02 2007/10/11 2007/11/16 2007/12/25 2008/01/08 2008/01/09 2008/04/04 2008/05/01 TOMOYO threads posters top 10 (thanks!)

2007/06/13 2007/06/14 2007/08/24 2007/10/02 2007/10/11 2007/11/16 2007/12/25 2008/01/08 2008/01/09 2008/04/04 2008/05/01 Paul, James and ...

• Are we missing someone? ... NO

• HE has sent Tetsuo personal messages several times as well as Stephen • If you move, you will know there are people to help you Statistics Statistics

FOSDEM2008 ELC2008 OLS2007 PacSec2007

ELC2007 OLS2008? Statistics

FOSDEM2008 ELC2008 OLS2007 PacSec2007

ELC2007 Jul. 9, 2008 (today) Current Status ! We are still in the middle of our way ! It might take a month, a year or a decade, but we know we will never give up ! Merging TOMOYO Linux started as our mission, but now they are our personal goals ! We found joys in ourselves Question

• Do you think TOMOYO will be merged someday?

Send me the patches and I will merge them in my git tree Someday, maybe ... I don’t want to mention now When in doubt

!Don’t worry, you can ask “HIM” When in doubt

!Don’t worry, you can ask “HIM”

____ / \ / ! ! \ / ( ! ) (! ) \ | ( __人 __) | ひむ? / ! ノ " / ( \ / _ノ | | . \ “ /__| | \ /___ / Question

• Who is “HE”?

don’t know “Me” HIM (page 13 of 14)

http://www.celinux.org/elc08_presentations/morton-elc-08.ppt please read and find HIM HIM (page 13 of 14)

http://www.celinux.org/elc08_presentations/morton-elc-08.ppt please read and find HIM

____ / \ / ! ! \ / ( ! ) (! ) \ | ( __人 __) | “if there"s something in it for me”? / ! ノ " / ( \ / _ノ | | . \ “ /__| | \ /___ / You can also ask ME

• I think I am a kind of nice person • I will help you if I can • I have legs, too (not great, though)

ImpressIT「チョコレートの国の侍」 You can also ask ME

• I think I am a kind of nice person • I will help you if I can • I have legs, too (not great, though)

____ / \ / ! ! \ / ( ! ) (! ) \ | ( __人 __) | みー? / ! ノ " / ( \ / _ノ | | . \ “ /__| | \ /___ / ImpressIT「チョコレートの国の侍」 Question

• Will you help us Japanese developers?

Yes No I came to find

! There were many people to help us ! We were not required the perfectness ! Every experiences are real treasures ...

! Go out and find your story and treasures Mainlining

! it’s not easy, but it’s not impossible, either ! painful sometimes, but not all time ! yes, we are enjoying the whole process even in the difficulties ! we can try because now we know it’s worth Mainlining

! it’s not easy, but it’s not impossible, either ! painful sometimes, but not all time ! yes, we are enjoying the whole process even in the difficulties ! we can try because now we know it’s worth It’s worth What you need

• Read the documents, first (almost everything is already there) • Start to live within the LKML and subscribe LWN • Attend community events and meetings (they will not kill you) With a little help from my friend With a little help from my friend

• http://elinux.org/TomoyoLinux • http://tomoyo.sourceforge.jp/ • http://sourceforge.jp/projects/tomoyo/ Thank you (^_^)/~ see you @ols2008