Защита программы

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Защита программы

Сообщение gopstop2007 »

так пусть будет вход на сервер через одного серверного пользователя, кстати соединение может быть и не видно при входе в программу, а логин и пароль для пользователя вводят после коннекта перед открытием приложения, вот этих пользователей и проверять на количество записей (count) в таблице списка пользователей БД :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

kreator писал(а): На сегодняшний день рассчитывать на то, что пользователю нужно обновление, неправильно. У нас есть клиенты, которые годами ничего не требуют. А нам жить как-то надо . Вариант - платить за поддержку тоже не катит (это уже оффтопик), программа работает надёжно. Нужно ориентироваться на "подписку". Но я пока понимания с этой моей идеей не нахожу.
Kreator - очень правильная идея! :D

Но для её реализации необходимо разработать комплекс юридических и технических мероприятий взаимодействия клиента с разработчиком.

Kreator, огромная просьба, если не коммерческий секрет - выскажи, пожалуйста, твое видение продажи и сопровождения коммерческого программного продукта по "подписке" на сколько это возможно, как с технической так и юридической точки зрения :D
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Защита программы

Сообщение kreator »

gopstop2007 писал(а):так пусть будет вход на сервер через одного серверного пользователя, кстати соединение может быть и не видно при входе в программу, а логин и пароль для пользователя вводят после коннекта перед открытием приложения, вот этих пользователей и проверять на количество записей (count) в таблице списка пользователей БД
Нет, не так, может быть, не совсем так. Если работаем на SQL (есть SQL сервер). Если посмотреть как раздают лицензии производители SQL серверов. Ориентируюсь на SQLAnywhere. Есть два типа лицензии - per user и per seat, т.е. на вход пользователя и на вход ip-адреса. Надо примерно сделать также. По мне предпочтителен второй вариант, потому что я видел в Sybase Central, что даже, если запущен один экземпляр программы, разные треды могут иметь разные коннекты (может, это глюк Клариона, но факт). Во всяком случае, сервак должен выдавать информацию по коннектам (В Вашем случае - однозначно надо ориентировать на ip, сервак не знает Ваших внутренних пользователей). Коннекты очень хорошо сбрасываются, имею ввиду нажёжно, пользователь вышел, завис, коннект сбросился. В общем можно на это ориентироваться. Почему сложно ориентироваться на внутренних пользователей? Допустим, программа при входе пишет в некую таблицу - "Такой-то пользователь зашёл", при выходе удаляет. Но если программа зависла, то всё, проблема. Это сто раз здесь обсуждалось. Поэтому народ и использует tps.
Developer писал(а):Kreator, огромная просьба, если не коммерческий секрет - выскажи, пожалуйста, твое видение продажи и сопровождения коммерческого программного продукта по "подписке" на сколько это возможно, как с технической так и юридической точки зрения
Весь мир перешёл на это. Тут дело в цене, сделайте цену адекватную и пользователь поймёт. Есть пример, программа Oasis (может была), передача данных в электронном виде в пенсионный фонд. Такого же типа ЭОН. Ценовая политика такая - 3000р первый год, 2000 второй и далее. Правда, потом почему-то они перестали делать скидку на второй год, монополистами, наверно, стали. Техническая реализация вообще простая, храниться дата регистрации и срок лицензии, при входе в программу это дело проверяется. Надо, правда, защититься от изменения системной даты. Но это сейчас маловероятный случай, Винда сама дату синхронизирует. Ещё момент. Неправильно, чтобы программа не работала по окончании срока лицензии. Нужно отрубить некий важный функционал, например добавление новых записей. А старые пускай смотрят.
Developer, идея для Вас. Когда у меня возникло недопонимание с "заказчиком", у которого крутиться SQLAnywhere (очень своеобразные коммерческие отношения у меня с ним), сделал такой вариант. Ну очень жёсткий. У SQLAnywhere есть такой запрос:

Код: Выделить всё

STOP ENGINE UNCONDITIONALLУ

Останавливает сервак однозначно, несмотря на коннекты и т.д. В БД стал хранить нужную дату. Клиентская программа коннектится к серваку, проверяет дату, если просрочка, то останавливает сервак, дата сдвигается, допустим на две недели. Админ поднимает сервер, естественно ничего не понимает, типа случайно остановился. Через две недели снова, дата сдвигается на неделю, админ думает "Опа, однако тенденция". Руководству, как правило, на...ть. Доходим до ситуации, что при любом коннекте сервак останавливается (дата уже никуда не сдвигается). Зовём разработчиков, налаживаем отношения :D .
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

kreator писал(а): Весь мир перешёл на это. Тут дело в цене, сделайте цену адекватную и пользователь поймёт. Есть пример, программа Oasis (может была), передача данных в электронном виде в пенсионный фонд. Такого же типа ЭОН. Ценовая политика такая - 3000р первый год, 2000 второй и далее. Правда, потом почему-то они перестали делать скидку на второй год, монополистами, наверно, стали. Техническая реализация вообще простая, храниться дата регистрации и срок лицензии, при входе в программу это дело проверяется. Надо, правда, защититься от изменения системной даты. Но это сейчас маловероятный случай, Винда сама дату синхронизирует. Ещё момент. Неправильно, чтобы программа не работала по окончании срока лицензии. Нужно отрубить некий важный функционал, например добавление новых записей. А старые пускай смотрят.
Developer, идея для Вас. Когда у меня возникло недопонимание с "заказчиком", у которого крутиться SQLAnywhere (очень своеобразные коммерческие отношения у меня с ним), сделал такой вариант. Ну очень жёсткий. У SQLAnywhere есть такой запрос:

STOP ENGINE UNCONDITIONALLУ

Останавливает сервак однозначно, несмотря на коннекты и т.д. В БД стал хранить нужную дату. Клиентская программа коннектится к серваку, проверяет дату, если просрочка, то останавливает сервак, дата сдвигается, допустим на две недели. Админ поднимает сервер, естественно ничего не понимает, типа случайно остановился. Через две недели снова, дата сдвигается на неделю, админ думает "Опа, однако тенденция". Руководству, как правило, на...ть. Доходим до ситуации, что при любом коннекте сервак останавливается (дата уже никуда не сдвигается). Зовём разработчиков, налаживаем отношения .
Kreator, ОГРОМНОЕ Спасибо за персональные идеи! :D

Возьму на заметку для реализации :wink:

А есть ли какие юридические особенности договорных отношений связанные с реализацией программного обеспечения по подписке?
С Уважением, Developer
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Защита программы

Сообщение Алексей- Софт-Центр »

Добрый день!
Developer писал(а): А есть ли какие юридические особенности договорных отношений связанные с реализацией программного обеспечения по подписке?
Все определяется в документе, который программистам лень писать, а Заказчикам лень читать: "Лицензионное соглашение".
А особенностей - прочитайте, например, лицензионное соглашение DrWeb - у них лицензия на ограниченное время.

Алексей
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

Алексей, спасибо за ответ!

Антивирусным программным обеспечением DrWeb не пользуюсь

Если у Вас есть лицензионное соглашение DrWeb, просьба выслать мне в личный раздел.

А вообще, правильная идея - юридические вопросы и тонкости необходимо почерпнуть из лицензионных соглашений на программное обеспечение с ограниченным сроком действия для конечного пользователя :wink:
С Уважением, Developer
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Защита программы

Сообщение Алексей- Софт-Центр »

Добрый день!
http://license.drweb.com/agreement/


Алексей
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

Алексей, спасибо за ссылку! :D
С Уважением, Developer
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

kreator писал(а): Developer, идея для Вас. Когда у меня возникло недопонимание с "заказчиком", у которого крутиться SQLAnywhere (очень своеобразные коммерческие отношения у меня с ним), сделал такой вариант. Ну очень жёсткий. У SQLAnywhere есть такой запрос:
КОД: ВЫДЕЛИТЬ ВСЁ
STOP ENGINE UNCONDITIONALLУ

Останавливает сервак однозначно, несмотря на коннекты и т.д. В БД стал хранить нужную дату. Клиентская программа коннектится к серваку, проверяет дату, если просрочка, то останавливает сервак, дата сдвигается, допустим на две недели.
Kreator, а каким образом у Вас решён вопрос от модификации информации (даты отсчёта лицензии) системным администратором в БД Sybase SQL Anywhere :?:

Если только системный администратор не имеет административных прав на эту базу? :wink:

Или как-то иначе? :wink:
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Защита программы

Сообщение kreator »

Developer писал(а):Kreator, а каким образом у Вас решён вопрос от модификации информации (даты отсчёта лицензии) системным администратором в БД Sybase SQL Anywhere :?:
А зачем администратору это знать? Вы даёте администратору полное описание БД (табличные поля, связи)? Или предполагается, что он будет искать нужную информацию сам?
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

kreator писал(а): А зачем администратору это знать? Вы даёте администратору полное описание БД (табличные поля, связи)? Или предполагается, что он будет искать нужную информацию сам?
Если я правильно понял в данном решении - владелец базы данных и одновременно SA будет разработчик?
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Защита программы

Сообщение kreator »

Не, ну нормально отвечать вопросом на вопрос. У Вас как? Думаю, не всякий работодатель может себе позволить держать выделенного админа конкретной БД. Чтобы он досконально знал схему данных и бизнес-логику, заложенную в хранимках и триггерах.
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

kreator писал(а): Не, ну нормально отвечать вопросом на вопрос. У Вас как? Думаю, не всякий работодатель может себе позволить держать выделенного админа конкретной БД. Чтобы он досконально знал схему данных и бизнес-логику, заложенную в хранимках и триггерах.
Извиняюсь, если некорректно сформулировал данный вопрос (вопросом на вопрос) - имелось ввиду доступ системного администратора БД Sybase SQL Anywhere клиента (покупателя ПО).

По существующей специфике, на сколько я понимаю, у Вас, Kreator, работа организована таким образом что разработчик имеет монополию на администрирование БД Sybase SQL Anywhere.

В моём случае полные права на БД Sybase SQL Anywhere имеет администратор клиента (покупателя) и доступ к БД Sybase SQL Anywhere разработчику запрещён :(

Вот отсюда некоторое непонимание :(

Какие ещё могут быть идеи по ограничению работы приложения в случае полного администрирования БД Sybase SQL Anywhere системным администратором клиента и невозможностью доступа к этой БД Sybase SQL Anywhere разработчика?

Вот в чём отличие и суть вопроса :wink:

Менять правила игры?
Вся власть разработчику с правами администратора БД Sybase SQL Anywhere :mrgreen:
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Защита программы

Сообщение kreator »

Developer писал(а):В моём случае полные права на БД Sybase SQL Anywhere имеет администратор клиента (покупателя) и доступ к БД Sybase SQL Anywhere разработчику запрещён :(
Совсем доступ не может же быть запрещён? Через программные скрипты разрешён? Или структура БД полностью контролируется ими и стоит полный запрет на какое бы то ни было изменение? Допустим, нельзя добавить поле в таблицу, нельзя добавить хранимку и т.д. Или по-другому - что можно?
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Защита программы

Сообщение Developer »

Системные функции (модификация структуры, скрипты, хранимые процедуры) только из приложения разработчика - имеется ввиду нельзя использовать Sybase Central и аналогичные утилиты администрирования разработчику. Но база в полном распоряжении администратора клиента (покупателя). И запрещен доступ разработчику к содержимой информации на легальной основе.

С технической стороны разработчик волен с базой делать всё что необходимо, но запрещён доступ к содержимой информации базы - там главный есть администратор клиента а не разработчик. :(

А вот администратор клиента имеет все полные права на БД SQL Anywhere :mrgreen:
С Уважением, Developer
Ответить