|
LicenseQuestions
Frequently asked questions about the project license and reuse of code
Featured Many have asked questions about the terms of this project's license. This page attempts to collect some answers. The project authors are not lawyers and this does not constitute legal advice. It reflects our best understanding of license and copyright issues. Apache License v2.0This project is licensed under the Apache License v2.0. It is not a copyleft license like the GPL; it is relatively generous about what you can do with the code. What Do I Have To Do To Comply?We aren't lawyers, so can't claim to give legal advice. We can reproduce the requirements in the license's "Redistribution" section here for you:
A common way to comply, in a product that is delivered only in binary form and not source form (e.g. an application download) is to add a mention of the project, and link to its license (in our view, a link to the project website is ultimately also fine), in a "Help" or "About" screen of the application. Can This Be Used In Commercial Products?The license does not forbid this. The license terms still apply, of course. Please see below our thoughts on the spirit of the open-source license. If you are selling a product based on something that is free, it should add to and innovate on this project. Otherwise it is more a copy than anything. Can I Include This With A Library I Distribute?Sure. The license terms still apply, of course. Specifically, they apply to anyone that uses a library that includes zxing, so applications that use a library that includes zxing have the same license inclusion/link requirements. Specific to redistributing zxing as part of a library:
The Spirit and the Letter of the LawThe above describe the "letter" of this open-source project license -- what you must technically do to not violate the law and terms of the license. This is, of course, just a minimum standard. We do monitor for license compliance. Since so many project have reused the code in this project, we want to say further that we think the "spirit" of the open-source license requires.
What About Reusing the UI?One particularly contentious issue has been reuse of our project's Barcode Scanner application user interface. The familiar translucent rectangle, red line, beep sound that Android users are accustomed to in many barcode-scanning applications is derived from this project. On the one hand, being copied completely feels a bit wrong. The spirit of open-source suggests that reuse should be accompanied by some innovation. On the other hand, the interface is quite compelling and perhaps there is not much one can do to make it both different and better. One option is to not reuse the UI at all, but integrate via Intents -- see below. This is what, for instance, the Anobiit and Barcode Beasties applications have done to great effect on Android. As long as the license terms are complied with, we find reuse of the basic elements of the scanning UI tolerable. Copying more, like the About screen and Help screens, UI text and so on, seems too much, and not consistent with the spirit of the open-source project. A Word on CopyrightWe are, again, not lawyers, but wish to remind users that the copyright on all code and artifacts of this project is still retained by the project authors. The license terms do not grant you copyright, and you cannot claim copyright on the creative work of this project. This is of concern to you if you are copying text, images, sounds from the project. It needs to be clear that you are not claiming copyright on these elements, and that they are instead licensed from this project. A way around this is to not copy creative elements at all! Can I Avoid Reusing The Project Completely?Yes, please see ScanningViaIntent to learn how to call to the Barcode Scanner application using Intents. This requires little work, no integration, and entails no license issues. We view it as by far the simplest means of integration for several reasons. | |