I rewrite std.time for Phobos
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
(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
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
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
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
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
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
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
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