[phobos] Tango and the new time lib
Steve Schveighoffer
schveiguy at yahoo.com
Fri Apr 30 04:08:58 PDT 2010
----- Original Message ----
> From: Ellery Newcomer <ellery-newcomer at utulsa.edu>
> Well, as long as we're boycotting tango and stealing things from C#,
Modeling an API after C# is not stealing. There is very little chance you see the actual code, so all you have to do is read and understand the API, then you can make a similar API for Phobos. It is how I created the time structures in Tango, modeled after C#.
Tango is quite different since the source is available, and even present in the documentation (by clicking on a link, you can see the entire source file). Therefore, Tango can claim at any point that you looked at their source, and therefore started your project by copying it. To get around this, you have to not use or view Tango. The Tango team's insistence on pursuing obviously non-infringing cases, and their broad interpretation of "viewing the code" is probably a good reason why companies will not use their code, even more than the BSD license. Nobody wants to let a kid play in their yard when their parents have a history of suing when their kid gets hurt.
Having viewed source or online docs that can contain source isn't enough to prove copyright infringement. However, Walter's position is that if you don't look at others' source, the opposition doesn't have a leg to stand on. While this is true, *looking* at the other project's source does not mean you infringed on it. In the time lib case, I believe SHOO is perfectly fine how he mimicked the Tango API (it's not exactly mimicked, but close enough that Tango devs think it's copying). But Walter has his position, and will not bring the confrontation to a head, so those are the rules we have to live by.
Boost is acceptable to copy outright, because it has the same license. Tango is not. If Tango changed it's license to boost (which I'm sad to say, I don't believe it ever will), then all this becomes moot, we just copy and paste the Tango copyright notice and call it a day.
Libraries where you cannot view the code are much easier to claim you didn't view the code, because you can't view it!
I pledge from now on to have no dealings with Tango, I will never download or view another piece of their documentation or source, as I intend to contribute to Phobos. I will remove all Tango source from my computer. I would contribute to both, but clearly the Tango team is not interested in being lenient on obviously non-infringing cases, so I respectfully must remove myself from that risk position.
And yeah, Lars, it is asinine. We all want to follow the wishes of contributors, but give me a break! The Tango.time library is not an amazing new algorithm. There's practically only one way to write time code that's modeled after C#, and as far as I can tell, you have not brought forth any tangible evidence that Tango's time library was copied. You say that the doc generator isn't good enough to be able to do a clean-room implementation, but have you looked at Tango.time? It's not that complex, and is pretty fully documented. The doc generator does a good enough job to describe the API and functionality, I should know because *I documented it*. Having rewritten most of Tango.time, I don't see anything so far that looks like it was copied. I feel bad for SHOO that he was caught in the middle of this, his lib looks well written.
-Steve
More information about the phobos
mailing list