views:

719

answers:

3

I would like to use the JSON-framework ObjC library, which is licensed under BSD license, in my iPhone application. The thing is, I'm not sure what does the BSD license require me to do. The text of the license states that:

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Does this mean I would have to paste the whole license text (~ 15 lines) into that small info file supplied for all App Store applications? Because if so, that would make it unreadable... Or is it enough to just write that "This application includes open source code written by XXX YYY"? Or can I put the text of the license somewhere else?

+2  A: 

Did you read the bit that says "in the documentation and/or other materials"? You don't have to display anything when your app runs. The BSD license is widely used with sever software that has no GUI with which to display a message.

The BSD license is a "you can do what you want with the code" deal (unlike the GPL), with the exception of the copyright, which must be maintained in source and/or docs - but you do NOT need to display it.

anon
But an AppStore apps does not usually have any documentation.
Mehrdad Afshari
In that case you don't have to do anything.
anon
I don't think this is what you have to do. If that was the case, there was no point in providing that statement. You'd provide no docs with your app and you're good. :)
Mehrdad Afshari
Have you actually read the full license - do you understand the motivatoion behind it? The BSD license is a "you can do what you want with the code" daal, with the exception of the copyright, which must be maintained in source and/or docs - you do NOT need to display it!
anon
Agreed, Neil. As an author of a BSD-licensed iPhone application, I just wanted a "I don't care how you use this" license. Most of the terms in the license are to protect me in case somebody wants to sue over the code not performing as advertised. To be safe, write the author and ask permission.
Brad Larson
I know that practically speaking usually when someone licenses code as BSD, he usually means "do what you want"; still, I don't want to take it for granted if I can't be sure...
Psionides
+4  A: 

My interpretation is that you don't have to include the full text in the documentation, and you don't have to include the full text in the other materials, but if you don't include it in one, then you must include it in the other — you must include it somewhere.

What I typically see is a copyright message in the program noting that some of the code belongs to the University of California Board of Regents, and then the full message is included with the included source code, or in the fine print at the start of the PDF manual.

If there is no documentation and the only "materials provided with the distribution" are the application itself, then it's pretty clear to me where you need to include the copyright notice, the list of conditions, and the disclaimer.

Does your app has a Web site of its own that you link to within the app, and not just the page in the App Store? You could try putting the license there.

Maybe it would suffice to simply include the license file as just another file in the app bundle. The requirements don't mention displaying the notice, after all, right? I would consider that to be underhanded, flouting the spirit of the license, if not the letter.

Rob Kennedy
I'm resigned to agree with this interpretation, comments on the other solution are giving a cultural response to a legal question. I was brought here hoping to use the same json-framework but held off once I read the license. It's clear in the statement that any binary distribution must reproduce the full text, and the only loophole is that only binary data is distributed, which isn't possible for iPhone apps (every .app bundle contains non-binary data). I also agree that Rob is probably correct in that an incredibly-hard-to-access reproduction in the bundle would satiate this requirement.
Justin Searls
OK, you convinced me. I think the key here is that the license doesn't say "reproduce ... in the documentation", but "reproduce ... in the documentation and/or other materials". Which means it doesn't really have to be in the documentation if it's provided in "other materials provided with the distribution". And a file included inside the application bundle definitely counts as something "provided with the distribution".
Psionides
I still think you're being underhanded about it if you're just sticking the license file in the bundle without exposing it in your program. I hope that isn't the solution you choose.
Rob Kennedy
I have no problem at all with including a line "includes open source library XXX by YYY licensed under BSD" in the application info, and with leaving the license headers in the source files. I only have a problem with including the whole license in the info, because it's way too long for that.
Psionides
I am the author of json-framework. My use of the BSD license is more to avoid people suing me, if they happen to be bitten by a bug. (The absence of which I try to avoid, but cannot guarantee, and bizarrely leaving something in public domain does *not* protect me from being sued.) If I didn't want people to use the library I would not have made its source and binaries freely available to download from google code, nor spent countless hours preparing said binary and source to make it simpler for you to use it in your app. :)
Stig Brautaset
+1  A: 

What follows is the answer provided to (essentially) the same question when I posed it to the author of json-framework at its Google Code page:

I think you are confused as to what is meant by 'redistribution in binary form'. As far as I'm concerned it only applies if you're providing the library in binary form for others to link with. (E.g. as a static or dynamic library). If you are distributing an application that happens to make use of this library for its own workings, that clause does not apply and your point number 4 [Ed: That is, the license would "Not reproduced at all"] applies.

If you decide to use the library and you do find it useful I'd be grateful if you mention that, somewhere, but it is entirely your choice.

I will not changing the text of the copyright notice. If you're not familiar with it already, search for 'new BSD license' and see how much of the software you already use this license. (Hint: It's used among others by Webkit, the browser engine at the core of Safari.)

So that pretty much answers that, certainly as it pertains to the expectations of the maintainer of the project in question, json-framework.

Edit: I am not making a statement that I agree or disagree with the author's opinion of the legal scope of the license.

Justin Searls
I don't agree that distributing an application which uses a library is not "redistributing the library in binary form". You're distributing binary data which includes your code merged with that library's code, so IMHO it is exactly what the license says, you're just not distributing that library standalone, but combined with something else.
Psionides
On the other hand, what the copyright holder says about the license is significant, and can be binding.
David Thornley
It's very disturbing that there is not a clear answer to this. I would have thought that this would have been settled long ago.
Pat Niemeyer