I woke up this morning to find out that my Slashdot post had been accepted, as well as an e-mail from a friend saying “I hope you’re wearing your fire-retardant underpants today…”
I learned early on that to do open source you need a thick skin (there are hundreds of critics willing to tell you what *you* should do), so I was pretty prepared for the usual raft of somewhat negative comments to my post. But, hey, Bruce Perens (or someone posing as him) actually replied. That’s pretty cool.
Most of the comments advised “Get A Lawyer”.
(sigh)
I don’t want to involve lawyers. Why is it in this country the first knee-jerk reaction is to sue someone. Yes, I did post it under “The Courts” but that is because there wasn’t a better category on Slashdot. There was no “licensing” or “open source” category to choose, so I went with that one.
A lot of people pointed out that there are several references on the Cittio website that mention open source projects like OpenNMS. I was aware of them. My point in the original post was that a potential Cittio customer was totally unaware of their rights under the GPL. Part of the license is “you must show them these terms so they know their rights.” (GPLv2, Preamble) The exact timing of this would be up to the individual company, but my guess is it would have to be before reaching the quote stage. Sure, you don’t have to distribute the actual source code until ownership changes hands (i.e. I can’t demand a copy, only a customer can) but I can’t see where the license requirements for full disclosure can be upheld by revealing the information after the fact.
Note that this is not a one time thing. We have talked with other Cittio clients and potential clients in the past and they tell a similar story. This was the first time, however, that the person was actually concerned about it. I didn’t screw up on the quotes with the statement “That really irritates me” – that came from the client.
This came on the heels of a post on the opennms-install list from a Cittio developer (anonymously) about very recent OpenNMS code. The Cittio site claims they use OpenNMS 1.0.2, which to be quite frank is damn near unusable these days. While it isn’t proof that they are modifying OpenNMS code, it is enough to suggest it.
Which brings me to the open source double standard.
Open source projects are constantly under scrutiny for the potential to incorporate “non-free” code into an open source project. This is very easy to pursue, since the code is out there for anyone to see. Proprietary companies, on the other hand, can easily hide behind binaries. It is very hard to deliver proof that someone has used your code. With all of the amazing stuff being done in the open I can guess that the temptation to use open code in a closed application is strong, especially since the chance of getting caught is slim. I am *not* implying that Cittio in particular does this, but I could see it happen in general.
One might say (as many Slashdot readers did) that this is the domain of the Free Software Foundation (of which I am a member) and its legal arm the Software Freedom Law Center. I tried that route. In 2005 I got an e-mail from Daniel Ravicher that stated “SFLC unfortunately cannot generally represent for profit entities, as such could jeopardize our not-for-profit status.” As the initial code base for OpenNMS is copyright Oculan and most of the rest is copyright The OpenNMS Group (both for-profit companies) they can’t help. We are exploring ways to deal with this, but for now the SFLC can’t help.
This problem raises a number of questions for me, and I think points out a weakness in the GPL. The reason the copyright to OpenNMS is held by a number of entities is due directly to the collaborative nature of the GPL. Suppose Joomla!, a fork of Mambo, modifies under the GPL some original Mambo code, and a third party takes it and uses it in violation of the license. Does Joomla! have any right to pursue action against that party, or do they need Mambo’s permission? It’s very unclear to me.
My favorite comments were those that implied that Cittio would sue me for libel. Again, my bad for asking for advice on Slashdot, and I expected as much. Libel can be defined as “the communication of a statement that makes a false claim, expressively stated or implied to be factual, that may harm the reputation of an individual, business, product, group, government or nation.” I made only two claims:
1) A potential Cittio client that had reached the negotiation/quote stage was not fully aware that OpenNMS was being used as part of Watchtower.
2) A Cittio developer was anonymously asking questions about fairly recent OpenNMS code.
Neither of those are false. These two facts raised doubts within me about whether or not I could take Jamie Lerner at his word that Cittio was obeying the GPL, and I invited Cittio to set the record straight.
It’s not libel.
One has to remember that in 2002 Jamie Lerner contacted us about a commercial license for OpenNMS. We told him there wasn’t one and probably wouldn’t ever be one, yet he went on to use OpenNMS anyway. In 2005 we revisited this and he again assured me that Cittio was just using OpenNMS 1.0.2 and was in no way violating the GPL. This resulted in the few references to OpenNMS that can be found on the Cittio website, but no real details as to how the integration was accomplished. Per the GPLv2 FAQ:
The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can’t treat them as two separate programs. So the GPL has to cover the whole thing.
If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs–but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.
What I want to know is how “well separated” are OpenNMS and Watchtower?
Outside of spending a bunch of money on lawyers, which I didn’t want to do, I figured I could just appeal to the community. Slashdot seemed like a perfect choice, and as Bruce Perens pointed out “You’ve achieved your desired goal”. As I’ve mentioned a couple of times, I welcome Cittio to explain how they integrate with OpenNMS, how they tell clients and potential clients about the open source tools they use, and how they distribute the source code. Perhaps this was all a big misunderstanding.
Note that I’m really not doing this as part of my day job. The OpenNMS Group is a services-only company. We don’t sell software and so the potential loss of a client to Cittio is pretty much a non-event as far as our bottom line is concerned. But I felt compelled to do this for our community. It would be just plain wrong for a company to take their work and to attempt to profit from it, so I look forward to Cittio putting all of our doubts to rest.
I was really surprised at the small amount of Slashdot comments with, for lack of a better word, “righteous indignation” at a possible GPL violation (although we did get support from unlikely corners). Perhaps we in open source are really in our own little world, and stuff like this doesn’t matter to the world at large. Well, it matters to me.