Статья 1280. Право пользователя программы для ЭВМ и базы данных 1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения: 1) осуществлять действия, необходимые для функционирования программы для ЭВМ или базы данных (в том числе в ходе использования в соответствии с их назначением), включая запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), внесение в программу для ЭВМ или базу данных изменений исключительно в целях их функционирования на технических средствах пользователя, исправление явных ошибок, если иное не предусмотрено договором с правообладателем; 2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным. 2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи. 3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий: 1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников; 2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию; 3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ. 4. Применение положений, предусмотренных настоящей статьей, не должно противоречить обычному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.
Прошу "Арку" дать развёрнутый комментарий по каждому пункту этой статьи на предмет легальности исследования системы QUIK. А также, значит ли это, что знания полученные из анализа квика можно на вполне законных основаниях (что доказано выше) использовать в своих проектах при условии, что они не будут сильно внешне похожи на квик/либо его модули/плагины?
а также, значит ли это, что раз вы до сих пор не посчитали нужным открыть для нас интерфейс Plugin API то, пользователи на вполне законных основаниях могут сделать это сами в личных целях, о чём, кстати, тоже упомянуто в вышеприведённой статье ГК РФ? Кроме того, я думаю, ни для кого здесь не секрет, что система КВИК за 15 лет развития так и не вышла на 100%-но стабильный уровень. С каждой версией обновления - мы, рядовые конечные пользователи находим в ней кучу "багов" и теряем на них свои деньги. Вы, как компания - нам это никак не компенсируете, а только постоянно приносите свои извинения. Таким образом, на основании вышеизложенного, прошу, как говорится, "пойти с пользователями на сделку": вы открываете для нас PLUGIN API и мы, более не имеем к вам претензий к функциональности и стабильности системы КВИК - бо как в таком случае, мы уже будем сами нести за это ответственность.
в противном случае, вам наверно стоит задуматься на тем, что предоставить пользователям нечто более существенное нежели очередные извинения.
Ввиду того, что у нас прямых отношений с конечными клиентами в отношении нашего ПО нет, а формы передачи права на использование ПО регулируются договорами с брокерами, которые по историческим причинам могут несколько различаться, предлагаем Вам написать нам официальное письмо с указанием оснований владения Вами экземпляром ПО и уточнениями планируемых Вами действий. И мы направим Вам официальный ответ. Что касается API, то на данные момент политика нашей компании не предусматривает его раскрытие.
было, конечно, интересно услышать ответ от директора по развитию, особенно если учесть, что за 15 лет система QUIK так и не вышла на стабильный уровень, что подтверждается многочисленными сообщениями конечных пользователей на данном форуме о выявленных и продолжающих выявляться багах. ОК, тогда, в таком случае, последний вопрос: назовите объективные причины по которым вы не раскрываете API? Лично мне на ум приходит лишь то, что компания сама зарабатывает деньги на продаже плагинов и ни в коем случае не хочет делиться такой возможностью с другими пользователями - брокерами/независимыми разработчиками/конечными пользователями.
Для нас безусловно важно получать обратную связь от всех наших пользователей, включая Вас. В том числе и обратную связь в виде конструктивной критики. Насчет того, что нам есть над чем работать в смысле качестве, я с Вами соглашусь. Насчет отсутствия стабильности останусь при своем мнении, которое состоит в том, что все эти 15 лет на нашем софте успешно торгует существенная часть российского рынка. Это было бы невозможно на "нестабильном" ПО.
Что касается Вашего вопроса, то Ваше предположение неверно. Уже давно существует большое количество самых разных платных и бесплатных официальных интерфейсов к нашей системе. И ими пользуются тысячи людей. В том числе независимых разработчиков, некоторые из которых успешно зарабатывают на этом деньги.
Тем не менее, комментировать все детали того, почему в настоящий момент действует такое решение, я не буду. Если политика компании в этом вопросе изменится, мы публично проинформируем об этом всех пользователей.
Хотелось бы заострить внимание на таком вопросе: Средствами WinAPI с квиком можно сделать если не всё - то очень многое, благо теперь на это есть вполне законная основа - Ваш плагин QLUA вместе с его LUA/QLUA C API. Таким образом, вопрос: Каковы границы в программировании на LUA C API через которые нам, пользователям нельзя переходить? Ведь Вы, как компания - их даже для нас не обозначили? по пунктам:
Можно ли применять сабклассинг нативных окон квика: окно таблицы QTable, выводимое с помощью функции QLUA CreateWindow
Обращение к секции экспорта квика - файл: info.exe - с целью использования его функций.
С точки зрения получения доступа к данным Рабочего Места QUIK, а также вызова его внутренних функций и интерфейсов, скрипту на языке LUA разрешается использовать только методы явно описанные в документации на Рабочее Место QUIK. Это замечание распространяется на все вызовы, осуществляемые не только из самого скрипта LUA, но также из загружаемых скриптом библиотек.
спасибо за ответ но, требуется уточнение: с данными - более менее понятно. а что касается управления окнами квика средствами WinAPI? И что насчёт сабклассинга окон создаваемых скриптом? (насчёт сабклассинга - не заставляйте меня объяснять, что это такое)
Vitaly Skorobogatov пишет: Это замечание распространяется на все вызовы, осуществляемые не только из самого скрипта LUA, но также из загружаемых скриптом библиотек.
и последний вопрос, как в таком случае быть если сами разработчики порой советуют ту или иную lua-библиотеку для нетривиального получения и передачи данных: использование pipe, сокетов и т. д. - ведь это тоже нигде не указано в документации?
Vitaly Skorobogatov пишет: С точки зрения получения доступа к данным Рабочего Места QUIK, а также вызова его внутренних функций и интерфейсов, скрипту на языке LUA разрешается использовать только методы явно описанные в документации на Рабочее Место QUIK. Это замечание распространяется на все вызовы, осуществляемые не только из самого скрипта LUA, но также из загружаемых скриптом библиотек.
похоже - они и сами всё прекрасно поняли - и из-за этого, теперь пишут такие приписки:
Цитата
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
если всё сделать так, как нам тут только что предложили - то стандартную библиотеку lua, также входящую в QLUA - "require" - можно смело отключать/выбрасывать - ведь она тоже явно не указана в документации по QLUA Однако, весьма хорошо прописана в самой LUA. И если эту библиотеку "изъять" из QLUA - в плане полезности для квика - стремительно упадёт к нулю.
В общем, господа, прошу Вас более детально и чётко всё обозначить и прокомментировать. И,... прописать в документации в таком случае, что можно, а что нет.
Vitaly Skorobogatov пишет: С точки зрения получения доступа к данным Рабочего Места QUIK, а также вызова его внутренних функций и интерфейсов, скрипту на языке LUA разрешается использовать только методы явно описанные в документации на Рабочее Место QUIK. Это замечание распространяется на все вызовы, осуществляемые не только из самого скрипта LUA, но также из загружаемых скриптом библиотек .
Vitaly Skorobogatov пишет: С точки зрения получения доступа к данным Рабочего Места QUIK, а также вызова его внутренних функций и интерфейсов, скрипту на языке LUA разрешается использовать только методы явно описанные в документации на Рабочее Место QUIK. Это замечание распространяется на все вызовы, осуществляемые не только из самого скрипта LUA, но также из загружаемых скриптом библиотек .
Есть не малая разница между "доступом к данным" и вызовом Ctrl+C. И смешивать эти понятия совсем не правильно
Также следует уточнить что в указанном посте, речь шла о копировании данных из Qlua таблицы в буфер обмена Windows, но не в коем случае не о копировании данных из таблиц терминала Quik и уж тем более не о доступе к данным напрямую.