~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/process/management-style.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/process/management-style.rst (Version linux-6.12-rc7) and /Documentation/process/management-style.rst (Version linux-4.11.12)


  1 .. _managementstyle:                                1 .. _managementstyle:
  2                                                     2 
  3 Linux kernel management style                       3 Linux kernel management style
  4 =============================                       4 =============================
  5                                                     5 
  6 This is a short document describing the prefer      6 This is a short document describing the preferred (or made up, depending
  7 on who you ask) management style for the linux      7 on who you ask) management style for the linux kernel.  It's meant to
  8 mirror the :ref:`process/coding-style.rst <cod !!   8 mirror the process/coding-style.rst document to some degree, and mainly written to
  9 degree, and mainly written to avoid answering  !!   9 avoid answering [#f1]_  the same (or similar) questions over and over again.
 10 questions over and over again.                 << 
 11                                                    10 
 12 Management style is very personal and much har     11 Management style is very personal and much harder to quantify than
 13 simple coding style rules, so this document ma     12 simple coding style rules, so this document may or may not have anything
 14 to do with reality.  It started as a lark, but     13 to do with reality.  It started as a lark, but that doesn't mean that it
 15 might not actually be true. You'll have to dec     14 might not actually be true. You'll have to decide for yourself.
 16                                                    15 
 17 Btw, when talking about "kernel manager", it's     16 Btw, when talking about "kernel manager", it's all about the technical
 18 lead persons, not the people who do traditiona     17 lead persons, not the people who do traditional management inside
 19 companies.  If you sign purchase orders or you     18 companies.  If you sign purchase orders or you have any clue about the
 20 budget of your group, you're almost certainly      19 budget of your group, you're almost certainly not a kernel manager.
 21 These suggestions may or may not apply to you.     20 These suggestions may or may not apply to you.
 22                                                    21 
 23 First off, I'd suggest buying "Seven Habits of     22 First off, I'd suggest buying "Seven Habits of Highly Effective
 24 People", and NOT read it.  Burn it, it's a gre     23 People", and NOT read it.  Burn it, it's a great symbolic gesture.
 25                                                    24 
 26 .. [#f1] This document does so not so much by      25 .. [#f1] This document does so not so much by answering the question, but by
 27   making it painfully obvious to the questione     26   making it painfully obvious to the questioner that we don't have a clue
 28   to what the answer is.                           27   to what the answer is.
 29                                                    28 
 30 Anyway, here goes:                                 29 Anyway, here goes:
 31                                                    30 
 32 .. _decisions:                                     31 .. _decisions:
 33                                                    32 
 34 1) Decisions                                       33 1) Decisions
 35 ------------                                       34 ------------
 36                                                    35 
 37 Everybody thinks managers make decisions, and      36 Everybody thinks managers make decisions, and that decision-making is
 38 important.  The bigger and more painful the de     37 important.  The bigger and more painful the decision, the bigger the
 39 manager must be to make it.  That's very deep      38 manager must be to make it.  That's very deep and obvious, but it's not
 40 actually true.                                     39 actually true.
 41                                                    40 
 42 The name of the game is to **avoid** having to     41 The name of the game is to **avoid** having to make a decision.  In
 43 particular, if somebody tells you "choose (a)      42 particular, if somebody tells you "choose (a) or (b), we really need you
 44 to decide on this", you're in trouble as a man     43 to decide on this", you're in trouble as a manager.  The people you
 45 manage had better know the details better than     44 manage had better know the details better than you, so if they come to
 46 you for a technical decision, you're screwed.      45 you for a technical decision, you're screwed.  You're clearly not
 47 competent to make that decision for them.          46 competent to make that decision for them.
 48                                                    47 
 49 (Corollary:if the people you manage don't know     48 (Corollary:if the people you manage don't know the details better than
 50 you, you're also screwed, although for a total     49 you, you're also screwed, although for a totally different reason.
 51 Namely that you are in the wrong job, and that     50 Namely that you are in the wrong job, and that **they** should be managing
 52 your brilliance instead).                          51 your brilliance instead).
 53                                                    52 
 54 So the name of the game is to **avoid** decisi     53 So the name of the game is to **avoid** decisions, at least the big and
 55 painful ones.  Making small and non-consequent     54 painful ones.  Making small and non-consequential decisions is fine, and
 56 makes you look like you know what you're doing     55 makes you look like you know what you're doing, so what a kernel manager
 57 needs to do is to turn the big and painful one     56 needs to do is to turn the big and painful ones into small things where
 58 nobody really cares.                               57 nobody really cares.
 59                                                    58 
 60 It helps to realize that the key difference be     59 It helps to realize that the key difference between a big decision and a
 61 small one is whether you can fix your decision     60 small one is whether you can fix your decision afterwards.  Any decision
 62 can be made small by just always making sure t     61 can be made small by just always making sure that if you were wrong (and
 63 you **will** be wrong), you can always undo th     62 you **will** be wrong), you can always undo the damage later by
 64 backtracking.  Suddenly, you get to be doubly      63 backtracking.  Suddenly, you get to be doubly managerial for making
 65 **two** inconsequential decisions - the wrong      64 **two** inconsequential decisions - the wrong one **and** the right one.
 66                                                    65 
 67 And people will even see that as true leadersh     66 And people will even see that as true leadership (*cough* bullshit
 68 *cough*).                                          67 *cough*).
 69                                                    68 
 70 Thus the key to avoiding big decisions becomes     69 Thus the key to avoiding big decisions becomes to just avoiding to do
 71 things that can't be undone.  Don't get ushere     70 things that can't be undone.  Don't get ushered into a corner from which
 72 you cannot escape.  A cornered rat may be dang     71 you cannot escape.  A cornered rat may be dangerous - a cornered manager
 73 is just pitiful.                                   72 is just pitiful.
 74                                                    73 
 75 It turns out that since nobody would be stupid     74 It turns out that since nobody would be stupid enough to ever really let
 76 a kernel manager have huge fiscal responsibili     75 a kernel manager have huge fiscal responsibility **anyway**, it's usually
 77 fairly easy to backtrack.  Since you're not go     76 fairly easy to backtrack.  Since you're not going to be able to waste
 78 huge amounts of money that you might not be ab     77 huge amounts of money that you might not be able to repay, the only
 79 thing you can backtrack on is a technical deci     78 thing you can backtrack on is a technical decision, and there
 80 back-tracking is very easy: just tell everybod     79 back-tracking is very easy: just tell everybody that you were an
 81 incompetent nincompoop, say you're sorry, and      80 incompetent nincompoop, say you're sorry, and undo all the worthless
 82 work you had people work on for the last year.     81 work you had people work on for the last year.  Suddenly the decision
 83 you made a year ago wasn't a big decision afte     82 you made a year ago wasn't a big decision after all, since it could be
 84 easily undone.                                     83 easily undone.
 85                                                    84 
 86 It turns out that some people have trouble wit     85 It turns out that some people have trouble with this approach, for two
 87 reasons:                                           86 reasons:
 88                                                    87 
 89  - admitting you were an idiot is harder than      88  - admitting you were an idiot is harder than it looks.  We all like to
 90    maintain appearances, and coming out in pub     89    maintain appearances, and coming out in public to say that you were
 91    wrong is sometimes very hard indeed.            90    wrong is sometimes very hard indeed.
 92  - having somebody tell you that what you work     91  - having somebody tell you that what you worked on for the last year
 93    wasn't worthwhile after all can be hard on      92    wasn't worthwhile after all can be hard on the poor lowly engineers
 94    too, and while the actual **work** was easy     93    too, and while the actual **work** was easy enough to undo by just
 95    deleting it, you may have irrevocably lost      94    deleting it, you may have irrevocably lost the trust of that
 96    engineer.  And remember: "irrevocable" was      95    engineer.  And remember: "irrevocable" was what we tried to avoid in
 97    the first place, and your decision ended up     96    the first place, and your decision ended up being a big one after
 98    all.                                            97    all.
 99                                                    98 
100 Happily, both of these reasons can be mitigate     99 Happily, both of these reasons can be mitigated effectively by just
101 admitting up-front that you don't have a frigg    100 admitting up-front that you don't have a friggin' clue, and telling
102 people ahead of the fact that your decision is    101 people ahead of the fact that your decision is purely preliminary, and
103 might be the wrong thing.  You should always r    102 might be the wrong thing.  You should always reserve the right to change
104 your mind, and make people very **aware** of t    103 your mind, and make people very **aware** of that.  And it's much easier
105 to admit that you are stupid when you haven't     104 to admit that you are stupid when you haven't **yet** done the really
106 stupid thing.                                     105 stupid thing.
107                                                   106 
108 Then, when it really does turn out to be stupi    107 Then, when it really does turn out to be stupid, people just roll their
109 eyes and say "Oops, not again".                !! 108 eyes and say "Oops, he did it again".
110                                                   109 
111 This preemptive admission of incompetence migh    110 This preemptive admission of incompetence might also make the people who
112 actually do the work also think twice about wh    111 actually do the work also think twice about whether it's worth doing or
113 not.  After all, if **they** aren't certain wh    112 not.  After all, if **they** aren't certain whether it's a good idea, you
114 sure as hell shouldn't encourage them by promi    113 sure as hell shouldn't encourage them by promising them that what they
115 work on will be included.  Make them at least     114 work on will be included.  Make them at least think twice before they
116 embark on a big endeavor.                         115 embark on a big endeavor.
117                                                   116 
118 Remember: they'd better know more about the de    117 Remember: they'd better know more about the details than you do, and
119 they usually already think they have the answe    118 they usually already think they have the answer to everything.  The best
120 thing you can do as a manager is not to instil    119 thing you can do as a manager is not to instill confidence, but rather a
121 healthy dose of critical thinking on what they    120 healthy dose of critical thinking on what they do.
122                                                   121 
123 Btw, another way to avoid a decision is to pla    122 Btw, another way to avoid a decision is to plaintively just whine "can't
124 we just do both?" and look pitiful.  Trust me,    123 we just do both?" and look pitiful.  Trust me, it works.  If it's not
125 clear which approach is better, they'll eventu    124 clear which approach is better, they'll eventually figure it out.  The
126 answer may end up being that both teams get so    125 answer may end up being that both teams get so frustrated by the
127 situation that they just give up.                 126 situation that they just give up.
128                                                   127 
129 That may sound like a failure, but it's usuall    128 That may sound like a failure, but it's usually a sign that there was
130 something wrong with both projects, and the re    129 something wrong with both projects, and the reason the people involved
131 couldn't decide was that they were both wrong.    130 couldn't decide was that they were both wrong.  You end up coming up
132 smelling like roses, and you avoided yet anoth    131 smelling like roses, and you avoided yet another decision that you could
133 have screwed up on.                               132 have screwed up on.
134                                                   133 
135                                                   134 
136 2) People                                         135 2) People
137 ---------                                         136 ---------
138                                                   137 
139 Most people are idiots, and being a manager me    138 Most people are idiots, and being a manager means you'll have to deal
140 with it, and perhaps more importantly, that **    139 with it, and perhaps more importantly, that **they** have to deal with
141 **you**.                                          140 **you**.
142                                                   141 
143 It turns out that while it's easy to undo tech    142 It turns out that while it's easy to undo technical mistakes, it's not
144 as easy to undo personality disorders.  You ju    143 as easy to undo personality disorders.  You just have to live with
145 theirs - and yours.                               144 theirs - and yours.
146                                                   145 
147 However, in order to prepare yourself as a ker    146 However, in order to prepare yourself as a kernel manager, it's best to
148 remember not to burn any bridges, bomb any inn    147 remember not to burn any bridges, bomb any innocent villagers, or
149 alienate too many kernel developers. It turns     148 alienate too many kernel developers. It turns out that alienating people
150 is fairly easy, and un-alienating them is hard    149 is fairly easy, and un-alienating them is hard. Thus "alienating"
151 immediately falls under the heading of "not re    150 immediately falls under the heading of "not reversible", and becomes a
152 no-no according to :ref:`decisions`.              151 no-no according to :ref:`decisions`.
153                                                   152 
154 There's just a few simple rules here:             153 There's just a few simple rules here:
155                                                   154 
156  (1) don't call people d*ckheads (at least not    155  (1) don't call people d*ckheads (at least not in public)
157  (2) learn how to apologize when you forgot ru    156  (2) learn how to apologize when you forgot rule (1)
158                                                   157 
159 The problem with #1 is that it's very easy to     158 The problem with #1 is that it's very easy to do, since you can say
160 "you're a d*ckhead" in millions of different w    159 "you're a d*ckhead" in millions of different ways [#f2]_, sometimes without
161 even realizing it, and almost always with a wh    160 even realizing it, and almost always with a white-hot conviction that
162 you are right.                                    161 you are right.
163                                                   162 
164 And the more convinced you are that you are ri    163 And the more convinced you are that you are right (and let's face it,
165 you can call just about **anybody** a d*ckhead    164 you can call just about **anybody** a d*ckhead, and you often **will** be
166 right), the harder it ends up being to apologi    165 right), the harder it ends up being to apologize afterwards.
167                                                   166 
168 To solve this problem, you really only have tw    167 To solve this problem, you really only have two options:
169                                                   168 
170  - get really good at apologies                   169  - get really good at apologies
171  - spread the "love" out so evenly that nobody    170  - spread the "love" out so evenly that nobody really ends up feeling
172    like they get unfairly targeted.  Make it i    171    like they get unfairly targeted.  Make it inventive enough, and they
173    might even be amused.                          172    might even be amused.
174                                                   173 
175 The option of being unfailingly polite really     174 The option of being unfailingly polite really doesn't exist. Nobody will
176 trust somebody who is so clearly hiding their  !! 175 trust somebody who is so clearly hiding his true character.
177                                                   176 
178 .. [#f2] Paul Simon sang "Fifty Ways to Leave     177 .. [#f2] Paul Simon sang "Fifty Ways to Leave Your Lover", because quite
179   frankly, "A Million Ways to Tell a Developer !! 178   frankly, "A Million Ways to Tell a Developer He Is a D*ckhead" doesn't
180   scan nearly as well.  But I'm sure he though    179   scan nearly as well.  But I'm sure he thought about it.
181                                                   180 
182                                                   181 
183 3) People II - the Good Kind                      182 3) People II - the Good Kind
184 ----------------------------                      183 ----------------------------
185                                                   184 
186 While it turns out that most people are idiots    185 While it turns out that most people are idiots, the corollary to that is
187 sadly that you are one too, and that while we     186 sadly that you are one too, and that while we can all bask in the secure
188 knowledge that we're better than the average p    187 knowledge that we're better than the average person (let's face it,
189 nobody ever believes that they're average or b    188 nobody ever believes that they're average or below-average), we should
190 also admit that we're not the sharpest knife a    189 also admit that we're not the sharpest knife around, and there will be
191 other people that are less of an idiot than yo    190 other people that are less of an idiot than you are.
192                                                   191 
193 Some people react badly to smart people.  Othe    192 Some people react badly to smart people.  Others take advantage of them.
194                                                   193 
195 Make sure that you, as a kernel maintainer, ar    194 Make sure that you, as a kernel maintainer, are in the second group.
196 Suck up to them, because they are the people w    195 Suck up to them, because they are the people who will make your job
197 easier. In particular, they'll be able to make    196 easier. In particular, they'll be able to make your decisions for you,
198 which is what the game is all about.              197 which is what the game is all about.
199                                                   198 
200 So when you find somebody smarter than you are    199 So when you find somebody smarter than you are, just coast along.  Your
201 management responsibilities largely become one    200 management responsibilities largely become ones of saying "Sounds like a
202 good idea - go wild", or "That sounds good, bu    201 good idea - go wild", or "That sounds good, but what about xxx?".  The
203 second version in particular is a great way to    202 second version in particular is a great way to either learn something
204 new about "xxx" or seem **extra** managerial b    203 new about "xxx" or seem **extra** managerial by pointing out something the
205 smarter person hadn't thought about.  In eithe    204 smarter person hadn't thought about.  In either case, you win.
206                                                   205 
207 One thing to look out for is to realize that g    206 One thing to look out for is to realize that greatness in one area does
208 not necessarily translate to other areas.  So     207 not necessarily translate to other areas.  So you might prod people in
209 specific directions, but let's face it, they m    208 specific directions, but let's face it, they might be good at what they
210 do, and suck at everything else.  The good new    209 do, and suck at everything else.  The good news is that people tend to
211 naturally gravitate back to what they are good    210 naturally gravitate back to what they are good at, so it's not like you
212 are doing something irreversible when you **do    211 are doing something irreversible when you **do** prod them in some
213 direction, just don't push too hard.              212 direction, just don't push too hard.
214                                                   213 
215                                                   214 
216 4) Placing blame                                  215 4) Placing blame
217 ----------------                                  216 ----------------
218                                                   217 
219 Things will go wrong, and people want somebody    218 Things will go wrong, and people want somebody to blame. Tag, you're it.
220                                                   219 
221 It's not actually that hard to accept the blam    220 It's not actually that hard to accept the blame, especially if people
222 kind of realize that it wasn't **all** your fa    221 kind of realize that it wasn't **all** your fault.  Which brings us to the
223 best way of taking the blame: do it for someon !! 222 best way of taking the blame: do it for another guy. You'll feel good
224 for taking the fall, they'll feel good about n !! 223 for taking the fall, he'll feel good about not getting blamed, and the
225 person who lost their whole 36GB porn-collecti !! 224 guy who lost his whole 36GB porn-collection because of your incompetence
226 incompetence will grudgingly admit that you at !! 225 will grudgingly admit that you at least didn't try to weasel out of it.
227 out of it.                                     !! 226 
228                                                !! 227 Then make the developer who really screwed up (if you can find him) know
229 Then make the developer who really screwed up  !! 228 **in_private** that he screwed up.  Not just so he can avoid it in the
230 **in private** that they screwed up.  Not just !! 229 future, but so that he knows he owes you one.  And, perhaps even more
231 future, but so that they know they owe you one !! 230 importantly, he's also likely the person who can fix it.  Because, let's
232 importantly, they're also likely the person wh << 
233 face it, it sure ain't you.                       231 face it, it sure ain't you.
234                                                   232 
235 Taking the blame is also why you get to be man    233 Taking the blame is also why you get to be manager in the first place.
236 It's part of what makes people trust you, and     234 It's part of what makes people trust you, and allow you the potential
237 glory, because you're the one who gets to say     235 glory, because you're the one who gets to say "I screwed up".  And if
238 you've followed the previous rules, you'll be     236 you've followed the previous rules, you'll be pretty good at saying that
239 by now.                                           237 by now.
240                                                   238 
241                                                   239 
242 5) Things to avoid                                240 5) Things to avoid
243 ------------------                                241 ------------------
244                                                   242 
245 There's one thing people hate even more than b    243 There's one thing people hate even more than being called "d*ckhead",
246 and that is being called a "d*ckhead" in a san    244 and that is being called a "d*ckhead" in a sanctimonious voice.  The
247 first you can apologize for, the second one yo    245 first you can apologize for, the second one you won't really get the
248 chance.  They likely will no longer be listeni    246 chance.  They likely will no longer be listening even if you otherwise
249 do a good job.                                    247 do a good job.
250                                                   248 
251 We all think we're better than anybody else, w    249 We all think we're better than anybody else, which means that when
252 somebody else puts on airs, it **really** rubs    250 somebody else puts on airs, it **really** rubs us the wrong way.  You may
253 be morally and intellectually superior to ever    251 be morally and intellectually superior to everybody around you, but
254 don't try to make it too obvious unless you re    252 don't try to make it too obvious unless you really **intend** to irritate
255 somebody [#f3]_.                                  253 somebody [#f3]_.
256                                                   254 
257 Similarly, don't be too polite or subtle about    255 Similarly, don't be too polite or subtle about things. Politeness easily
258 ends up going overboard and hiding the problem    256 ends up going overboard and hiding the problem, and as they say, "On the
259 internet, nobody can hear you being subtle". U    257 internet, nobody can hear you being subtle". Use a big blunt object to
260 hammer the point in, because you can't really     258 hammer the point in, because you can't really depend on people getting
261 your point otherwise.                             259 your point otherwise.
262                                                   260 
263 Some humor can help pad both the bluntness and    261 Some humor can help pad both the bluntness and the moralizing.  Going
264 overboard to the point of being ridiculous can    262 overboard to the point of being ridiculous can drive a point home
265 without making it painful to the recipient, wh    263 without making it painful to the recipient, who just thinks you're being
266 silly.  It can thus help get through the perso    264 silly.  It can thus help get through the personal mental block we all
267 have about criticism.                             265 have about criticism.
268                                                   266 
269 .. [#f3] Hint: internet newsgroups that are no    267 .. [#f3] Hint: internet newsgroups that are not directly related to your work
270   are great ways to take out your frustrations    268   are great ways to take out your frustrations at other people. Write
271   insulting posts with a sneer just to get int    269   insulting posts with a sneer just to get into a good flame every once in
272   a while, and you'll feel cleansed. Just don'    270   a while, and you'll feel cleansed. Just don't crap too close to home.
273                                                   271 
274                                                   272 
275 6) Why me?                                        273 6) Why me?
276 ----------                                        274 ----------
277                                                   275 
278 Since your main responsibility seems to be to     276 Since your main responsibility seems to be to take the blame for other
279 peoples mistakes, and make it painfully obviou    277 peoples mistakes, and make it painfully obvious to everybody else that
280 you're incompetent, the obvious question becom    278 you're incompetent, the obvious question becomes one of why do it in the
281 first place?                                      279 first place?
282                                                   280 
283 First off, while you may or may not get scream    281 First off, while you may or may not get screaming teenage girls (or
284 boys, let's not be judgmental or sexist here)     282 boys, let's not be judgmental or sexist here) knocking on your dressing
285 room door, you **will** get an immense feeling    283 room door, you **will** get an immense feeling of personal accomplishment
286 for being "in charge".  Never mind the fact th    284 for being "in charge".  Never mind the fact that you're really leading
287 by trying to keep up with everybody else and r    285 by trying to keep up with everybody else and running after them as fast
288 as you can.  Everybody will still think you're    286 as you can.  Everybody will still think you're the person in charge.
289                                                   287 
290 It's a great job if you can hack it.              288 It's a great job if you can hack it.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php