Can we all please stop overreacting?
Steven Schveighoffer
schveiguy at yahoo.com
Fri Apr 30 07:17:26 PDT 2010
On Fri, 30 Apr 2010 09:14:24 -0400, Daniel Keep
<daniel.keep.lists at gmail.com> wrote:
> #1: Tango didn't block SHOO's code.
Kris and Lars contacted me to ask about it, and I indicated that I had
alleviated all my concerns that the code was not copied, after having
examined his code against Tango's existing code, and getting his response
on the NG. In a statement, which Lars repeated in the mailing list
(linked in your post), he indicated that it would be very hard to do a
"clean room" implementation of Tango's code simply because the doc
generator does not always capture every nuance of the API. He also
implied that only a clean room implementation was free of infringement
when APIs are similar (paraphrasing, see exact quote linked in Daniel's
post). I don't know the timeline of when he sent the email to me and when
they contacted Walter, but I'm assuming they received my position before
contacting him.
To be fair, Walter is the one who blocked the code, and arguably, he could
fix this situation by just accepting that the code does not infringe
through reasonable logic. But I understand both Tango's position and
Walter's position. I don't actually agree with either of them. I just
happen to think my best interests are served by contributing to the
project which is least restrictive. By doing this, my code can be used in
Phobos and in Tango, as long as someone else ports it to Tango.
> 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.
Microsoft would have zero ground to stand on -- their code is not
available to SHOO unless he signed an NDA.
Tango also copied almost wholesale their formatting style. This is of the
same type of "copying". Copying ideas and design is done regularly, you
cannot copyright ideas.
> #2: Tango is not deliberately licensed to prevent cooperation with
> Phobos.
I believe this as well, Tango is licensed the way it is because of the
reasons you stated. It's unfortunate that the license cannot be changed,
I wish that could be different.
> 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.
There is another problem here. In order to dual-license your code, you
have to be the sole owner of it. For example, someone (like myself)
contributing improvements, even if almost completely rewrites, is still
obligated to obey the license of the base code. The time library falls
into this category, I made massive modifications to the library, but my
changes fall under the original license as a derivative work. Until
SHOO's code was deemed to be possibly infringing, I thought it would be
feasible for me to re-implement Phobos' time in a similar manner to how
SHOO did, using my experience with Tango's time code. Now I see this will
be unworkable (mostly because it's outside Walter's comfort zone). As an
example of free-and-clear code, Don's BigInt module is fine because he
owns all parts of it.
I'll give you another example. Dcollections was originally written to be
a replacement for Tango's collection classes. Although I wrote all the
code from scratch, it bears vast similarities to Tangos' old collection
package, because I did that intentionally. When Tango declined to accept
it as an improvement, I created a new project because I wanted to keep
developing it. I had hoped at some point it could be contributed to
Phobos. But now, I am concerned that Walter would reject it because of
the hint of infringement. I will still maintain the library separately,
but the possibility that all my hard work is not usable how I see fit
pisses me off to the point where I am just done with Tango. Whose fault
is it? I don't care.
I wrote my post to make people aware of the possibility that I see, and
the conclusions that I have reached, so they can make an informed decision
of whether to use/contribute to Tango or not. I'm leaving it up in the
air as a possibility, so it's not perceived as an accusation.
> 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.
SHOO has already clarified, in several posts to the NG. I specifically
asked him whether he used Tango as a base, and he said he did not.
At the same time, Tango devs could examine the code and say whether they
think it infringes or not.
> As far as I can see, most of what's happened since then has been a
> massive overreaction.
Is it? How about you write a really cool piece of code and then try to
contribute it only to find that Tango or Walter has mild concerns about
it's legitimacy. How would you feel if Tango suggested you might have
stolen their code?
-Steve
More information about the Digitalmars-d-announce
mailing list