Отслеживание использования Rails App в Интернете / Интранете
Мы разработали веб-приложение с открытым исходным кодом под лицензией LGPL и размещены на демонстрационном сервере LIVE. Также исходный код доступен в исходной кузнице. Многочисленные загрузки уведомляются изо дня в день. Поэтому мы хотели бы отслеживать использование этого приложения в Интернете, чтобы иметь представление о количестве активных пользователей.
Есть ли способ в Rails отследить использование, которое это приложение настраивается и используется в системах, которые подключены к Интернету? Информативные ответы помогут нам найти или разработать такой метод в нашем приложении, который определенно поможет нам блокировать пиратство, если мы сделаем этот продукт коммерческим в будущем.
Спасибо:)-
1 ответ
Ваш вопрос на самом деле два вопроса:
Как узнать насколько популярно мое приложение?
Вы можете посмотреть на количество загрузок. Не надежно, потому что люди могут скачивать друг с другом, и вы будете скучать по ним.
Просканируйте Интернет и посмотрите, сколько сайтов ответили подписью вашего приложения. Требует огромных ресурсов, плюс вы не поймаете те, которые изменили ваш код, и ложные срабатывания от людей, подделывающих подпись вашего приложения.
Сделать приложение позвонить домой. Опять же, поскольку люди могут просто взять код, который делает это, а не защиту от ошибок.
Как я могу убедиться в том, что никто не сможет скопировать мое приложение?
- Ваш исходный код бесплатный, так что... вы не можете.
Как имеет смысл "продавать" приложение с открытым исходным кодом? Лучше продать поддержку.
Кроме того, поскольку вы используете ruby, вам придется использовать компилятор для создания двоичного файла, чтобы избежать выдачи исходного кода (согласно лицензии MIT, под которой выпускается rails).
Быстрый поиск в Google показывает, что некоторые из них могут существовать, но чтобы убедиться, что вы создаете бинарный файл, который работает, потребуется много ресурсов. Таким образом, существует значительный юридический / технический барьер для сохранения вашего исходного кода закрытым. (Кроме того, декомпиляторы могут быть легко использованы для обратного проектирования вашего приложения.)