2013-04-25 3 views
0

У меня встроенный сканер кода zbar в Android-приложении за несколько минут (отличная библиотека!), все же я думаю о замене его другим считывателем QR-кода. Причина в том, что в Интернете много скептицизма [1] [2]: LGPL совместим с коммерческими проектами Android.Лицензирование: Android, LGPL и сканер QR-кода ZBar

Может кто-нибудь сказать мне, почему zbar использует LGPL, но тем не менее поддерживает андроид? (у вас даже есть раздел андроида на форуме поддержки ...)

Есть ли способ убедиться, что мое приложение соответствует требованиям лицензии?

[1] http://source.android.com/source/licenses.html

[2] http://www.gnu.org/licenses/lgpl-java.html

+0

Возможный дубликат [Использование библиотеки LGPL в Платном приложении для Android] (http://stackoverflow.com/questions/4916512/using -lgpl-library-in-paid-android-app) –

ответ

3

проект Android платформа имеет различные лицензионные требования от разработчиков приложений третьих лиц. Хотя в приложениях сторонних разработчиков можно заменить и перепроектировать библиотеки LGPL, это не так для библиотек LGPL в прошивке только для чтения.

Основные компоненты Android zbar распространяются в двоичных файлах .so. Таким образом, они могут быть заменены в вашем распределенном приложении в соответствии с LGPL.

Для кода адаптера Java (zbar.jar) убедитесь, что вы не используете ProGuard или другую обфускацию на нем.

Для справки, вот как проект droidText адреса LGPL соответствия: (. Standard I-ам-не-а-адвокат отказ от ответственности применяется) https://code.google.com/p/droidtext/wiki/LGPLCompliance

+0

Итак, вы говорите, что каждая часть ZBar может быть заменена альтернативной реализацией пользователем (хотя это просто теоретически, никто, очевидно, никогда этого не сделает) и поэтому ZBar можно использовать в коммерческом приложении? – stoefln

+0

Это мое понимание, да. Альтернативные реализации, включая также измененные версии оригинала. – laalto

+1

Вот некоторые LGPL с использованием авторов, которые поддерживают вашу линию рассуждений: http://4thline.org/projects/cling/faq.html –

2

TL/DR: всегда распределяют Zbar источник вместе с приложением, и вы понятны.

Я бы сказал, что пользователю не нужно обновлять библиотеку, если захочет. Вместо этого, чтобы быть в безопасности, вы должны рассматривать вашу программу как статически связанную с библиотекой. (С практической точки зрения, ваша программа является своего рода статически связаны между собой, так или иначе.)

Если вы сделаете это, вы должны распространять исходный (или сцепляемые объектные файлы) из библиотеки. Это должен быть потенциально измененный источник, который вы использовали, а не какая-то общая загрузочная ссылка или так далее.

Кстати я upvoted llato's ответа тоже, потому что есть некоторые достоинства, но я не был бы заинтересован в утверждая, что рассуждения перед судьей. (Не то, что я думаю, что авторы zbar, в частности, затащили бы меня туда, но вы поняли смысл.)

Смежные вопросы