Giram vs. POV-Ray

This is a detailed explanation of the confrontation between me and the author of the Giram software, David Odin, with regard to his comments on the POV-Ray license on his public Giram webpage.

Originally I contacted him privately to simply clear up misunderstandings, but partially due to his GPL advocacy and complete unwillingness to retract his false claims about the POV-Ray license, the discussion escalated to ridiculous proportions (including public loathing from his part).

In order to clear up things I'll concentrate on the facts (and skip the most heated parts) of our conversation:

First contact

On April 27 2005 it came to my attention that the author of the software called Giram, David Odin, had written in the front page of the Giram project something odd about the POV-Ray license as an explanation of why his project was having problems. He said:

So GiRaM won't support pov files anymore until Povray become fully GPLed. Their current license doesn't even allow me to read their source to understand how to parse a pov file

I notified the pov-team about this and naturally they didn't have any idea where he had got such an idea. It is certainly not true.

The POV-Ray usage license certainly allows reading and studying the POV-Ray source code. It forbids infringement of copyright by using the code in other (publicly distributed) programs not falling under the same license (in the exact same way as many other licenses do, for example the GPL), but there's no limitation on reading the source code.

I sent an email to the author on my own behalf (I was not speaking officially on behalf of the pov-team but it was just a personal email) asking him where did he get this nonsensical idea from. I pointed out that there are numerous POV-Ray patches and that it's naturally impossible to make those if people are not allowed to read the source code.

I also pointed out that the pov-team has always not only allowed but in fact encouraged third-party programs to support writing and reading of the POV-Ray scene description language. As a more or less humorous remark I suggested that perhaps he got the idea from slashdot, which is infamous for all the anti-povray trolls posting all kinds of lies about POV-Ray and its usage license.

The first answer

His answer to my question was "from the pov-team itself". He told me that he had written the pov-team coordinator about this.

This first answer email didn't really give me a negative feeling. Not yet, at least. I honestly thought that there had been just some kind of misunderstanding somewhere (someone didn't understand some question or some answer correctly, or both) and that the mixup would be easy to solve. At one point in the email he said "by the way, I really really like povray" which gave me confidence that he was really being honest.

Unfortunately it later became quite clear to me that I was badly deceived. There were several claims in his email which were quite deceitful.

First claim

In this first email he wrote me:

I've humbly asked to use the povray code in a next release. This has been refused (which I can certainly understand). I've then asked if it would be ok, if I only take some idea and some hard coded values to match better the povray defaults value (think of the iridescence values, here). This has been refused.

I first thought there was just a honest misunderstanding. Unfortunately it soon became clear that his claim above is a plain lie.

He did ask the pov-team coordinator if he could take code directly from POV-Ray (he literally used the expression "steal some code" in his email to the pov-team) and this was denied. This is the only true part.

Firstly, although not most importantly, the "humbleness" of his request was dubious. What he had actually done was to already take povray source code files, embed them into his Giram project tree (which is a GPL software) and put the whole thing into a public CVS project available to anyone. Only after doing this did he ask the pov-team if it would be ok to do it (and his "humble" request talked about "stealing some source code", literally).

But secondly, and most importantly, he did not ask the pov-team coordinator if it would be ok to "only take some idea and some hard coded values to match better the povray default values". Nowhere in his email to the pov-team there was any mention of this. I don't know where he got the idea that he could not even use some constant numerical values found in the POV-Ray source code, but it was certainly not from the pov-team as he claims.

A bit later in the same email he repeated: "I wasn't allowed to use the same default values", even though he never asked anything about any default values, much less was denied it.

Second claim

He proceeded to write:

I've offered my help to separate the parser (which could be needed by modellers) to a dynamic library from the renderer. The only answer I got was "Do we know you? You'll have to show in our newsgroups that you're a capable coder, sending patches on a regular basis before we could consider anything".

This is bending the truth to the extreme. This is exactly what he asked and what the pov-team coordinator answered him:

> Humm. So, I think I should really wait until the release of 3.6, then.
> Is there a way I can help with the development of 3.6? I already know
> the povray source code pretty well, and have a very good knowlegde of
> C/C++.

Do you visit the POV server's newsgroups regularly ? Do any regulars there know you ?

He offered help, the pov-team coordinator pointed him to a forum where he could contribute. Even his own reply to this suggests that he originally understood what the coordinator was saying, as he used expressions like "just discovered them today" and that he will "try to get involved".

However, the version he sent to me in his email was quite badly twisted. He had bent the original suggestion to some requirement that he has to prove he is a capable coder by sending patches on a regular basis (he continued with "I don't have to prove that I can do this" etc), which has nothing to do with the original answer.

Third claim

To my remark that the pov-team has always allowed and encouraged third-party programs to support the POV-Ray SDL he replied "I've asked. Trust me."

He implies here that the pov-team has told him that he cannot support the POV-Ray SDL in his program. The pov-team has never told him any such thing (the only thing he has been told is that he cannot directly copy code from the POV-Ray source).

Fourth claim

He continued his odd claims in the email:

I've been told _by_the_pov-team_itself_ that they were in the process of rewriting parts of povray which were written by unreachable people, so they could release it under the GPL. That's what I wrote on my website.

Firstly, the pov-team has never said they would release a new POV-Ray version under the GPL (some other OSI-compliant licenses have been seriously considered, but not the GPL). Claiming that the pov-team has told him this is certainly not true.

Secondly, that's not really what he wrote on his website. He wrote that he cannot make a POV-Ray parser because the license "doesn't even allow me to read their source".

My first answer

At this point I still didn't suspect anything (I still hadn't verified the veracity of his claims) so I tried to solve the misunderstanding.

I sent him a reply to his email trying to address the wrong conclusions he had made (although I had yet not consulted with the pov-team about his claims I was pretty certain that they certainly hadn't prohibited him things the POV-Ray license is not prohibiting and I was sure that he had not understood correctly the answers given to him).

I wrote him that I find it difficult to believe that the team had prohibited him from even looking at the source code or take some numerical constants from there (simply because that wouldn't make sense). I pointed out that while the license certainly prohibits direct code copying, it does not prohibite making a program which performs the same functionalities. I also noted that this is actually what the team is going to do (because the current 10-years old C code is not only quite awkward but is also burdened by licensing issues). I also noted that he is mistaken about the pov-team wanting to publish POV-Ray under GPL (but they are considering other OSI-compliant licenses).

I pointed out that the main problem here is, however, that he is spreading false information on his public webpage. He is claiming that the license forbids looking at the source code of POV-Ray while it certainly does not, and this can give unjust bad reputation to POV-Ray.

I honestly thought that this would be enough to solve the issue. One would think that a rational person, even if he doesn't like the POV-Ray license, would listen to reason and correct the false information. How wrong I was!

The truth started to reveal itself

After my first answer to him I consulted the pov-team about the veracity of his claims. The true nature of the incorrect claims I listed earlier was quickly made clear. While now my suspicions were getting stronger, I was still honestly hoping that it was just a misunderstanding (and that he is just a person who exaggerates things without really having bad intentions).

However, his answer to me started revealing the gruesome truth. He was far from willing to correct the mistakes. In fact, he blatantly made them ten times worse.

He told me in his email that he had "fixed" the Giram front page to clarify things. To my horror I found that he had changed the text I quoted at the beginning of the page to this:

You might have noticed that the casing in GiRaM is very weird. It is because I've been fed up with Povray's maintainers way of thinking. So GiRaM won't support pov files anymore until Povray become a fully free software. Their current license doesn't even allow me to read their source or use some structures from their scene description language (SDL).

Since I've put the above statement, I've been contacted by the povray team, saying I'm a bit harsh saying "I can't read the source code". Here is the real truth: it is of course allowed to read the source code, but right after this, you have to forget almost everything you've seen, and don't use any code that is there. So implementing a fully compatible parser would mean reinventing the wheel with slightly different code. I don't have time to play this silly game.

His "fix" to the problematic claim in his webpage was to enhance it with more lies:

Things get even worse

As I soon found out, his "fix" to the webpage showed only a fraction of his nonsensical ideas.

His ideas about the idea of code copying in licenses

In subsequent emails he made very clear that:

  1. When the POV-Ray license says that no part of the POV-Ray source code can be copied to other programs, it actually means that even if he sees something like one single numerical value in the source code (like "5") he cannot (according to the POV-Ray license, he says) use that value in his own program.
  2. If the POV-Ray source code uses some concept (he mentions "using a 5-dimensional vector to represent a color" as a concrete example) he cannot use the same concept in his own program.
  3. It is silly for the POV-Ray license to forbid copying entire structure definitions directly from the POV-Ray source code to his own program.

I tried to make clear to him how nonsensical these ideas are by comparing them to the GPL license (which he appreciates very much) with questions along the lines of:

  1. If you see a single numerical value (such as "5") in a GPL source code, are you then allowed to use this numerical value in a non-GPL software? Does the GPL license forbid this? The GPL license uses the term "any part" in the section where it forbids copying code to non-GPL software.
  2. Likewise, if you see an idea (eg. a 5-dimensional vector being used to represent a color) in a GPL source code, does the GPL license allow you to use this same idea in a non-GPL program?
  3. Why is it not silly for the GPL license to forbid copying entire structure definitions to non-GPL software, but it is silly for the POV-Ray license to do this exact same thing?

With these kinds of questions I have tried to make him clear that it is very common in usage licenses (including the GPL) to prohibite code copying and that it refers to relevant parts of the code (parts which can be seen as having a copyright), and that this does naturally not extend to "seeing a single numerical value and not being allowed to use it". The GPL license uses this very concept. He doesn't think the GPL is silly. However, when the POV-Ray license uses this same concept, he thinks it is silly.

No matter how many times or in which ways I tried to ask him these questions, he simply refused to answer. He either skipped the question completely or else gave a completely nonsensical and irrelevant answer which did not answer my question at all. At no point did he answer any of these questions in any way (and much less admitted that he might have been a bit wrong about what "code copying" means).

His attitude towards POV-Ray and the pov-team

When I told him that the statement in his Giram webpage is false and very misleading, his answer to this was "Calling povray "a high-quality, totally free tool" is much more misleading".

It's interesting that he could have left out the "high-quality" part in his answer, but instead he decided to include that. In other words, he is effectively saying that "calling povray a high-quality tool is misleading".

It's also interesting that he seems to be implying here that since the POV-Ray homepage has (according to him) misleading statements about POV-Ray, it's then completely ok for him to put misleading statements about POV-Ray in his webpage.

To my comment that the pov-team is planning a rewrite, one of the reasons being that the current license is a burden to everyone, his answer was:

Great! So the code to read a scene will be rewritten, with the same restricting license. Maybe the povteam find it funny to rewrite code, closing eyes so you don't end up with similar structures, or renaming/reordering some fields to be able to say: "see! we don't copy the code, we're redoing it".

So he started mocking the pov-team for wanting to rewrite POV-Ray. The reason why he thinks it is a bad thing for the pov-team to want to redesign the now over-10-years-old C code to a more modern and high-quality design and to finally be able to offer a less restrictive license is beyond my grasp.

The conclusion

At the end, he modified his Giram webpage for a third time, now converting it to a personal vendetta against me:

You might have noticed that the casing in GiRaM is very weird. It is because I've been fed up with Povray's maintainers way of thinking. So GiRaM won't support pov files anymore until Povray become a fully free software. I formerly explained here why I couldn't include a pov file loader, but I've been bugged by someone from, namely Juha Nieminen <(My email address)> asking me to remove any explanation. So I'll only point to an url Juha gave me to explain why povray license is pure shit. Juha also seems to know that the povray-team is heavily opposed to GPLed projects.

His final comment to me by email was:

You're really giving a bad image of povray people.