{"thread":{"id":"5873","subject":"Approxidate licensing","startedAt":"2006-10-10T17:39:47Z","lastAt":"2006-10-11T07:57:03Z","messageCount":6,"participants":["Daniel Barkalow","Linus Torvalds","Edesio Costa e Silva","Junio C Hamano","David Woodhouse"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"28522","messageId":"Pine.LNX.4.64.0610101246241.9789@iabervon.org","threadId":"5873","inReplyTo":null,"subject":"Approxidate licensing","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2006-10-10T17:39:47Z","receivedAt":"2006-10-10T17:39:47Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"I'm working on an LGPL project (for my company; it's obscure enough and \nwe're lazy enough that we're not really distributing it in general in \neither source or binary form), and I'm running into the usual date parsing \nissue (i.e., all the standard functions are broken in various ways). My \nplan has been to write my own, but it's hard to get the motivation when \napproxidate exists, works well, and is open source.\n\nWould the three of you agree to license date.c under the LGPL or BSD? It \nlooks like you're the only authors of non-trivial changes [1]. And it seems \nreasonable to want the date parsing thing under non-GPL terms outside of \ngit.\n\n\t-Daniel\n*This .sig left intentionally blank*\n\n[1] git log and git blame are pretty impressive, but they don't quite \ncatch that most of date.c was written by David as part of commit-tree.c, \nthen Tony replaced it with a version that uses curl, then Edgar separated \nit out into a date.c and simultaneously reverted Tony's changes. On the \nother hand, the commit messages do say this, and you can use git log and \ngit blame to verify that they're true. The only thing they don't let \nyou verify is what the differences are between the date.c added in \necee9d9e and the similar part of commit-tree.c in 812666c8. If someone \nwants to make git blame *really* magic, date.c would be a good test case.\n"},{"id":"28533","messageId":"Pine.LNX.4.64.0610101102560.3952@g5.osdl.org","threadId":"5873","inReplyTo":"Pine.LNX.4.64.0610101246241.9789@iabervon.org","subject":"Re: Approxidate licensing","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-10-10T18:17:36Z","receivedAt":"2006-10-10T18:17:36Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Tue, 10 Oct 2006, Daniel Barkalow wrote:\n> \n> Would the three of you agree to license date.c under the LGPL or BSD? It \n> looks like you're the only authors of non-trivial changes [1]. And it seems \n> reasonable to want the date parsing thing under non-GPL terms outside of \n> git.\n\nI'm not a huge fan of the LGPL, especially with the recent issues of \nGPLv3. The reason? The LGPL is expressly designed to be compatible with \nthe GPL, but it's designed to be compatible with any version (and you \ncan't limit it, the way you can the real GPL).\n\nSo you can take LGPL 2.1 code, and relicense it under GPLv3, and make \nchanges to it, and those changes won't be available to a GPLv2 project.\n\nThat said, I don't think the date.c code is all that important, and I \ndon't see why anybody would do something nasty like that anyway, so I \nguess I don't actually care. A lot of the approxidate code was actually \nwritten as a joke, and it will parse just about anything without any \nerror, and without telling you that it returned a date that may not make \nany sense at all.\n\nFor example, currently\n\n\t./test-date \"$(cat date.c)\"\n\nreturns\n\n\tTue Nov 30 11:58:59 1937\n\nfor me, but don't ask me why. It's just put together the random numbers \nand month-names embedded in the source and made some insane decision that \nit must be a date (since you told it so). And it never returned an error.\n\nSome other things are just silly and not even correct\n\n\t./test-date \"One year ago yesterday at tea-time\"\n\nwhich doesn't even give the right answer (because it will go _backwards_ \nto tea-time on Oct 8th, even though it obviously _should_ return \"Oct 9, \n17:00\". I don't have the energy to try to fix it.\n\nIt also needs this important patch to be complete. I don't know how this \ncould ever have fallen through the cracks!\n\n\t\tLinus\n---\ndiff --git a/date.c b/date.c\nindex 1825922..0b06994 100644\n--- a/date.c\n+++ b/date.c\n@@ -657,6 +657,7 @@ static const struct typelen {\n \t{ \"hours\", 60*60 },\n \t{ \"days\", 24*60*60 },\n \t{ \"weeks\", 7*24*60*60 },\n+\t{ \"fortnights\", 2*7*24*60*60 },\n \t{ NULL }\n };\t\n \n"},{"id":"28535","messageId":"20061010183325.GC12993@softaplic.com.br","threadId":"5873","inReplyTo":"1073a5540610101128q3fb9f68fsf3a28fbda20927d1@mail.gmail.com","subject":"Re: Approxidate licensing","fromName":"Edesio Costa e Silva","fromEmail":"edesio@softaplic.com.br","sentAt":"2006-10-10T18:33:25Z","receivedAt":"2006-10-10T18:33:25Z","isPatch":false,"sender":{"key":"edesio@softaplic.com.br","avatar":null},"body":"Try the TCL modules that parse date and time (tclGetDate.y and\ntclClock.c). They are licensed BSD style.\n\nEdésio\n\n> From: Daniel Barkalow <barkalow@iabervon.org>\n> Date: Oct 10, 2006 2:39 PM\n> Subject: Approxidate licensing\n> To: Linus Torvalds <torvalds@osdl.org>, Junio C Hamano\n> <junkio@cox.net>, dwmw2@infradead.org\n> Cc: git@vger.kernel.org\n> \n> \n> I'm working on an LGPL project (for my company; it's obscure enough and\n> we're lazy enough that we're not really distributing it in general in\n> either source or binary form), and I'm running into the usual date parsing\n> issue (i.e., all the standard functions are broken in various ways). My\n> plan has been to write my own, but it's hard to get the motivation when\n> approxidate exists, works well, and is open source.\n> \n> Would the three of you agree to license date.c under the LGPL or BSD? It\n> looks like you're the only authors of non-trivial changes [1]. And it seems\n> reasonable to want the date parsing thing under non-GPL terms outside of\n> git.\n> \n>        -Daniel\n> *This .sig left intentionally blank*\n> \n> [1] git log and git blame are pretty impressive, but they don't quite\n> catch that most of date.c was written by David as part of commit-tree.c,\n> then Tony replaced it with a version that uses curl, then Edgar separated\n> it out into a date.c and simultaneously reverted Tony's changes. On the\n> other hand, the commit messages do say this, and you can use git log and\n> git blame to verify that they're true. The only thing they don't let\n> you verify is what the differences are between the date.c added in\n> ecee9d9e and the similar part of commit-tree.c in 812666c8. If someone\n> wants to make git blame *really* magic, date.c would be a good test case.\n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"},{"id":"28542","messageId":"7v64es0ycq.fsf@assigned-by-dhcp.cox.net","threadId":"5873","inReplyTo":"Pine.LNX.4.64.0610101246241.9789@iabervon.org","subject":"Re: Approxidate licensing","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-10T19:23:01Z","receivedAt":"2006-10-10T19:23:01Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Daniel Barkalow <barkalow@iabervon.org> writes:\n\n> Would the three of you agree to license date.c under the LGPL or BSD? It \n> looks like you're the only authors of non-trivial changes [1]. And it seems \n> reasonable to want the date parsing thing under non-GPL terms outside of \n> git.\n\nI do not think I have enough code in there to influence the\nlicense of that file, so what I say below does not matter on\nthis particular issue.\n\nThe project as a whole is GPLv2 and GPLv2 only, but date.c is\nisolated enough that I think there are valid form of using it in\nyour program without making your program a derived work.  In\nother words, I do not think I have (even if I had written\nsignificant part of it, which I didn't) right to demand to see\nthe rest of your program if you used date.c.  I do not think I\neven have rights to ask about what kind of program it is.\n\nMy wishes about the code I write for this project is very\nsimple:\n\n     If you improve my code that had helped you to make it help\n     you even better, I would like to have that change back, so\n     that your change would help me the same way as it helped\n     you.\n\nThe readers may have noticed that I have slight problem with\nGPLv2; in my wish it does not matter if you distribute the\nresult or not.  And I am selfish.  It is not about helping my\nusers, but about helping me ;-).\n"},{"id":"28584","messageId":"7viriruw16.fsf@assigned-by-dhcp.cox.net","threadId":"5873","inReplyTo":"Pine.LNX.4.64.0610101246241.9789@iabervon.org","subject":"Re: Approxidate licensing","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-11T07:55:01Z","receivedAt":"2006-10-11T07:55:01Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Daniel Barkalow <barkalow@iabervon.org> writes:\n\n> [1] git log and git blame are pretty impressive, but they don't quite \n> catch that most of date.c was written by David as part of commit-tree.c, \n> then Tony replaced it with a version that uses curl, then Edgar separated \n> it out into a date.c and simultaneously reverted Tony's changes. On the \n> other hand, the commit messages do say this, and you can use git log and \n> git blame to verify that they're true. The only thing they don't let \n> you verify is what the differences are between the date.c added in \n> ecee9d9e and the similar part of commit-tree.c in 812666c8. If someone \n> wants to make git blame *really* magic, date.c would be a good test case.\n\nThat's good to know.  I have in my head a super-duper blame that\nI outlined in my obituary for git-annotate, but that is still a\nvaporware and will continue to be for some time.\n"},{"id":"28585","messageId":"1160553423.7920.60.camel@pmac.infradead.org","threadId":"5873","inReplyTo":"Pine.LNX.4.64.0610101246241.9789@iabervon.org","subject":"Re: Approxidate licensing","fromName":"David Woodhouse","fromEmail":"dwmw2@infradead.org","sentAt":"2006-10-11T07:57:03Z","receivedAt":"2006-10-11T07:57:03Z","isPatch":false,"sender":{"key":"dwmw2@infradead.org","avatar":"https://gravatar.com/avatar/7afd4f07e0cf7d7e046ae2d23678296b37777c96488e6f3451e78a5514154ebd?d=mp&s=160"},"body":"On Tue, 2006-10-10 at 13:39 -0400, Daniel Barkalow wrote:\n> Would the three of you agree to license date.c under the LGPL or BSD? It \n> looks like you're the only authors of non-trivial changes [1]. And it seems \n> reasonable to want the date parsing thing under non-GPL terms outside of \n> git.\n\nYeah, LGPL and BSD are both fine by me -- although I don't actually\nrecognise much of my own code in there. \n\nBtw, why isn't the meaning of 'tea-time' properly modified according to\nthe locale?\n\n-- \ndwmw2\n"}]}