meta data for this page
  •  

This is an old revision of the document!


Dealing with Nothingburger-ism

In the last segment, I outlined the phenomenon of nothingburger-ism and its typical symptoms in open source software projects. I believe that identifying the problem is somewhat useful, but it still mostly begs the question.

That you can diagnose an illness does not mean that you know how to treat it. If you really thought about nothingburger-ism as a sort of illness that afflicts open source software projects, diagnosis seems quite straightforward; the symptomology is quite clear. But, as with any illness, what is more useful and important is how to treat the problem.

Even better than treatment would be prevention!

Regardless, identifying the problem and having a name for it is a necessary initial step and hopefully, dear reader, we are on the same page on that. In that case, we would at least agree that Nothingburgerism is:

  1. Real, i.e. not a figment of Revusky's overactive imagination.
  2. A real problem. Thus, there is some value in thinking seriously about how to deal with it.

Now, let me say here, up front, that I don't actually know what the remedy is when an open source project has reached some advanced state of nothingburger-ism. I don't even know whether there is any real answer.

I recall some anecdote that might (or might not) even be true. A prominent engineering firm in job interviews of recent engineering graduates would ask them the question: Suppose you drop your car keys into the middle of the ocean? How do you solve this problem?

Apparently, the correct answer is: Don't drop your car keys into the middle of the ocean!

It could well be that a similar answer applies to nothingburger-ism. What do you do about an open source project that has devolved into a state of nothingburger-ism? Answer: Don't let your project devolve into nothing-burgerism!

Once a once healthy project has lapsed into nothingburger-ism, I believe it is very hard for it to get out of that state. Now, if nothingburger-ism was a purely technical problem, I suppose it would not be so intractable. However, that is not the case. I'm pretty sure that it is primarily non-technical factors that make the situation so impossible – things best understood in terms of social psychology and such. In any Psychology 101 course, one typically learns about the Milgram experiment from nearly 60 years ago. This demonstrated just how conditioned people are to obey anybody that they perceive as an “authority figure”. Quite literally, many people will electrically shock somebody to death rather than disobey authority. Perceived authority really, since the “authority figure” in the Milgram experiment actually has no real authority over the subject.

Though shocking in a way, the Milgram experiment does reflect my own casual observation. Not just in open source software by any means, I have been continually amazed at people's passive acceptance of what is obviously completely illegitimate authority.

In Hollywood movies there is frequently some pivotal moment in which an authority figure has some sort of breakdown and starts ranting, talking such such self-evidently deranged nonsense that he immediately loses all credibility. One example that comes to mind is the Captain Queeg character in the Caine Mutiny portrayed by Humphrey Bogart.

But that is Hollywood. I was pondering how frequently such things happen in real life and I came to the conclusion that this mostly just happens in movies. In the real world, it seems to be just about impossible for an authority figure to lose his authority this way. Just for example, I recall the president of the United States of some years back, one George W. Bush, arguing that it was necessary to invade Iraq because we had to fight the terrorists over there or we'd be fighting them over here. As I recall, nobody bothered to ask the president how said “terrorists” were going to get over here. Moreover, even if we accepted the (frankly dubious) premise that Iraq and Afghanistan were full of these terrorists who want to come over here and kill random people, and further accepting that they had the means somehow to get here, how would invading and occupying these countries remedy this problem? (If anything, it would exacerbate the problem, but certainly not make things better!) If real life worked like these Hollywood movies, the appropriate people would have shown up shortly to drag off Mr. Bush to the rubber room. Or, if not quite that, by talking such self-evident nonsense, Bush would have squandered pretty much all of his credibility and moral authority. Well, we know that nothing of the sort happened. Mr. Bush got the “splendid little war” that he (or, more precisely, his handlers) wanted and was re-elected to a second term in office.

Now, I don't mean to say that these Captain Queeg moments never occur in real life. “Never” is a strong word and how could I know that anyway? However, I would say that they are much more the exception than the rule. What is typical, as the Milgram experiment and the preceding case of George Bush show, is that very many people, maybe the vast majority, will not question a perceived authority figure even under quite extreme, downright surreal conditions.

Self-observation is always difficult, but I believe that I myself, for whatever reasons, have somewhat less tendency than most people to accept illegitimate authority. However, I still made a very key mistake in that regard when I “forked” the JavaCC codebase and named it “FreeCC”. Even though I rejected the “authority” of the Nothingburger artists in control of the existing JavaCC project, for some reason, I still accepted their exclusive right to call their product “JavaCC”. On reflection, however, my “fork” (and is) simply a forward evolution of the codebase that Sun Microsystems released in 2003. In what real sense is it less “JavaCC” than anything else is? In retrospect, it is quite clear that I should have simply labeled my “fork” as JavaCC and if this caused any confusion, simply to say that this was JavaCC and their tool was also JavaCC, though obviously a quite inferior, less advanced version.

I would also add that if these people ever had any real right to exclusive use of the name, they really forfeited that right when they refused to even review contributions. It simply makes no sense for people to be able to remain in a position indefinitely when they fail to carry out the most basic responsibilities that this entails. Not only had these people not done any work on the codebase in five years, but when somebody eager to do something with it, and had already a significant contribution to make (not just proposals, talk, but work already done!) showed up and they refused to review it, one would think that only a very foolish person would accept that by just continuing the work elsewhere and calling it JavaCC, I was violating their “rights”. Because, you see, my work was not a “fork”. It was then (and now) the only line of active development on the JavaCC codebase.

That is my current position. I am satisfied that it is correct. However, I am perplexed, quite frankly, that it took me so many years to realize this. Well, I can be quite slow at times.

In the |next segment on nothingburgerism I shall make some more general observations about the phenomenon, and what counter-measures are possible. However, I will say up front that I don't have any definitive answers. In that sense, I write this essay more to open a much-needed discussion than anything else.