Thread overview
SHOO's Time code -- conclusion
Jun 10, 2010
kretinis
Jun 11, 2010
Moritz Warning
Jun 11, 2010
Jonathan M Davis
Jun 11, 2010
Matthias Pleh
Jun 10, 2010
SHOO
Jun 10, 2010
godobject
Jun 10, 2010
Ali Çehreli
Jun 11, 2010
Moritz Warning
June 10, 2010
I want to first qualify that I represent only myself, nobody from Phobos, nobody from Tango, not Walter nor Andrei nor Kris nor Lars nor SHOO nor anyone but me.

Please see this message:

http://lists.puremagic.com/pipermail/phobos/2010-June/000783.html

Quoted here completely for convenience:

Walter Bright wrote:

"Although I do not believe that SHOO's work on the date/time is legally
infringing on Tango's time code, I feel there's been enough bad feeling
about this and that we should not include Tango's time api design in Phobos.

I apologize to SHOO for this. I know this is unfair to him.

Andrei has given a start to std.gregorian, perhaps SHOO's implementation
work can be transferred to this to help complete it?"

------

So I want to re-stress some points I have made in the past, and respond to some statements that have been made by others.

First, let's recap what happened.  According to SHOO, he was a user of Tango's time library, and used the online documentation of Tango, and the existing implementation of Phobos to write a new Phobos-ified time library that was similar to Tango's api.  Having been one of the main authors of Tango's time package, I examined SHOO's implementation side-by-side with Tango's, I can say that I believe him.  IMO, it's not the same code or even derived, it just has a similar feel.

Someone from Tango was alerted to this, and considered it to be infringing to the point where he/she called Walter and told him so.  Walter, as someone who wants nothing to do with controversy and possible legal issues, refused to accept the code based on this accusation.  Note: I was not a part of this call, so I do not know what was said exactly in it, these are my interpretations of the posts on the newsgroup.

Lars of Tango wrote a message to the Phobos mailing list indicating that in his opinion, "claiming a clean room implementation of an API in D is difficult, if for no other reason that it is (due to imperfect doc generation etc) somewhat difficult to properly study a D API without at the same time reading the source (or glimpsing at it). Even if you have good intentions, as I'm sure Shoo had, it is important to know this, there may be less forgiving actors out there."  You can read the entire message here: http://lists.puremagic.com/pipermail/phobos/2010-April/000370.html

Coupled with the phone call asking Walter to block the code, at this point, we could just say that Tango was being careful.  But under the circumstances, it appears to me that Tango is under the impression that simply admitting one has used Tango, combined with having made a library inspired by Tango's API, is enough to warrant an accusation of infringement.  I don't even know if anyone from Tango examined the code or not.

Thus ensued a large discussion (to phrase it politely) in which several good ideas for resolving the problem came to light.  Some of them focused on getting a boost license for Tango's time code.  It was revealed that one of the authors, John Chapman, was not reachable by the Tango team, and so it would take some time to get John's permission.  After a few days, I took it upon myself to seek out John and get his input.  He responded to me positively, and indicated he would alert the Tango team.  If we count the four authors listed in the Tango code (I'm somewhat convinced that a 5th author does not exist), that meant that both John and I had agreed to license the time code under the boost license for Phobos.  This left two authors.

Out of respect for Tango's ownership of the situation, I let it sit for over a week, expecting at any time that someone from Tango would contact Walter with good news.  Having heard nothing, I decided to push the matter a little further and post to the newsgroup my success with John.  An indication from Moritz Warning, a Tango user, was that he had spoken with the remaining two authors: "I have asked Kris Bell and Matti Niemenmaa.  No Problem at all."

This left the infamous 2nd gunma... I mean 5th author.  After requests for who this person was on the newsgroup, I got nothing.

Almost two weeks later, I decided to give up temporarily on the 5th author, if the other two were OK with it, I could get more leverage to finding out who that 5th person was.  I just wanted to make sure I had a direct statement from both those authors, as hearsay isn't very good evidence.  After posing the question to Moritz, Matti Niemenmaa posted his approval of the license change on the newsgroup. (A sincere thank you for that!)

Which leads us to Kris.  Apparently, Kris has no comment.  Having no comment in this issue is equivalent to saying no without sounding like you are saying no.  Because a unanimous 'yes' vote is required to change things, abstaining means things will stay the way they are.  That's an interesting way to go...

So to answer some questions/comments stated a few months ago:

> have you thought about just asking the authors of the Tango code inquestion?

No, I hadn't, but I did.  Kris says no (comment).

> I would imagine they would say that they only see a minor resemblance inthe api and asking wouldn't even be necessary from their point of view.

I guess your imagination was incorrect.  I don't know why, but Kris does not want a non-infringing reimplementation of Tango's time code in Phobos.

> But since W/Phobos is very copyright sensitive, I'm sure they will givethe permission.

Nope.

"Even if you have good intentions, as I'm sure Shoo had, it is important to know this, there may be less forgiving actors out there."

I guess I found one.

------

Draw the conclusions you want.  I'll say that Tango developers have every right to defend their intellectual property, and every right to insist on their license being unchanged.  Walter has every right to decide what code gets included in Phobos and under what license.  I have no say in any of these matters, I can only observe and provide suggestions/analysis.

To reiterate what someone else said, to me Tango is poison.  It appears to me from SHOO's story that just *using* Tango is poison. I feel like all the contributions I have made (and the other two authors have made) are being held hostage for no good reason (I still don't know why).  I stand by my decision to leave that project, and I hope this story has at least given you an idea of why.

I also extend Tango an invitation to use any of my code from Phobos, druntime, or dcollections and relicense it under their license.  I have no problem with people using my code, as long as I can also use it as I see fit.

-Steve

P.S., I will not respond to this thread except to make any clarifications/corrections.  I've said my share.
June 10, 2010
== Quote from Steven Schveighoffer (schveiguy@yahoo.com)'s article
> I want to first qualify that I represent only myself, nobody from Phobos,
> nobody from Tango, not Walter nor Andrei nor Kris nor Lars nor SHOO nor
> anyone but me.
> Please see this message:
> http://lists.puremagic.com/pipermail/phobos/2010-June/000783.html
> Quoted here completely for convenience:
> Walter Bright wrote:
> "Although I do not believe that SHOO's work on the date/time is legally
> infringing on Tango's time code, I feel there's been enough bad feeling
> about this and that we should not include Tango's time api design in
> Phobos.
> I apologize to SHOO for this. I know this is unfair to him.
> Andrei has given a start to std.gregorian, perhaps SHOO's implementation
> work can be transferred to this to help complete it?"
> ------
> So I want to re-stress some points I have made in the past, and respond to
> some statements that have been made by others.
> First, let's recap what happened.  According to SHOO, he was a user of
> Tango's time library, and used the online documentation of Tango, and the
> existing implementation of Phobos to write a new Phobos-ified time library
> that was similar to Tango's api.  Having been one of the main authors of
> Tango's time package, I examined SHOO's implementation side-by-side with
> Tango's, I can say that I believe him.  IMO, it's not the same code or
> even derived, it just has a similar feel.
> Someone from Tango was alerted to this, and considered it to be infringing
> to the point where he/she called Walter and told him so.  Walter, as
> someone who wants nothing to do with controversy and possible legal
> issues, refused to accept the code based on this accusation.  Note: I was
> not a part of this call, so I do not know what was said exactly in it,
> these are my interpretations of the posts on the newsgroup.
> Lars of Tango wrote a message to the Phobos mailing list indicating that
> in his opinion, "claiming a clean room implementation of an API in D is
> difficult, if for no other reason that it is (due to imperfect doc
> generation etc) somewhat difficult to properly study a D API without at
> the same time reading the source (or glimpsing at it). Even if you have
> good intentions, as I'm sure Shoo had, it is important to know this, there
> may be less forgiving actors out there."  You can read the entire message
> here: http://lists.puremagic.com/pipermail/phobos/2010-April/000370.html
> Coupled with the phone call asking Walter to block the code, at this
> point, we could just say that Tango was being careful.  But under the
> circumstances, it appears to me that Tango is under the impression that
> simply admitting one has used Tango, combined with having made a library
> inspired by Tango's API, is enough to warrant an accusation of
> infringement.  I don't even know if anyone from Tango examined the code or
> not.
> Thus ensued a large discussion (to phrase it politely) in which several
> good ideas for resolving the problem came to light.  Some of them focused
> on getting a boost license for Tango's time code.  It was revealed that
> one of the authors, John Chapman, was not reachable by the Tango team, and
> so it would take some time to get John's permission.  After a few days, I
> took it upon myself to seek out John and get his input.  He responded to
> me positively, and indicated he would alert the Tango team.  If we count
> the four authors listed in the Tango code (I'm somewhat convinced that a
> 5th author does not exist), that meant that both John and I had agreed to
> license the time code under the boost license for Phobos.  This left two
> authors.
> Out of respect for Tango's ownership of the situation, I let it sit for
> over a week, expecting at any time that someone from Tango would contact
> Walter with good news.  Having heard nothing, I decided to push the matter
> a little further and post to the newsgroup my success with John.  An
> indication from Moritz Warning, a Tango user, was that he had spoken with
> the remaining two authors: "I have asked Kris Bell and Matti Niemenmaa.
> No Problem at all."
> This left the infamous 2nd gunma... I mean 5th author.  After requests for
> who this person was on the newsgroup, I got nothing.
> Almost two weeks later, I decided to give up temporarily on the 5th
> author, if the other two were OK with it, I could get more leverage to
> finding out who that 5th person was.  I just wanted to make sure I had a
> direct statement from both those authors, as hearsay isn't very good
> evidence.  After posing the question to Moritz, Matti Niemenmaa posted his
> approval of the license change on the newsgroup. (A sincere thank you for
> that!)
> Which leads us to Kris.  Apparently, Kris has no comment.  Having no
> comment in this issue is equivalent to saying no without sounding like you
> are saying no.  Because a unanimous 'yes' vote is required to change
> things, abstaining means things will stay the way they are.  That's an
> interesting way to go...
> So to answer some questions/comments stated a few months ago:
> > have you thought about just asking the authors of the Tango code in question?
> No, I hadn't, but I did.  Kris says no (comment).
> > I would imagine they would say that they only see a minor resemblance in the api and asking wouldn't even be necessary from their point of view.
> I guess your imagination was incorrect.  I don't know why, but Kris does not want a non-infringing reimplementation of Tango's time code in Phobos.
> > But since W/Phobos is very copyright sensitive, I'm sure they will give the permission.
> Nope.
> "Even if you have good intentions, as I'm sure Shoo had, it is important
> to know this, there may be less forgiving actors out there."
> I guess I found one.
> ------
> Draw the conclusions you want.  I'll say that Tango developers have every
> right to defend their intellectual property, and every right to insist on
> their license being unchanged.  Walter has every right to decide what code
> gets included in Phobos and under what license.  I have no say in any of
> these matters, I can only observe and provide suggestions/analysis.
> To reiterate what someone else said, to me Tango is poison.  It appears to
> me from SHOO's story that just *using* Tango is poison. I feel like all
> the contributions I have made (and the other two authors have made) are
> being held hostage for no good reason (I still don't know why).  I stand
> by my decision to leave that project, and I hope this story has at least
> given you an idea of why.
> I also extend Tango an invitation to use any of my code from Phobos,
> druntime, or dcollections and relicense it under their license.  I have no
> problem with people using my code, as long as I can also use it as I see
> fit.
> -Steve
> P.S., I will not respond to this thread except to make any
> clarifications/corrections.  I've said my share.

I accept Shoos implementation only with the conditions

1) No multiplication, division and remainder operations are allowed. Tango used these operations for date calculation in an original way. All similar uses are forbidden.

2) Also it is not allowed to implement routines for operations at (1). That would
be obviously a thinly veiled attempt at stealing Tango code.

3) No use of the words date, time, and calendar are allowed in the code or the documentation. These words were used creatively by Tango. They cannot be stolen.

I am sure these requirements are reasonable
June 10, 2010
(2010/06/10 23:33), Steven Schveighoffer wrote:
> I want to first qualify that I represent only myself, nobody from
> Phobos, nobody from Tango, not Walter nor Andrei nor Kris nor Lars nor
> SHOO nor anyone but me.
>
> Please see this message:
>
> http://lists.puremagic.com/pipermail/phobos/2010-June/000783.html
>
> Quoted here completely for convenience:
>
> Walter Bright wrote:
>
> "Although I do not believe that SHOO's work on the date/time is legally
> infringing on Tango's time code, I feel there's been enough bad feeling
> about this and that we should not include Tango's time api design in
> Phobos.
>
> I apologize to SHOO for this. I know this is unfair to him.
>
> Andrei has given a start to std.gregorian, perhaps SHOO's implementation
> work can be transferred to this to help complete it?"
>
> ------
>
> So I want to re-stress some points I have made in the past, and respond
> to some statements that have been made by others.
>
> First, let's recap what happened. According to SHOO, he was a user of
> Tango's time library, and used the online documentation of Tango, and
> the existing implementation of Phobos to write a new Phobos-ified time
> library that was similar to Tango's api. Having been one of the main
> authors of Tango's time package, I examined SHOO's implementation
> side-by-side with Tango's, I can say that I believe him. IMO, it's not
> the same code or even derived, it just has a similar feel.
>
> Someone from Tango was alerted to this, and considered it to be
> infringing to the point where he/she called Walter and told him so.
> Walter, as someone who wants nothing to do with controversy and possible
> legal issues, refused to accept the code based on this accusation. Note:
> I was not a part of this call, so I do not know what was said exactly in
> it, these are my interpretations of the posts on the newsgroup.
>
> Lars of Tango wrote a message to the Phobos mailing list indicating that
> in his opinion, "claiming a clean room implementation of an API in D is
> difficult, if for no other reason that it is (due to imperfect doc
> generation etc) somewhat difficult to properly study a D API without at
> the same time reading the source (or glimpsing at it). Even if you have
> good intentions, as I'm sure Shoo had, it is important to know this,
> there may be less forgiving actors out there." You can read the entire
> message here:
> http://lists.puremagic.com/pipermail/phobos/2010-April/000370.html
>
> Coupled with the phone call asking Walter to block the code, at this
> point, we could just say that Tango was being careful. But under the
> circumstances, it appears to me that Tango is under the impression that
> simply admitting one has used Tango, combined with having made a library
> inspired by Tango's API, is enough to warrant an accusation of
> infringement. I don't even know if anyone from Tango examined the code
> or not.
>
> Thus ensued a large discussion (to phrase it politely) in which several
> good ideas for resolving the problem came to light. Some of them focused
> on getting a boost license for Tango's time code. It was revealed that
> one of the authors, John Chapman, was not reachable by the Tango team,
> and so it would take some time to get John's permission. After a few
> days, I took it upon myself to seek out John and get his input. He
> responded to me positively, and indicated he would alert the Tango team.
> If we count the four authors listed in the Tango code (I'm somewhat
> convinced that a 5th author does not exist), that meant that both John
> and I had agreed to license the time code under the boost license for
> Phobos. This left two authors.
>
> Out of respect for Tango's ownership of the situation, I let it sit for
> over a week, expecting at any time that someone from Tango would contact
> Walter with good news. Having heard nothing, I decided to push the
> matter a little further and post to the newsgroup my success with John.
> An indication from Moritz Warning, a Tango user, was that he had spoken
> with the remaining two authors: "I have asked Kris Bell and Matti
> Niemenmaa. No Problem at all."
>
> This left the infamous 2nd gunma... I mean 5th author. After requests
> for who this person was on the newsgroup, I got nothing.
>
> Almost two weeks later, I decided to give up temporarily on the 5th
> author, if the other two were OK with it, I could get more leverage to
> finding out who that 5th person was. I just wanted to make sure I had a
> direct statement from both those authors, as hearsay isn't very good
> evidence. After posing the question to Moritz, Matti Niemenmaa posted
> his approval of the license change on the newsgroup. (A sincere thank
> you for that!)
>
> Which leads us to Kris. Apparently, Kris has no comment. Having no
> comment in this issue is equivalent to saying no without sounding like
> you are saying no. Because a unanimous 'yes' vote is required to change
> things, abstaining means things will stay the way they are. That's an
> interesting way to go...
>
> So to answer some questions/comments stated a few months ago:
>
>> have you thought about just asking the authors of the Tango code
>> inquestion?
>
> No, I hadn't, but I did. Kris says no (comment).
>
>> I would imagine they would say that they only see a minor resemblance
>> inthe api and asking wouldn't even be necessary from their point of view.
>
> I guess your imagination was incorrect. I don't know why, but Kris does
> not want a non-infringing reimplementation of Tango's time code in Phobos.
>
>> But since W/Phobos is very copyright sensitive, I'm sure they will
>> givethe permission.
>
> Nope.
>
> "Even if you have good intentions, as I'm sure Shoo had, it is important
> to know this, there may be less forgiving actors out there."
>
> I guess I found one.
>
> ------
>
> Draw the conclusions you want. I'll say that Tango developers have every
> right to defend their intellectual property, and every right to insist
> on their license being unchanged. Walter has every right to decide what
> code gets included in Phobos and under what license. I have no say in
> any of these matters, I can only observe and provide suggestions/analysis.
>
> To reiterate what someone else said, to me Tango is poison. It appears
> to me from SHOO's story that just *using* Tango is poison. I feel like
> all the contributions I have made (and the other two authors have made)
> are being held hostage for no good reason (I still don't know why). I
> stand by my decision to leave that project, and I hope this story has at
> least given you an idea of why.
>
> I also extend Tango an invitation to use any of my code from Phobos,
> druntime, or dcollections and relicense it under their license. I have
> no problem with people using my code, as long as I can also use it as I
> see fit.
>
> -Steve
>
> P.S., I will not respond to this thread except to make any
> clarifications/corrections. I've said my share.

Thank you for your conclusion. And detailed response is not possible and is sorry.
June 10, 2010
Steven Schveighoffer Wrote:

> So to answer some questions/comments stated a few months ago:
> 
> > have you thought about just asking the authors of the Tango code in question?
> 
> No, I hadn't, but I did.  Kris says no (comment).

What's the problem? If you can't use his code, write your own. Stop complaining. It's unproductive.

> > I would imagine they would say that they only see a minor resemblance in the api and asking wouldn't even be necessary from their point of view.
> 
> I guess your imagination was incorrect.  I don't know why, but Kris does not want a non-infringing reimplementation of Tango's time code in Phobos.

Why should he? He has invested much time on Tango and Tango was much better. Phobos was rebuild from scratch because of serious NIH syndrome by some weirdos. You're enforcing your stupid 'better than thou' attitude with the crap Boost license. The real work was already done. Your only contribution will be to spread the stupid intellectual property propaganda (attribution clause FUD). You can't beat the old work technically.

> "Even if you have good intentions, as I'm sure Shoo had, it is important to know this, there may be less forgiving actors out there."
> 
> I guess I found one.

Yes you did.

> P.S., I will not respond to this thread except to make any clarifications/corrections.  I've said my share.

Good.
June 10, 2010
Steven Schveighoffer wrote:

> To reiterate what someone else said, to me Tango is poison.  It appears
> to me from SHOO's story that just *using* Tango is poison. I feel like
> all the contributions I have made (and the other two authors have made)
> are being held hostage for no good reason (I still don't know why).  I
> stand by my decision to leave that project, and I hope this story has at
> least given you an idea of why.
>
> I also extend Tango an invitation to use any of my code from Phobos,
> druntime, or dcollections and relicense it under their license.  I have
> no problem with people using my code, as long as I can also use it as I
> see fit.
>
> -Steve
>
> P.S., I will not respond to this thread except to make any
> clarifications/corrections.  I've said my share.

Thank you very much for the detailed summary and all of your contributions to the D community.

Ali

P.S. For the record, I have never used, installed, or looked at Tango code. Once, I did follow a link to their online documentation which had been pointed out to be very good and useful. I had agreed.
June 11, 2010
On Thu, 10 Jun 2010 15:10:31 +0000, kretinis wrote:

> == Quote from Steven Schveighoffer (schveiguy@yahoo.com)'s article
[..]
> 
> I accept Shoos implementation only with the conditions
[..]
> I am sure these requirements are reasonable

Your arguments are futile, explanation: http://www.youtube.com/watch?v=K83gqiRd2XI
June 11, 2010
On Thu, 10 Jun 2010 10:33:13 -0400, Steven Schveighoffer wrote:

> I want to first qualify that I represent only myself, nobody from Phobos, nobody from Tango, not Walter nor Andrei nor Kris nor Lars nor SHOO nor anyone but me.
> 
[..]
> 
> I also extend Tango an invitation to use any of my code from Phobos, druntime, or dcollections and relicense it under their license.  I have no problem with people using my code, as long as I can also use it as I see fit.
thx!

I understand your sentiments.

As for me, Tango doesn't look harmful and
I contribute small stuff here and there
(as many other ppl do).
It's helpful to focus community efforts.
(Phobos got better in this regards lately)

As for this unfortunate issue,
it's time to move on.

June 11, 2010
kretinis wrote:

> I accept Shoos implementation only with the conditions
> 
> 1) No multiplication, division and remainder operations are allowed. Tango used these operations for date calculation in an original way. All similar uses are forbidden.
> 
> 2) Also it is not allowed to implement routines for operations at (1).
> That would be obviously a thinly veiled attempt at stealing Tango code.
> 
> 3) No use of the words date, time, and calendar are allowed in the code or the documentation. These words were used creatively by Tango. They cannot be stolen.
> 
> I am sure these requirements are reasonable

LOL. I've never used Tango, so I don't know how its time/date code does things, let alone if there's anything original about it. But requiring date or time code to not use the words date, time, or calendar? That's like saying that code which uses an int can't use the word integer or number. It's just plain silly. I sincerely hope that you're not being serious.

Honestly, I don't see any problem with copying APIs as long as they're solid, and you don't look at the actual code. However, it does seem that in this case, at least, it's best to just do something different with phobos and avoid conflict on the matter. There are plenty of different useful ways which date and time code can be done, and basing it on a pre-existing, major library such as boost (which is what Andrei is doing IIRC) seems to me to be a reasonable solution.

- Jonathan M Davis
June 11, 2010
>
> I accept Shoos implementation only with the conditions
>
> 1) No multiplication, division and remainder operations are allowed. Tango used
> these operations for date calculation in an original way. All similar uses are
> forbidden.
>
> 2) Also it is not allowed to implement routines for operations at (1). That would
> be obviously a thinly veiled attempt at stealing Tango code.
>
> 3) No use of the words date, time, and calendar are allowed in the code or the
> documentation. These words were used creatively by Tango. They cannot be stolen.
>
> I am sure these requirements are reasonable


invalid email-address => useless content