My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for

Question or Comment?

Please post to the discussion group at http://groups.google.com/group/zxing .

LicenseQuestions  
Frequently asked questions about the project license and reuse of code
Featured
Updated Dec 13, 2010 by srowen

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.0

This 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:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

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:

  • You should include a copy of the Apache License v2.0. Since a library is generally one or more files (as opposed to an executable), there's no reason not to include a complete copy the license.
  • If you include source, other sections of the Apache License v2.0 apply.
  • We recommend (but don't require) that you include a copy of or link to this page to help ensure that users of the combined work understand what they agree to in order to use any work that includes and/or derives from zxing.

The Spirit and the Letter of the Law

The 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.

  • The product and source is provided for free in an attempt to promote development of more, better open-source code. Consider giving back, if you benefit from the code and improve upon it, by:
    • contributing code back to the project
    • open-sourcing your code otherwise
    • publicly releasing new ideas and research
  • Likewise the project wishes to promote innovation and creation of better products for the users of the world. Reusing the code to add a trivial feature is more copying than innovation, but reusing to create something entirely better is ideal
  • Give credit where it's due. License requirements

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 Copyright

We 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.

Powered by Google Project Hosting