[Ed. note: Characterisations of cited software were true as of the posting date. At the end of 2007, however, Prof. Bernstein asserted that most of his software, including qmail and djbdns, was henceforth, by his own fiat, "public domain" software.]
Date: Sun, 19 Dec 2004 13:52:31 -0800
From: Rick Moen <rick@linuxmafia.com>
To: spf-devel@v2.listbox.com
User-Agent: Mutt/1.5.6+20040722i
Subject: [spf-devel] Re: DJB-Software, Free or Not?
Quoting James Couzens:
> It is. There are restrictions as to how it may be packaged. All of the
> FUD surrounding DJB software appears to have originally been started by
> Bernard Rosenkraenzer of Red Hat and further perpetuated by Rick Moen
> (rick@linuxmafia.com).
It is regrettable that I cannot write about software and licensing without being the subject of ongoing personal attack, but I've come to expect this of a certain software fan club. And, hey, at least it's better than being sent legal threats — but I'll get to that later.
James quotes Prof. Bernstein:
> - Rick Moen says you can revoke these permissions by changing your Web page!
> - Wait, now Rick Moen says he never said that!
And thus James, like Prof. Bernstein, disposes of my license critique without addressing it at all. I'll be charitable and assume that James, unlike Prof. Bernstein, simply misread (or failed to read) what I wrote. By contrast, I strongly suspect that Prof. Bernstein was well aware of pulling a fast one in ignoring the substance of my essay by distracting people's attention, since I've observed him doing it frequently with other licence critics, since then. That is an unfortunate habit, as it interferes with clarity about relevant facts.
My essay is at:
http://linuxmafia.com/~rick/faq/warez.html#djb
My follow-on essay, from which Prof. Bernstein selectively quotes in an attempt to assert my dishonesty, merely points out that I had not claimed Bernstein could withdraw his permissions by removing his Web page, and furthermore it links to where I had prominently corrected in public people who had so claimed.
It also points out that this irrelevant digression sadly ignores the point of the antecedent, earlier essay — almost as if Prof. Bernstein were trying to evade the point by posting a non-sequitur personal attack as a diversion. (Gasp! Could it be?)
> This entire issue honestly appears to be based in ego-land.
Thus illustrating Moen's First Law of Debate (http://linuxmafia.com/~rick/lexicon.html#moenslaw-debate1): "No matter what the issue, someone will try to turn it into a personality dispute."
No, actually, the entire issue is based in licensing and code.
> What pissed Bernard, Moen, and others appears to be purely rooted
> within this issue of 'renaming files and directories'.
No, actually:
1. Moen isn't pissed off — although getting a legal threat from Prof. Bernstein for "libeling" his software, and, when I politely referred him to my attorney, watching him drop that tactic and switch to character assassination, didn't endear me to the gentleman. All I attempted to do in my essay was create a URL to refer people to, because I'd become tired of repeatedly explaining why I personally don't like or use Prof. Bernstein's software. (Note: Software inherently cannot be the object of defamation, as it is not recognised as a person in the eyes of the law. It was thus amusing, if sad, to be thus threatened.)
2. Moen is perfectly happy with other people liking that software. That's entirely their concern.
So, let's dispose of all of the above idiotic and time-wasting posturing and irrelevant rhetorical side-shows — which insult everyone's intelligence, James — and get back to the point:
>> What we need to know is DJBDNS free or not?
> It is.
The notion of "free" (aka open source) in the software context basically boils down to access to source code, the legal right to fork it, and the right to create and redistribute derivative works and use them for any purpose. (There are details that have cropped up, as clever people have tried to find ways to apparently grant those rights while denying their substance, resulting in codifications like the Open Source Definition, http://www.opensource.org/docs/definition.php. And copyleft restrictions within reason are not considered to prevent the software from being "free".)
One major consequence of software not being "free" in that sense is that, absent the right to fork, the project dies completely when the developer retires or loses interest, as nobody else has the legal right to create and distribute derivative works, and the software becomes in practice unmaintainable. (Yes, you can continue to swap source patches of your own authorship, e.g., netqmail, but that's no way to run a project.)
qmail, like most other of Prof. Bernstein's packages, was distributed under a very generous licence that, however, lacks the legal right to fork (to create derivative works and new versions), which right is reserved by default operation of copyright law to the copyright holder.
Thus it is not "free" by all conventional meanings of that term. It is gratis for usage — and those who like it (which happens not to include yr. humble correspondent) owe Prof. Bernstein a debt of gratitude.
For their sake, I hope Prof. Bernstein continues to maintain his proprietary (if free-of-charge) code for a long time — since, afterwards, it's doomed to be gradually left behind.
...as a consequence of it being non-free (aka proprietary), you see.
> It makes absolute sense. As a software developer myself, it's a
> nightmare trying to get accurate information when a new bug arrives
> when it's only happening on certain distros and OSes, and yes I have
> personally expensed several hours that I'll never get back helping a
> user who, if he had only simply installed my software as it was
> intended, with the intended names and locations, never would have
> had any problems, and even if he did, troubleshooting would have been
> very easy.
Then, you presumably don't issue code under a free (aka "open source") licence. It's your perfect right to have those views, exactly as it is Prof. Bernstein's.
But then your software is not under a free / open-source licence, and you should get used to people like me saying so, perhaps even on Web pages. If you make legal threats about our "libeling" your software, however, please expect to be politely referred to our attorneys and ignored.
And so, no, it's not free. I'd say I suspect you already knew that, but that would be uncharitable.
-- Cheers, There are 10 types of people in this world, those who know quaternary, Rick Moen those who only recently figured out Ron Fabre's "ternary" .sig, those who're completely confused, and those who hate self-referential jokes.
From: James Couzens
To: SPF-DEVEL LIST <spf-devel@v2.listbox.com>
Date: Mon, 20 Dec 2004 20:07:31 -0800
X-Mailer: Evolution 2.0.2
Subject: Re: [spf-devel] Re: DJB-Software, Free or Not?
Rick,
On Sun, 2004-12-19 at 13:52 -0800, Rick Moen wrote:
I see your point. And from your standpoint your argument appears to have merit, however it's unfortunately entirely biased by your interpretation of "free", or which interpretation of free you wish to associate with all software.
I am able to do whatever it is I wish to do with DJB's software, including distribute it, provided I adhere to some very logical and easy to follow guidelines -- guidelines that can even be side stepped provided he is informed and approves. Given the extreme flexibility being afforded through the referenced terms, I have not yet to date arrived at a point where I've felt or needed to contact DJB and ask for anything (having been led to believe that should I run into circumstances preventing me from adhering to said terms, and having exercised a best effort basis to adhere to said terms that I shall be afforded some further flexibility by DJB).
You can distribute his software. You can even violate his distribution terms provided you can show that you've made a best effort basis to meet his terms, by simply asking him. Why would he write something and be as adamant about it has he has, if he was not willing to honour them? Without trying to sound like a DJB zealot or whatever people are calling them these days, I personally do not see a problem.
All of the reasons that I have been able to read of all lead me to believe that someone has either not made a best effort to meet the terms, or has had a frivolous or otherwise unwarranted reason to do something with his code and been denied either verbally rebuked by DJB or prevented from further forward movement by adherence to the license terms.
> One major consequence of software not being "free" in that sense is
> that, absent the right to fork, the project dies completely when the
> developer retires or loses interest, as nobody else has the legal right
> to create and distribute derivative works, and the software becomes in
> practice unmaintainable. (Yes, you can continue swap patches of your own
> authorship, but that's no way to run a project.)
I disagree. It's not the way you would perhaps run a project, but clearly given the sheer volume of "patch-work" available for qmail and other related DJB software illustrates that it is indeed a viable way to run a project. Keeping things objective, just because you do not particularly care for or believe something is viable or acceptable one way, does not mean you are being accurate or truthful, it's simply your opinion, and as such would be much better expressed as such, something you do not appear to do. Not doing so lends your words to much potential misinterpretation by the reader.
There is a lot of software out there. Frankly, his is the best IMHO. It's the most secure, it's so incredibly tiny, simple, powerful, flexible, and it's free. These are facts, and although they are also my opinion, I believe his code stands up on its own to refute anyone stating otherwise. In addition there are loads of patches allowing people to exercise their right to modify and alter his code to their hearts content.
I can write a patch against the code, and I can release it. Just because I can't bundle it all up and fork it out doesn't make it any less free. It's just not what you are used to. Believe me, it's just as free. Look at the end result. I can still modify the code, I can still distribute it, I can call my distribution whatever I want. All of these things leave me free to do whatever I want with it. The only catch is that I include an unmodified copy of the original code as he released it and then allow the end user to apply "my version" or "my changes" themselves. It just doesn't sound any where nearly as bad as you seem to wish to make out. It's not really that difficult. It's simply another way of doing things.
This way of doing things makes a lot of sense to me. It allows Dan to not only retain full credit for the portions of work that are his, but it allows him to very easily identify when a problem is with his code, and when it is with some fork. Have a look at Gentoo, and emerge a few packages for example. Loads of packages have disclaimers "do not contact this group, or that group they do not support this". Obviously these disclaimers are here because it's a problem. It's a headache I want nothing to do with, and the way DJB goes about it makes a lot of sense to me, and has probably resulted in considerable time savings not chasing down false bugs and problems related to someone else's code changes.
> And so, no, it's not free. I'd say I suspect you already knew that,
> but that would be uncharitable.
An so yes, actually it is free. You see, I can say it too. And you know what, given your line of logic, I'm also correct. How can be both be correct? Silly isn't it?
Perhaps not free by the definition that you and others wish to attribute to "free software", but you are absolutely and completely wrong to state that it isn't free. You can not say it's not free just because it doesn't meet your desired interpretation of free. I feel incredibly free to do whatever I please with his code, and I'm exceptionally grateful that I am able to do so.
If you wish to go around stating that it's not free, you're just going to wind up either coming across ignorant and attract unnecessary attention. You would do well to state something like:
"DJB's software is not licensed under the GPL or BSD licenses and thus the freedoms commonly attributed to software licensed under the GPL or BSD licenses are not present with his code. I suggest you become aware of the terms associated with using DJB code."
You'd never piss anyone off, and you would be 100% accurate. Stating that it's not free is a flagrant abuse of the tongue and a statement that is entirely based upon the interpretation of the term "free" one wishes to assign to it.
I apologize for quoting you in a manner that affords the misapplication of context, however it is often very hard to make a point in a message without including scads of reference material directly in the text and expect the end user to actually read it. Granted, it would have served me better to have linked the document you linked, and had I been able to procure it at the time of writing I would have done so.
So let me take my own advice, and refrain from flat out referring to his code as "free". I always when discussing his code provide reference to or direct quotes from the terms readily available on his website so that the reader does not mistakenly confuse the intended "level of freeness" I am trying to attribute.
I do not know you, and thus, I have no opinion of you other than what I can obtain from this conversation and possibly in future, other conversations. I'm not of the habit of reading someone's on-line or other opinion of someone based on some experience(s) they have had with that individual and repeating it verbatim and treating it as gospel. That being said, thank you for tactfully responding to my message and clearly iterating your particular viewpoint without resorting to expletives and personal attacks. It is appreciated.
I hope I have been able to express my viewpoints more clearly and in more detail, such that you can understand why I would argue this particular topic, one that many vehemently try to avoid.
> Then, you presumably don't issue code under a free (aka "open source")
> licence. It's your perfect right to have those views, exactly as it is
> Prof. Bernstein's.
>
> But then your software is not under a free / open-source licence, and
> you should get used to people like me saying so, perhaps even on Web
> pages. If you make legal threats about our "libeling" your software,
> however, please expect to be politely referred to our attorneys and
> ignored.
I release my code under the "codeshare" license. This license is identical to the "libspf" license which it was originally called and which my SPF library is released under. My terms are essentially that that the copyright must be retained and other than that, the end user is free to do as they please. I choose to release software in this manner because it suits me, and for all parties involved, including commercial entities it is more palatable than say the DJB way. The goal with SPF was to provide code and allow for any use by anyone in any way they see fit. For this particular project, and others associated with it, I think it's quite apt. However, should I embark on a larger project I will very likely adopt something along the lines of a DJB license should I wish to retain involvement in the project or wish that any code released remain in its original released form.
Don't forget, in all honesty you don't really need to modify his code unlike so much out there. I can untar qmail-1.03 and have a working mail server. If I want to add anti-virus, or anti-spam, I can do all of this without patching a single bit of code. Of course this is stated to make a point, because indeed it's the truth, however in practice, the netqmail project is a more intelligent choice perhaps because Dan consented to its existence and it has good oversight and ships with just the essential patches to bring it up to snuff as far as modern compilers and the Internet "today" is concerned.
Last but not least, you need not worry of me attempting to proceed with legal action against you for having an opinion. Were it my software that you were recklessly throwing around sentences constructed to literally state "it's not free" I would likely feel more passionate about it and who knows, perhaps I would feel like it was necessary to proceed in that direction.
At any rate, thanks for taking the time to iterate your stance and I look forward to a response from you if you deem it necessary.
Cheers,
James
From: Rick Moen <rick@linuxmafia.com>
To: SPF-DEVEL LIST <spf-devel@v2.listbox.com>
Subject: Re: [spf-devel] Re: DJB-Software, Free or Not?
Date: Mon, 20 Dec 2004 21:25:22 -0800
User-Agent: Mutt/1.5.6+20040722i
X-Mas: Bah humbug.
Quoting James Couzens
> I see your point. And from your standpoint your argument appears to
> have merit, however it's unfortunately entirely biased by your
> interpretation of "free", or which interpretation of free you wish to
> associate with all software.
The problem with this assertion is that it really wasn't my interpretation of "free", but rather one clearly implied by the surrounding context of the preceding discussion, carried out by the other people who raised this question on the "discuss" list. This is often but certainly not always the case when discussing software: The word is problematic in having too many meanings, absent context -- so one is utterly dependent on checking context to help one disambiguate.
Which is, in fact, what I did.
Which means the rest of your argument is non-sequitur. Sorry.
Personally, I tend to avoid using the terms "free" and "non-free" for software, specifically because they cause so much confusion. Instead, I refer to software being either open source or proprietary. (Neither term is intended as derogatory: There are many fine, generously created proprietary packages, such as most of Prof. Bernstein's codebases.)
If asked what I mean by those terms in the software context, I am glad to clarify: Open source means in compliance with the Open Source Definition, a set of metrics that roughly approximate the right to fork (plus the right to create and distributed derivative works, and use them for any purpose). Proprietary means otherwise.
No right to fork means, as noted, a project doomed to death in the long term -- or the sort of patch-swapping afterlife you claim with a straight face is a workable development model. (We'll just agree to disagree. The existence of huge numbers of qmail patches not regression tested against each other in no way demonstrates your claim: That is not a whole lot like issuing the equivalent of new releases through nothing more than patch-swapping. If the need to do that does arise, and it actually proves workable and doesn't drive everyone crazy, I'll buy you a tall frosty one out of sheer amazement.)
Thus the main long-term reason people are interested in knowing if a codebase is proprietary: If it is, then it's a single-sourced offering that will at some point cease, for practical purposes, to be maintainable.
> Without trying to sound like a DJB zealot or whatever people are calling
> them these days, I personally do not see a problem.
Yes, I know: You're happy with proprietary software. I'm happy you're happy, and have no interest in convincing you (or anyone else) otherwise. All I've done (in the Web essay you referred to, and elsewhere) is state why *I* don't like or use the gentleman's stuff.
For that, I find myself personally attacked by DJBware fanciers, again and again, all around the Internet -- and subjected to legal threats and public attacks on my character by Prof. Bernstein. I find that very regrettable, and very odd.
> I disagree. It's not the way you would perhaps run a project, but
> clearly given the sheer volume of "patch-work" available for qmail and
> other related DJB software illustrates that it is indeed a viable way to
> run a project.
As noted, your conclusion strikes me as non-sequitur. But I'm agreeing to disagree, and wish you luck with that development model, should the need ever arise with a major software project of public interest.
> This way of doing things makes a lot of sense to me.
Yes, you're happy with proprietary software. A lot of the rest of us prefer open source, in general.
So, in the end, we're both happy. But you somehow felt obliged to impugn my motives -- incorrectly -- even though you didn't know me from Adam. Thus my post.
> That being said, thank you for tactfully responding to my message and
> clearly iterating your particular viewpoint without resorting to
> expletives and personal attacks. It is appreciated.
You're quite welcome.
> Don't forget, in all honesty you don't really need to modify his code
> unlike so much out there.
When I was chief sysadmin at a Linux commercial support firm in San Francisco that shall go nameless, we did not find this to be the case, at all. Unfortunately, I don't have handy the list of patches we needed to apply against 1.03, but it was very extensive.
-- Cheers, There are 10 types of people in this world, those who know quaternary, Rick Moen those who only recently figured out Ron Fabre's "ternary" .sig, those who're completely confused, and those who hate self-referential jokes.