meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
nothingburger3 [2020/04/27 15:23] revuskynothingburger3 [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Some Needed Clarification ====== 
- 
-Now, before continuing the discussion of //nothingburger-ism// I should make one point clear. By no means am I saying here that the //only// thing anybody can do of any value in a software project is write code. In fact, it is frequently the case that the most value that can be added at a given point is by doing things other than coding. For example, most (pretty much all) open source projects are sorely in need of better documentation than what they have.   
- 
-But, the issue nonetheless is one of balance. Suppose you were a journalist assigned to write some articles on the military. It turns out that every "soldier" you ever come into contact with has some desk job doing completely sedentary work, typing up reports and such. Also, every last one of these people is of officer rank. Suppose further that when you say you would like to interview some regular soldiers, you are given the runaround and it gradually becomes apparent that there are no regular soldiers to interview. This is an army with all officers and no regular soldiers.  
- 
-Would that not be completely surreal? How much expertise in military affairs would it take for you to realize that there is something very screwy going on? Of course, we could also imagine a situation where the journalist realizes all this but keeps it to himself, since he realizes that honestly reporting on this absurd state of affairs might be career suicide. 
- 
-Now that I brought up a military metaphor, it occurs to me to point out that the stance of the people in a //nothingburger// project is entirely defensive. They have this outrageous, exaggerated fear of changing anything, particularly in the core code. At the risk of mixing metaphors, they are like the future humans in the post-apocalyptic science fiction, who have a completely mysterious, mystical relationship with any of these remaining machines.  
- 
-Now, actually, I have to admit that I have a similar relationship with most of the appliances in my home, and I would not mess with them. However, I am happy to have a qualified repairman to fix my washing machine when it needs fixing. So, actually, a person's reluctance to tinker with machinery that they don't really understand is quite understandable. In the case of physical machines...  
- 
-However, the odd thing about this is that software is not a //physical// machine. If your code is stored in a code repository such as Git, SVN, or CVS, you can restore it effortlessly to any previous state it was in. So, actually, tinkering with the code is a no-lose situation. I recall on a mailing list hosted by Apache Software Foundation, this whole topic came up. It was about just how conservative the project was in terms of letting people commit code. One of the people there was making some comparison between allowing people to commit code and trusting your fellow mountain climbers. (Apparently, the guy's hobby was rock climbing or something.)  
- 
-I pointed out to him that the simile would be more applicable if, when you fell off a cliff at time t, and presumably broke all the bones your body, you had the capability of instantly restoring yourself to the state you were in at t-1 just before the fall. (This is another sci-fi fantasy genre, X-Men and such...) 
- 
-Well, regardless, it is really quite a stretch to liken mucking with source code to a physically dangerous activity like rock climbing. No matter how irreparably you mess up the code, you can always restore it to the previous state anyway. Of course, even if that were not the case, it still would not be comparable to falling off a cliff to one's death! So this is another striking example of an argument that is multiple degrees away from making any sense at all! 
- 
-This leads us to another frequent symptom of //nothing-burger-ism//: 
- 
-//The insiders in a nothingburger project frequently **affect** that they don't understand how version control systems work.// 
- 
-The //nothingburger artists// will frequently argue that it is extremely risky to let some "unproven" person (//except how is he supposed to prove himself?//) come in and do anything. Why? They might screw something up. Well, aside from the fact that code stored in a version control system can be restored to any previous known working state, there is also this feature that they all have called //branching//. If somebody shows up and proposes some ideas that you think are dubious, they can be given a separate branch to work on, and have a shot at demonstrating the worth of their ideas. 
- 
-If you are foolish (or masochistic) enough to be engaging these people in discussion and you point out the above, the typical result is that they simply walk away from the conversation. 
- 
- 
- 
-that they would be terrified of actually taking apart any of these remaining machines that still work and trying to do any basic maintenance. Actually, their fear could be quite justified. Since they don't know how the machines work, they (quite rightfully) fear that if they dismantle the machine, they will never be able to re-assemble it into working condition. 
- 
- 
- 
- 
-