Ответ 1
Я работал над двумя пакетами, которые делают что-то вроде этого, оба размещены на R-forge из-за двоичного ограничения CRAN (что, кстати, кажется мне совершенно разумным). (Я не думаю, что вам не хватает ничего очевидного в вашем вопросе, просто говоря здесь, что я решил сделать.)
- пакет
cpcbp
(общие основные компоненты/обратная проекция) использует двоичный код, составленный из кода, написанного Патриком Филлипсом; исходный код является нераспределяемым, поскольку он использует некоторые процедуры Numerical Recipes. Я имел в виду переписать это ядро в R (это просто линейная линейная алгебра, это было бы не так сложно). Мне кажется, что мне, вероятно, придется модифицировать лицензию на этом - я, вероятно, сказал "GPL", но я не думаю, что могу на самом деле сделать это с учетом нераспределяемого компонента... - Пакет
glmmADMB
использует свободно распространяемый исходный код (лицензия BSD), но инструментальная цепочка достаточно сложна, что я не хочу, чтобы пользователи загружали весь поддерживающий пакет.
В обоих случаях я помещаю двоичные файлы в inst/bin
и, возможно, в подкаталоги, специфичные для архитектуры (которые устанавливаются в /bin
), и используйте соответствующую логику для обнаружения архитектуры и запуска правильного двоичного файла.
Я предполагаю, что в принципе вы можете обойти невозможность лицензирования через GPL, сделав нераспространяемую часть в загрузку (как вы полагаете), но это, похоже, нарушит дух...