2015-01-14 4 views
0

Предположим, что я использую файл jar с открытым исходным кодом в моем проекте размером 11mb. Но я не использую эту банку полностью (я никогда не буду использовать в будущем тоже). Я знаю, что мне просто нужно пару классов из этой банки, которая выполняет мою работу. В таком случае, могу ли я просто удалить другие классы в файле jar и использовать его?Изменение исходного кода

Я буду следить за тем, чтобы все классы, остающиеся в банке, были выполнены сами по себе. Значит, эти классы не зависят от каких-либо других классов в банке. Могу ли я просто удалить нежелательные классы в банке, чтобы уменьшить размер файла jar? Если я сделаю эту работу, это будет законно? Могу ли я делать такие вещи и использовать в своем проекте?

+0

Какова лицензия на проект? –

+1

Это зависит от лицензии. – PeterMmm

+0

Какая открытая лицензия распространяется на источник? –

ответ

1

похоже, что используется SmartGWT LGPL licence. Это означает, что вы можете ссылаться на него даже в закрытом закрытом приложении без необходимости выпускать исходный код, если вы его распространяете.

Однако эта свобода не может быть применяется, если вы изменяете библиотеку.

Программа, которая не содержит никакой производной какой-либо части Библиотеки, но предназначена для работы с Библиотекой путем скомпилирования или связывания с ней, называется «работой, которая использует библиотеку». Такая работа, в отдельности, не является производной работой Библиотеки и, следовательно, выходит за рамки настоящей Лицензии.

Можно утверждать, что измельчение битов библиотеки создает производную работу, даже если вы не изменили сам исходный код, но IANAL.

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

+0

Спасибо всем! – Vadiraj

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