6 ms·
I don't work with Rust, but in general this is a very nice way to present a project's needs, in order to request contributors to help. I hope it works for them.
by unwind 12y ago
I don't work with Rust, but in general this is a very nice way to present a project's needs, in order to request contributors to help. I hope it works for them.
I also like the pragmatic approach, instead of saying "date APIs are hard, so we'll think until we've cracked it" they just explicitly plan on copying a popular one (the Joda-Time Java API, http://www.joda.org/joda-time/ http://www.joda.org/joda-time/).
- higherpurpose 12y agoAs of now, copying an API is illegal, no? http://www.reuters.com/article/2014/05/09/us-oracle-google-ruling-idUSBREA480KQ20140509 http://www.reuters.com/article/2014/05/09/us-oracle-google-r...
- ben0x539 12y agoIt's not illegal, it's just apparently impacted by copyright. Since Joda-Time is available under the Apache 2.0 license, that doesn't seem like an unsurmountable obstacle.
- jasode 12y agoI'm not a legal scholar but it seems like Joda-Time's Apache 2.0 license can be rendered irrelevant if Joda copies API spellings from Oracle Java. For example, Joda has a member function called .getYear(). Oracle java.util.date also has a .getYear(). At the time the author created Joda, the type of restrictive API copyright ruling that Oracle won wasn't part any programmer's mindset. If it was, maybe Joda would have called it .getAnnum() or .getOffsetfromZeroCE() or .getYYYYComponent(). If a company gets to release their API first with a .ToString() ... the next company has to call it something else such as .ReifyAsString() and then then next company after that has to name their API with yet another synonym such as .Stringify(). Continuing that scenario, could one even publish a blog post listing the complete 1-to-1 translation of Company A's API to Company B's API? Could one legally write a program that automatically converts one source code listing's API calls to another? Would those rosetta stone type of publications and dev tools be in violation of API copyrights? Joda-Time doesn't copy 100% java.util.date but I don't know what the threshold is.
- chc 12y agoAlso not a lawyer, but IIRC Oracle won on the grounds that the "structure, sequence and organization" of their API was a creative and copyrightable work, not just the odd descriptive name here and there.
- groovy2shoes 12y agoOne of the circuit court's stated reasons for ruling that the SSO holds for the Java API was because of the names: The evidence showed that Oracle had "unlimited options as to the selection and arrangement of the 7000 lines Google copied." Appellant Br. 50. Using the district court's "java.lang.Math.max" example, Oracle explains that the developers could have called it any number of things, including "Math.maximum" or "Arith.larger." This was not a situation where Oracle was selecting among preordained names and phrases to create its packages. As the district court recognized, moreover, "the Android method and class names could have been different from the names of their counterparts in Java and still have worked." Copyrightability Decision, 872 F. Supp. 2d at 976. Because "alternative experessions [we]re available," there is no merger. See Atari, 975 F.2d at 840. http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF http://www.cafc.uscourts.gov/images/stories/opinions-orders/... pp. 30-31.
- chc 12y agoThis is a broader point than "it was because of their names." As I understand it, the court is saying that Google copied the whole package structure of Java, including a whole tree of associated names. It's not just that some names happened to match up, but that the whole structure of the Java libraries was considered a creative work and Google copied that whole creative work. The names are a component of that, but you can't point at a name and say "That was the copyrighted thing," because it was the aggregate API that the court considered copyrightable. (Again, not a lawyer or legal advice. This is just my layman's understanding.)
- groovy2shoes 12y ago
- alkonaut 12y agoA Rust port of JodaTime should definitely be based on Jon Skeet's NodaTime (the .NET port) which probably maps easier to rust because of the closer similarity of C# to Rust (value types etc).
- twic 12y agoWhereas i'd say it should definitely be based on Stephen Colebourne's ThreeTen, which is the successor to Joda-Time: http://www.threeten.org/ http://www.threeten.org/ http://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941.html http://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941.... The language constructs might not be as close to Rust's, but the semantics benefit from years of additional experience and thought.
- deleted 12y ago[deleted]