Can we all please stop overreacting?

Daniel Keep daniel.keep.lists at gmail.com
Fri Apr 30 06:14:24 PDT 2010


Ok, let's clear some things up.

#0: I do not represent Tango in any official capacity.

I am posting this because I can see this situation spinning out of
control and I just want everyone to stop trying to strangle each other.

Believe it or not, we're all (ostensibly) on the same side here.

#1: Tango didn't block SHOO's code.

I cannot find any indication that anyone representing Tango /ever/ said
"SHOO copied from us."

Based on what Kris has said in IRC [1] and from asking Lars, the intent,
if not the specific content, was this:

 "At casual examination, SHOO's code looks similar to Tango's."

There were no demands to block SHOO's code, no cries of theft.

Kris phoned Walter to let him know about there being a *potential*
issue.  This was a courtesy given that Walter has demonstrated extreme
caution when it comes to IP issues.  Kris could have posted it on the
newsgroup, but I suspect he didn't because he would have been flamed for
accusing SHOO of stealing.

It is also worth pointing out that if the case is simply that SHOO's
code has a similar API, then there is little reason to block the code.
If copyrighting an API was possible, the Wine and Mono projects would
have been burned to the ground and had the earth beneath them salted
years ago.

Nevermind the fact that Tango's time API is derived from Microsoft's in
.NET.  If Walter /had/ adopted SHOO's code, and it was similar to
Tango's, he's far more likely to have problems with Microsoft.

#2: Tango is not deliberately licensed to prevent cooperation with Phobos.

I've seen cries from several parties that Tango should just re-license
to Boost so that changes can be incorporated into Phobos.  I've also
seen a few accusations that the current situation was engineered to
prevent any code from being pulled into Phobos.

This is nonsense.  Firstly, keep in mind that Phobos wasn't always under
a single, unified license.  Bits of it were Public Domain, bits were
modified BSD.  Tango was started several years ago, and expecting them
to have anticipated Walter's move to Boost is simply unreasonable.

Second, Tango is the merging of two prior projects: Ares and Mango.
This is where Tango's original BSD+AFL license comes from.  The Tango
maintainers are legally required to honour their obligations to the
contributors of those projects.

Thirdly, the Tango maintainers have *ALREADY TRIED* to change Tango's
license.  They wanted to move to just Apache 2.0 on the basis that it
was similar enough to the AFL to allow this without too much trouble.

The problem was that of the 50-odd contributors, there are people who
they simply couldn't get in contact with.  Without express permission,
they *CANNOT* legally change the license to something incompatible.

Walter has suggested two things recently; one was that Tango simply be
relicensed as Boost.  As I've noted above, they just can't.

Walter also suggested that all new code be licensed under Boost.  The
maintainers do not want to go down this road because they have expended
considerable time and effort attempting to bring Tango down to a single
license.

Tango's current dual-license state has been cited as a pain point for
users.  My own personal experience is that I was very unsure for a very
long time how to legally make use of Tango. [2]

Licensing all new code under Boost would drive Tango straight back into
a situation the maintainers have been trying to get out of.  They're
also worried that any attempt to purge Tango of all code they can't get
relicensed would tie up the whole project for months while code was
carefully audited, rewritten, retested, redebugged, etc.

Let me also point out something that seems to be routinely ignored in
these arguments: there is nothing, *ABSOLUTELY NOTHING* which prevents
code being taken from Tango and then being incorporated into Phobos.  It
does not require other modules to be licensed any differently.  It
simply requires the attribution clause to be acknowledged.

This is unpalatable, I understand.  But this is no different to Walter's
suggestion that Tango be dual-licensed under both BSD and Boost.  Nor is
it different to finding some other library you want to include and
having to honour the licensing terms.

The upshot of all the above is that it's simply not practical at this
moment in time to change Tango's license.

-----

Now, could we all please stop with the personal attacks and demonisation
of the "other side"?  This isn't a war, for Pete's sake.

Some Tango devs noticed similarities between SHOO's code and Tango.
Kris phoned Walter privately to let him know and give him a chance to
either inspect the code himself or possibly ask SHOO to clarify whether
the code was based at all on Tango.

No demands, no threats.

As far as I can see, most of what's happened since then has been a
massive overreaction.

-----

In closing, I'd like to link directly to some of the threads in
question.  These all took place on the Phobos developers' list; until
yesterday, I had no idea this list even existed, so I'm adding these
links for others who may not have seen these posts.

gmane.comp.lang.d.phobos: http://news.gmane.org/gmane.comp.lang.d.phobos

Walter's post regarding Kris' call:
http://thread.gmane.org/gmane.comp.lang.d.phobos/335

(Again, I want to stress that, to my understanding, Kris did not tell
Walter that SHOO's code was "an infringement on [the Tango] license.")

Walter's subsequent post on the subject of licensing:
http://thread.gmane.org/gmane.comp.lang.d.phobos/358

Lars' post responding to the issue:
http://thread.gmane.org/gmane.comp.lang.d.phobos/359



[1] I'm using my recollection of events, here.  I was online at the
time, but my client doesn't log chats.

[2] For the record, I'm not a fan of the binary attribution clause.
Then again, neither is Lars.


More information about the Digitalmars-d-announce mailing list