Why a BSD License Might be Wrong for your Embedded Open-Source Project
spin.atomicobject.com
spin.atomicobject.com
Yes?
That's probably not the best example since many people actually change the breaks in their car, whereas I believe the point of the OP was that this is a library that is compiled into the final product.
That said, I don't think this is evidence that the BSD license is "broken" in some way. It simply requires that the user of your code cite that they used it. (I believe Microsoft failed to do this for a few years for their sockets code). Just like when you quote another text, you need to cite your source; the BSD license requires the same. If that's not your intention, don't use it, but don't blame the license.
I'm still likely to use the BSD license in other contexts, but will probably default to MIT/ISC/zlib specifically for embedded libraries.
As interest grows in open-source hardware and embedded development, it's something worth drawing attention to. Not every vendor will mention the license, some will just shrug and move on.
Right, and no offense, but your solution was then to just solve this specific problem rather than ask about what other legal implications you were missing.
For example, ISC specifically only mentions "this software". If you were to ISC license everything, but also include say, IC layouts, they arguably would not be covered.
Worse, IC layouts ("mask works") are, in the US, a completely separate set of rights that are arguably not covered at all by the "use, copy, modify, and distribute" part of ISC (and have the software issue).
Basically, there are a large set of issues with current licenses and open hardware, and you identified one, and then immediately switched to some other license without considering the other implications as well. It may well turn out for your particular project there are no other interesting implications, but as you say "Details like these are easy to gloss over, but they can have a major impact on whether open-source projects can actually be used by others."
With no offense meant (really), I don't think what you've demonstrated is a good example of handling that well.
I've also noticed that, while the ISC doesn't specifically address binary distribution the way the BSD license does, the zlib license specifically notes that its copyright conditions apply to source distributions, so it seems like an even better choice in this specific case.
By doing this, you make the problem worse, not better.
I'm not suggesting you hire a lawyer, there are actually plenty of places with qualified people often willing to help you figure out what issues you will hit.
>Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
It's a license not an array, you can cut from the middle.
Come on, is saving face that important to you? "2-clause BSD" already has a well-accepted meaning. You might as well have said that GPL refers to "Gary's Perfect License"; After all, it's a GPL.
EDIT: Sorry, it appears the zlib license differs in that the clause only applies to source distributions and not binary distributions.
EDIT2: I can't find a legally rigorous citation, but here's a Quora discussion which seems to agree with me: http://www.quora.com/Does-the-MIT-license-require-attributio...
Here's the ISC license, in its entirety:
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
I don't think the "appear in all copies" applies to binary distribution, or at least there's more room for interpretation because it is far less explicit. IANAL, but if it did, there would likely be a LOT of violations - people typically don't embed the license as a string in compiled libraries. (That would probably be a disincentive for using the GPL, which is several times larger than my compiled library!)Edit: The zlib license explicitly says "source distribution", and does not apply to binary distributions. Good to know.
Tradition dictates you include the license as a separate file in the binary's directory, or in the case of a consumer hardware product, on the last page of the product's manual.
That's a strange interpretation. Why do you think that?
> IANAL, but if it did, there would likely be a LOT of violations
There are a lot of violations. Many copyright holders don't pursue them, but without an enforceable license, you're relying on upstream copyright holders' ignorance or their goodwill.
Settings > General > About > Legal > Legal Notices
Where necessary reproducing the licenses isn't that difficult, either in documentation or within some part of the program. If your customers are purchasing something from you as an OEM you should notify them that they need to put certain statements in their documentation.
They publish a (small) document to their customers detailing what they have to do as they retail the end product using this particular chip. Which licenses they have to reproduce in documentation and which links to place there pointing to the original source code where that's required.
If that's a burden you do not want to place on the customers - indeed, you need to be careful about the selected license.
In particular, Dr. Richard Hipp (SQLite's main author) has talked about problems that came up from releasing it into the public domain. He eventually created a second license specifically for companies in places that didn't legally recognize the public domain, and wanted to make sure they were protected from liability.
Licensing is complicated.
( http://wiki.creativecommons.org/CC0_FAQ , https://creativecommons.org/choose/zero/ )
The paperwork wouldn't necessarily just mean slapping a post-it™ note on the product, it could involve paying for lawyers, translators, and so on.
While you do this, your programmers will just drop in another library ("But I've checked the license, it's fine, it's BSD!") without telling you. And that library will have dependencies.
Overall, if you want to do this right, it's a major pain, for very little actual gain (who reads these copyright notices anyway?).
Unfortunately, this would require agreeing on a standard and having people follow it, so I'm not keeping my hopes up.
- Source.JavaScriptCore.COPYING.LIB
- Source.JavaScriptCore.icu.LICENSE
- Source.JavaScriptCore.THANKS
- Source.WebCore.icu.LICENSE
- Source.WebCore.LICENSE-APPLE
- Source.WebCore.LICENSE-LGPL-2
- Source.WebCore.LICENSE-LGPL-2.1
- Source.WebKit.LICENSE