Законно ли публиковать модуль, имеющий близкие исходные зависимости, к общедоступному центральному
Чтобы было ясно, я хотел бы опубликовать свой модуль библиотеки Android на JCenter
или же Maven Central
так что, когда разработчики Android хотели бы использовать мою библиотеку, они могут напрямую добавить простую строку, как compile 'a.b.c'
, вместо import module
, Так что, конечно, я говорю о gradle
библиотечный модуль.
Тем не менее, плохая новость заключается в том, что мой проект зависит от библиотек с закрытым исходным кодом, которые представляют собой несколько файлов от нескольких других компаний. Так что я не знаю, допустимо ли публиковать мой модуль с закрытыми файлами jar.
Мне не ясно, зависит ли это от общедоступного центрального закона или от закона о компаниях.
1 ответ
Я понимаю, что ваш проект зависит от стороннего (закрытого) фляги, которая не является частью MavenCentral, и вам не разрешено развертывать этот сторонний флягу в MavenCentral из-за проблем с лицензированием.
Первый вопрос: доступен ли этот сторонний jar-файл через какой-либо другой доступный репозиторий Maven? Многие компании предлагают свои собственные репозитории для предоставления jar-файлов для своих API и т. Д.
Если это не открыто, нет смысла помещать вашу банку в MavenCentral. Любой, кто пытается использовать его, ломает их сборку, потому что зависимость не может быть загружена. Это может быть даже запрещено.
Если ваши сторонние зависимости доступны, вы можете объявить необходимые репозитории в своем pom, чтобы кто-нибудь мог загрузить соответствующие зависимости.
Я не знаю, нарушает ли это правила MavenCentral. Вы должны это проверить.