For reasons too boring to go into here, I've written a small JSON library to add to the pile of them available for Swift. The interface of this library is inspired by, and similar to, that of SwiftyJSON, but the implementation is very different. Both SwiftyJSON and my library use the MIT license. I have copied no actual code from SwiftyJSON. (In fact, I deliberately did not look at SwiftyJSON's source until my implementation was finished. When I did, I saw how dissimilar they were.)
So…
- Do I need to credit Ruoyu Fu? (I may do so anyway, even if the answer to this is 'no'.)
- If I do credit Ruoyu Fu, how do I do so, while making it plain that I am (by far) the primary author of this software?
It seems to me that there are two ways to do this. The first is informal credit, where somewhere in my project I say, "The interface of this software was inspired by Ruoyu Fu's SwiftyJSON." The second is to alter my license and license headers to say:
Copyright (c) 2016 Gregory Higley, Ruoyu Fu
(I think this gives a bit too much credit to Ruoyu Fu, but it's not a big deal to me if this is how it's usually done.) Or…
Copyright (c) 2016 Gregory Higley, Portions Copyright (c) 2014 Ruoyu Fu
Is there any general consensus on how to do this?
Update
I should make something clear. I realize that "inspiration" does not need a licensing credit, but perhaps something like this does:
var json = try JSON(data: data)
json["x"].string = "foo"
json["y"].int = 37
let data = json.rawData()
This code loads some JSON from NSData
, proceeds to alter it, and then turns in back into NSData
. This happens to be from my library, but for a few trivial differences it could be from SwiftyJSON. As I said, the interface of my library and that of SwiftyJSON are about as different as American English and British English, but under the hood they are very different.
If I borrow the interface of another library, but not the implementation, what are the licensing requirements?