I rewrite std.time for Phobos

2010-05-13 Thread SHOO
SHOO さんは書きました:
> I make std.time module for Phobos. This module provides Time, Span,
> Clock, StopWatch and some utility functions for time operation.
> I hope combine this module to Phobos instead of std.date.
> 
> download is here:
>   http://j.mp/95aS1K (== http://dusers.dip.jp/ ... /time.d)
>   http://j.mp/9p5DDu (patch for Phobos's trunk r1481)
>   http://ideone.com/eiQ19 (for code view)
> 
> Besides, is there the necessary function? (This module lacks the
> daylight saving time handling, because of a lack of my understanding.)
> 
> 
> I talk about the process that reached making...
> 
> Tango is great library for D1. I am Tango user and I am indebted to
> Tango well. But Tango has some probrems.
> 
> - Tango's license is BSD lisence or AFL. This license is incompatible to
> Phobos's Boost license.
> - The specification is disregarded, for example Object.dispose and string.
> - Tango supports only D1
> - In particular, deep regret is to have split resources of D into two
> halves.
> 
> If possible, I want to migrate to D2. And I want to be separated from
> Tango. However, some functions are insufficient for Phobos compared with
> Tango.
> The std.date module is one of the list of dissatisfaction to Phobos.
> I summarize my (and some of Japanese users's) opinion following:
> 
> - I want to handle it as another thing for the time and the time span.
> - I want a more structural class for time operating.
> - std.date is a bit buggy...
> 
> By these reasons, I made std.time module as the first step of the
> contribution for Phobos.

Too late to update std.time, but...


My old code was represented infringing Tango's license.
(See:
http://www.digitalmars.com/d/archives/digitalmars/D/announce/Masahiro_Nakagawa_and_SHOO_invited_to_join_Phobos_developers_18108.html
)


Therefore, I checked and rewrote some codes for excluding code that may
infringe Tango.

This: http://ideone.com/M2zB7

I checked it carefully. And I clarified an origin of source of all
cords. (Check "Note:" tags.)
I hereby made clear that this module does not include the cord which
infringes Tango.

The interface referred to ptime and time_duration of Boost. (I think
others are rather complicating for standard library.)
By this reason, I changed some names. (Span to Duration)

If this contribution is turned down, I give up std.time.


Re: I rewrite std.time for Phobos

2010-05-13 Thread Bill Baxter
(Note that SHOO means "code" where he says "cord".  "Code" and "cord"
are both コード in Japanese, so it's easy for Japanese folks to get the
two words mixed up.)

--bb

2010/5/13 SHOO :
> SHOO さんは書きました:
>> I make std.time module for Phobos. This module provides Time, Span,
>> Clock, StopWatch and some utility functions for time operation.
>> I hope combine this module to Phobos instead of std.date.
>>
>> download is here:
>>   http://j.mp/95aS1K (== http://dusers.dip.jp/ ... /time.d)
>>   http://j.mp/9p5DDu (patch for Phobos's trunk r1481)
>>   http://ideone.com/eiQ19 (for code view)
>>
>> Besides, is there the necessary function? (This module lacks the
>> daylight saving time handling, because of a lack of my understanding.)
>>
>>
>> I talk about the process that reached making...
>>
>> Tango is great library for D1. I am Tango user and I am indebted to
>> Tango well. But Tango has some probrems.
>>
>> - Tango's license is BSD lisence or AFL. This license is incompatible to
>> Phobos's Boost license.
>> - The specification is disregarded, for example Object.dispose and string.
>> - Tango supports only D1
>> - In particular, deep regret is to have split resources of D into two
>> halves.
>>
>> If possible, I want to migrate to D2. And I want to be separated from
>> Tango. However, some functions are insufficient for Phobos compared with
>> Tango.
>> The std.date module is one of the list of dissatisfaction to Phobos.
>> I summarize my (and some of Japanese users's) opinion following:
>>
>> - I want to handle it as another thing for the time and the time span.
>> - I want a more structural class for time operating.
>> - std.date is a bit buggy...
>>
>> By these reasons, I made std.time module as the first step of the
>> contribution for Phobos.
>
> Too late to update std.time, but...
>
>
> My old code was represented infringing Tango's license.
> (See:
> http://www.digitalmars.com/d/archives/digitalmars/D/announce/Masahiro_Nakagawa_and_SHOO_invited_to_join_Phobos_developers_18108.html
> )
>
>
> Therefore, I checked and rewrote some codes for excluding code that may
> infringe Tango.
>
> This: http://ideone.com/M2zB7
>
> I checked it carefully. And I clarified an origin of source of all
> cords. (Check "Note:" tags.)
> I hereby made clear that this module does not include the cord which
> infringes Tango.
>
> The interface referred to ptime and time_duration of Boost. (I think
> others are rather complicating for standard library.)
> By this reason, I changed some names. (Span to Duration)
>
> If this contribution is turned down, I give up std.time.
>


Re: I rewrite std.time for Phobos

2010-05-13 Thread Steven Schveighoffer

On Thu, 13 May 2010 10:42:56 -0400, SHOO  wrote:


Therefore, I checked and rewrote some codes for excluding code that may
infringe Tango.


I don't know if this will be enough, I wish I could tell you different.   
Can you identify which functions you rewrote from the original proposal to  
help focus Tango's attention?


Is there anyone listening from Tango who can check this against Tango code  
to see if you still consider it to be infringing?



If this contribution is turned down, I give up std.time.


First, I hope this can be included, it looks like very solid code.   
Second, if it cannot be included, I hope this does not dissuade you from  
contributing to Phobos for other modules.


-Steve


Re: I rewrite std.time for Phobos

2010-05-13 Thread Walter Bright

Steven Schveighoffer wrote:
First, I hope this can be included, it looks like very solid code.  
Second, if it cannot be included, I hope this does not dissuade you from 
contributing to Phobos for other modules.



Basically, the next time there's a suggestion of infringement from anyone, I'd 
like a specific list of the lines of source that are infringing. I don't think 
there's any reasonable way to deal with it otherwise. It shouldn't be necessary 
to guess what those lines might be.


Re: I rewrite std.time for Phobos

2010-05-14 Thread SHOO
Bill Baxter さんは書きました:
> (Note that SHOO means "code" where he says "cord".  "Code" and "cord"
> are both コード in Japanese, so it's easy for Japanese folks to get the
> two words mixed up.)
> 

Oops, I'm embarrassing!
And thanks for your help.


Re: I rewrite std.time for Phobos

2010-05-14 Thread SHOO

Steven Schveighoffer さんは書きました:

On Thu, 13 May 2010 10:42:56 -0400, SHOO  wrote:

I don't know if this will be enough, I wish I could tell you different.  
Can you identify which functions you rewrote from the original proposal 
to help focus Tango's attention?




http://ideone.com/TZ3Bi

- I specified my real name for "Author:" tag.
- Renamed Span to Duration.
- Added Duration.seconds, Duration.mseconds, Duration.useconds, 
Duration.nseconds.

- Wrote "Note:" tags and comments for assertion of infringement-free.
- Rewrote EPOCH1970(This becomes the same quantity even if anyone 
calculates, but just to be safe) by own hand newly
- Rewrote Date.isLeapYear by own hand newly (I wrote old isLeapYear by 
own hand too. However, by a check, I confirmed that it was the same as 
Tango's code.)

- Added some unittest codes
- Fixed iso8601 format, "-mm-dd hh:mm:ss,sss" to 
"-mm-ddThh:mm:ss,sss"

- Renamed Clocks to Ticks
- Added Ticks.seconds, Ticks.mseconds, Ticks.useconds, Ticks.nseconds.
- Clocks.span to Clocks.duration


Is there anyone listening from Tango who can check this against Tango 
code to see if you still consider it to be infringing?



If this contribution is turned down, I give up std.time.


First, I hope this can be included, it looks like very solid code.  
Second, if it cannot be included, I hope this does not dissuade you from 
contributing to Phobos for other modules.


-Steve


Thanks. But don't worry.
My next challenge only begins even if it became the second situation.


Re: I rewrite std.time for Phobos

2010-05-14 Thread SHOO

Walter Bright さんは書きました:

Steven Schveighoffer wrote:
First, I hope this can be included, it looks like very solid code.  
Second, if it cannot be included, I hope this does not dissuade you 
from contributing to Phobos for other modules.



Basically, the next time there's a suggestion of infringement from 
anyone, I'd like a specific list of the lines of source that are 
infringing. I don't think there's any reasonable way to deal with it 
otherwise. It shouldn't be necessary to guess what those lines might be.


I think so, too.
At least, I cannot work around hearsay suggestions accurately.
I cannot know where/who I ask it.


Re: I rewrite std.time for Phobos

2010-05-14 Thread retard
Thu, 13 May 2010 14:37:58 -0700, Walter Bright wrote:

> Steven Schveighoffer wrote:
>> First, I hope this can be included, it looks like very solid code.
>> Second, if it cannot be included, I hope this does not dissuade you
>> from contributing to Phobos for other modules.
> 
> 
> Basically, the next time there's a suggestion of infringement from
> anyone, I'd like a specific list of the lines of source that are
> infringing. I don't think there's any reasonable way to deal with it
> otherwise. It shouldn't be necessary to guess what those lines might be.

You can have long lasting legal battles even without clearly specifying 
the infringing lines of code. You've probably heard of SCO (a Microsoft's 
sockpuppet company) and the claims about origins of infringing UNIX/Linux 
kernel (version 2.7) code. That's also how patent FUD works. They say 
that Linux infringes 107 instances of their intellectual property gems, 
i.e. patents.


Re: I rewrite std.time for Phobos

2010-05-14 Thread Steven Schveighoffer

On Fri, 14 May 2010 21:01:10 -0400, retard  wrote:


Thu, 13 May 2010 14:37:58 -0700, Walter Bright wrote:


Steven Schveighoffer wrote:

First, I hope this can be included, it looks like very solid code.
Second, if it cannot be included, I hope this does not dissuade you
from contributing to Phobos for other modules.



Basically, the next time there's a suggestion of infringement from
anyone, I'd like a specific list of the lines of source that are
infringing. I don't think there's any reasonable way to deal with it
otherwise. It shouldn't be necessary to guess what those lines might be.


You can have long lasting legal battles even without clearly specifying
the infringing lines of code. You've probably heard of SCO (a Microsoft's
sockpuppet company) and the claims about origins of infringing UNIX/Linux
kernel (version 2.7) code. That's also how patent FUD works. They say
that Linux infringes 107 instances of their intellectual property gems,
i.e. patents.


In SCO's case, they did not want to reveal the lines because they would  
then be publishing that source without a license.  Personally, I think  
it's because they knew they had no case.


And SCO has 0 patent infringement claims in their lawsuits.

In this case, both Tango and Phobos are open source, there is no reason to  
keep secret the lines of code that are infringing.  And I don't anticipate  
that Tango or Walter are interested in having legal battles, what is there  
to gain?  I think it's reasonable that if someone from Tango or Phobos  
things there is unlicensed copying, they come forth with evidence instead  
of suspicion.


-Steve