<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br><div><div>Am 08.01.2015 um 10:11 schrieb Radek Polak <<a href="mailto:psonek2@seznam.cz">psonek2@seznam.cz</a>>:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: 'DejaVu Sans Mono';"><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">On Wednesday, January 07, 2015 21:22:42 Dr. H. Nikolaus Schaller wrote:</div><p style="white-space: pre-wrap; margin: 0px; text-indent: 0px;"> </p><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> Hi,</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> </div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> Am 07.01.2015 um 20:27 schrieb NeilBrown <<a href="mailto:neilb@suse.de">neilb@suse.de</a>>:</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> > Definitely agree here. To me, the patches are as much a part of the</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> > result as the working code is. The "patch" is the basic unit of</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> > communication between developers.</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> </div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> Which is quite a high barrier for new developers… To me it appears that</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> long-term kernel developers are not even aware of this effect.</div><p style="white-space: pre-wrap; margin: 0px; text-indent: 0px;"> </p></div></blockquote><blockquote type="cite"><div style="font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: 'DejaVu Sans Mono';"><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">Are you avare of git blame command? </div></div></blockquote><div><br></div>Sure.</div><div><br><blockquote type="cite"><div style="font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: 'DejaVu Sans Mono';"><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">With correctly splitted and commented patches it's invaluable tool - every line of source code is commented with commit message. If you dont split and comment your patches correctly, git blame is useless.</div></div></blockquote><div><br></div>Yes it is a nice tool.</div><div><br></div><div>My point is: because this tool is available to us knowledged developers we think that it is easy and patches are very important (Neil said: “basic unit of communication”).</div><div>But it makes it difficult for newcomers.</div><div><br><blockquote type="cite"><div style="font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: 'DejaVu Sans Mono';"><p style="white-space: pre-wrap; margin: 0px; text-indent: 0px;"> </p><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> It is like looking at your bank account and seeing only the many + and - .</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> Until there is a line “balance” you don’t know if the account is good or</div><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">> bancrupt.</div><p style="white-space: pre-wrap; margin: 0px; text-indent: 0px;"> </p><div style="white-space: pre-wrap; margin: 0px; text-indent: 0px;">If you apply the patches, you have the balance. Without good paches you have just the balance and no idea why did you bancrupted.</div></div></blockquote><div><br></div>Sure.</div><div><br></div><div>But without doing the balance calculation after each + or - you don’t know how much you can still spend. I.e. they are</div><div>good for analysis why you got bancrupt, but not good to protect you and make wise decisions. For that you need the balance.</div><div><br></div><div>I mean with this: the code structure and its understanding does come from the “balance" and not the individual + and -</div><div><br></div><div>So commit messages for + and - do NOT describe how the code works in total. I.e. the architecture is hidden.</div><div>It is like a mosaic where you look at the individual pieces and how they fit together. And only if you go back you see the picture.</div><div><br></div><div>And I observe a tendency to see the commit messages as documentation of the code and there are seveal source files in</div><div>Linux where the only comment is the license header… So not code is commented but changes.</div><div><br></div><div>This is only my observation that there is IMHO a significant style change which appears to me to be a barrier for newcomers.</div><div>And inhibits discussions about goals and software architecture, if the basic unit of communication is a patch.</div><div><br></div><div>Neil gave a nice example. He submits patches and asks: I want to do it this way. When asking how he should do it, he rarely gets an answer.</div><div>Translated: it is not possible to discuss methods, strategies or architecture. It is only possible to discuss proposed solutions.</div><div><br></div><div>Maybe it is because I am a in my deep heart a philosophical scientist who formulates the question first (and even discusses</div><div>it) and then looks for answers :)</div><div><br></div><div>On the other hand this patch orientation is probably the only way to manage a big community project like Linux. It is like a</div><div>very big construction site where it is impossible to have a well published and understood plan. Rather people add what they</div><div>need. And it is not necessary to fit it into the big plan as long as it does not break something.</div><div><br></div><div>Just my 2ct,</div><div>Nikolaus</div><div><br></div></div></body></html>