Совсем недавно из открытых источников стало известно, что в компании «Яндекс» произошел скандал: один из сотрудников компании похитил исходный код и алгоритмы ее основного сервиса — «Яндекс.Поиск». Как сообщили СМИ «Интеллектуальную собственность стоимостью в несколько миллиардов рублей он пытался продать за $25 тыс. и 250 тыс. руб., которые планировал потратить на создание своего стартапа, но в момент сделки был арестован сотрудниками УФСБ России по Москве и Московской области»[1].
Действительно, исходный код как форма объективизации программы для ЭВМ, является ценнейшим активом компании, а также — объектом авторского права, подлежащим правовой охране. Исходный код (source code), по сути, представляет собой текст программы, выраженный на одном из языков программирования.
В силу того что исходный код как ядро программы представляет особую ценность, производители софта крайне редко предоставляют третьим лицам доступ к нему в целях сохранения максимального контроля над продуктом и защиты от его незаконной переработки.
Вопрос — ответ #4 — Как читать исходный код других программ? Зачем?
Как и любой иной объект авторского права ПО в виде исходного кода подлежит правовой защите уже в силу факта его создания разработчиком (автором). Никакой дополнительной регистрации не требуется.
Однако, если у производителя есть желание установить дополнительный механизм защиты исходного кода, то в таком случае есть возможность, например, распространить на исходный код режим коммерческой тайны, или ограничить доступ к нему как к конфиденциальной информации. Такие действия позволят говорить о том, что такой исходный код будет дополнительно охраняться еще и как секрет производства (ноу-хау) в силу неизвестности третьим лицам.
К сожалению, несмотря на вышеуказанные действия, мало что спасет компанию от случаев, когда конкурент переманивает ваших разработчиков/работников, вместе с которыми может «утечь» и исходный код, и информация о конкретном ноу-хау, и иная конфиденциальная информация.
Риск компании увеличивается еще и в связи с тем, что в России незаконны условия о неконкуренции по отношению к наемным работникам. Другими словами им нельзя запретить переход к другому, пусть даже конкурирующему, работодателю и установить за это санкции. Это обеспечивается, в первую очередь, ч. 1 ст. 37 Конституции РФ, устанавливающей, что труд свободен, каждый имеет право свободно распоряжаться своими способностями к труду (ст. 2 ТК РФ).
Так, например, аналогичный вопрос в прошлом году был предметом рассмотрения арбитражных судов Московского округа по делу А40-80777/2013 (http://kad.arbitr.ru/Card/0b7ebc67-34e9-4b0c-a62b-0b37f10733ba). Суть дела сводилась к следующему: между сторонами был заключен договор об оказании юридических услуг (истец – исполнитель по договору, ответчик – заказчик).
Один из пунктов договора запрещал использование заказчиком непосредственно труда работников исполнителя (по трудовому договору или договору об оказании услуг), без заключения договора с исполнителем. Условие о запрете использования труда работников исполнителя было нарушено заказчиком, что подтверждалось судебными актами с участием заказчика, где фигурировало имя одного из работников исполнителя. За нарушение этого условия была предусмотрена неустойка в 500 000 ₽. В итоге в иске было отказано, т.к. ответчик формально не переманивал работников истца, а пользовалось услугами другой консалтинговой компании, куда перешел работник. Более того, по встречному иску ответчика пункт договора, на который ссылался истец, был признан недействительным, т.к. он противоречил закону и нарушал вышеобозначенное конституционное право работника на труд (решение суда было оставлено в силе апелляционной и кассационной инстанциями).
Reverse engineering | Исходный код из исполняемого файла | ghidra
Кроме того, при возникновении подобных конфликтов важно знать, что увольнение работника за разглашение сведений, охраняемых коммерческой тайной (п. «в» ст. 81 ТК РФ) не применимо в случаях, когда выявлен именно факт сбора работником информации. Дело в том, что сбор и распространение это разные вещи.
В случае увольнения работника по такому основанию, последний может добиться признания его увольнения незаконным, т.к. основанием для увольнения может выступать только разглашение таких сведений. Более правильным решением, на мой взгляд, для работодателя было бы инициирование в отношении работника уголовного преследования именно за собирание такой информации, т.е. за промышленный шпионаж (ст. 183 УК РФ).
Также интересным является и то, что если работник отправляет секрет производства на внешний адрес электронной почты, который принадлежит самому сотруднику, то это не считается доказательством того, что информация, содержащаяся в отправленных документах, стала известна третьим лицам. Следовательно, такие действия не признаются разглашением и не являются основанием для увольнения работника – Определение Московского городского суда от 16.11.2011 по делу N 33-33814.
Какие еще меры защиты можно предпринять, чтобы снизить риск незаконного использования конфиденциальной информации, в том числе, исходного кода:
- технические меры (напр., защита от копирования электронных файлов, защита от скачивания, отчеты об использовании).
- подписание соглашения о неразглашении (NDA) с мерами ответственности с большими штрафами за разглашение.
- инициирование преследование по ст. 14.33 КоАП РФ (недобросовестная конкуренция) через ФАС России.
Источник: zakon.ru
как просмотреть исходный код программ (Python)
Здесь новичок в Python . Мне было интересно написать базовую программу обучения слепому набору текста на Python. Мне было интересно, как лучше всего загрузить исходный код написанных людьми приложений аналогичного характера (для использования в качестве руководства для обучения). я пошел в http://pypi.python.org/ и загрузил несколько пакетов, но я не совсем уверен, как просмотреть фактический код Python. Какой файл вы должны открыть. Я нашел в одном из них файл run.py, и, похоже, он даже не работает, когда я пытаюсь его запустить. Я уверен, что мне что-то здесь не хватает.
задан 25 мая ’11, 18:05
Bob Jarvis — Reinstate Monica
Просматривайте свои файлы в любимом текстовом редакторе. Мне нравится Notepad ++, но существует множество различных редакторов. — David Heffernan
Я не знаю, почему люди голосуют за его закрытие как «не настоящий вопрос». Нетрудно сказать, о чем здесь спрашивает OP. Конечно, это простой вопрос, но OP заметил, что он новичок. Просто дайте простой ответ и двигайтесь дальше. — abcd
3 ответы
Двойной щелчок по скрипту .py запустит скрипт (и может не отправлять на экран какие-либо полезные результаты). Чтобы просмотреть исходный код, вы можете открыть файл .py с помощью IDLE (который поставляется с Python) или даже с помощью Блокнота, хотя рекомендуется более продвинутый текстовый редактор или IDE. Видеть Есть ли хорошая бесплатная Python IDE для Windows? для рекомендаций IDE сообщества stackoverflow. Удачи и добро пожаловать в сообщество Python!
ответ дан 23 мая ’17, 13:05
a) Сценарии .py с двойным щелчком не выполняются в Linux б) Вероятно, он работает в Windows, но знаете ли вы? — Дхайват Пандья
Вы также можете использовать inspect для просмотра кода из интерпретатора. Скажем, ваш файл называется «test.py» и он находится на вашем PYTHONPATH (если вы не знаете, что это такое, убедитесь, что вы находитесь в том же каталоге, что и «test.py»).
>>> import inspect >>> import test # this imports test.py >>> print inspect.getsource(test) def hello(name): print(«Hello %s» % name)
Если бы вы использовали IPython , тогда вы также можете:
In [1]: import test In [2]: test??
Вы не можете редактировать код таким образом . но вы можете его просмотреть.
Источник: stackovergo.com
Как просмотреть и отредактировать исходный код приложения с открытым исходным кодом
Если вы ищете разработку программного обеспечения, то путь с открытым исходным кодом — один из лучших способов сделать это. Люди могут не только просматривать ваш открытый исходный код и вносить свои собственные исправления, но вам также предлагается взглянуть на код других людей, чтобы использовать его в качестве основы или вдохновения.
Хотя открытый исходный код может быть хорошим выбором, вам также нужно инвестировать в правильное сообщество. GitHub — одно из лучших мест для этого не только из-за большого количества пользователей, которые посещают сайт, но и из-за функций, которые предлагает GitHub. Если вы найдете приложение с открытым исходным кодом на GitHub, я покажу вам несколько вещей, которые вы можете сделать с ним, включая просмотр, редактирование и разветвление кода.
Завести аккаунт
Прежде чем начать использовать GitHub, лучше всего создать с ними учетную запись. Создание учетной записи бесплатно и позволит вам воспользоваться многочисленными функциями, такими как разветвление. GitHub также имеет различные уровни членства, помимо бесплатного, но бесплатной учетной записи должно быть более чем достаточно для личного использования.
Проверка проекта
Если у вас есть учетная запись, вы можете погрузиться прямо в приложение с открытым исходным кодом, найденное на GitHub. Здесь вы можете увидеть страницу проекта приложения, включая папки и файлы, относящиеся к приложению, сетевой график, список запросов на извлечение, открытые проблемы, вики и другие графики. Очевидно, что если вы хотите увидеть код в файлах, вы должны нажать на них, и вам будет представлен полный исходный код. Что касается интерпретации кода, вам нужно иметь некоторый опыт работы с языком программирования, на котором написано приложение, будь то Java, C ++, Python или что-то еще. Для тех, кто интересуется, скриншот показывает jcanvas Калеба Эвана
Форкинг проекта
Редактирование кода требует некоторых дополнительных шагов. Если вы хотите скопировать код, не разветвляя его официально на GitHub, вам необходимо загрузить файлы проекта, а затем отредактировать их локально на вашем компьютере. Однако, если вы действительно хотите использовать имеющийся в настоящее время источник и создать собственный проект с ним и двигаться в своем собственном направлении, вам захочется его раскошелиться. Форкинг может быть выполнен с помощью учетной записи и нажатием «Форк» на странице проекта, как показано на скриншоте. Следующие несколько инструкций предназначены для пользователей Linux, которые должны установить G Это пакет для их соответствующего распространения.
Если вы хотите получить файлы репозитория на свой компьютер, вам нужно будет выполнить команду git clone https://github.com/username/project_name.git , заменить имя пользователя вашим именем пользователя GitHub, а имя_проекта — именем проекта приложения, который вы только что разветвили. Запустите эту команду в папке, которая должна содержать все ваши проекты GitHub, поскольку каждая команда git clone создаст новую папку в той, в которой вы сейчас находитесь.
Это еще один способ загрузки файла проекта, поскольку он не требует учетных данных для входа. Теперь вы можете изменять файлы по своему усмотрению, используя любой текстовый редактор или IDE. Для пользователей Linux я бы порекомендовал Eclipse или Geany, поскольку они являются отличными редакторами программирования — Eclipse более полнофункциональный, а Geany более компактный. Пользователи Windows также могут использовать собственный клиент GitHub.
Загрузка изменений в ваш проект
После внесения изменений вы можете загрузить обновленные файлы обратно в GitHub с помощью команды мастер происхождения git push находясь внутри папки приложения. Это возвращает изменения обратно в указатель «origin» (ваш разветвленный проект) и главную ветвь (расположение исходного кода по умолчанию).
Отслеживание восходящего потока
Если вы хотите отслеживать вышестоящий проект (тот, который вы создали, чтобы создать свой собственный), то вам нужно добавить так называемый дополнительный пульт. По сути, это просто еще одно ключевое слово, которое вы можете использовать, находясь в папке вашего приложения. Чтобы создать новый пульт, выполните команду git remote добавить апстрим https://github.com/username/project_name.git , где имя пользователя должно быть заменено именем пользователя исходного проекта, а имя_проекта должно быть заменено именем проекта.
Объединение вышестоящих изменений
Если вы заметили, что вышестоящий проект был обновлен, и вы хотите включить изменения, вы можете запустить мерзавец тянуть вверх по течению после создания дополнительного пульта GitHub загрузит и объединит изменения из апстрима в файлы вашего проекта. Если после выполнения этой команды все работает отлично, вы можете сразу же запустить мастер происхождения git push подтолкнуть обновления к вашему собственному проекту.
Тянуть запросы
Если вы хотите внести свой вклад в основной проект, лучше всего внести любые изменения в ваш собственный форк проекта (или в свою собственную ветвь проекта верхнего уровня, но это только после того, как первоначальный автор примет специальные меры). После того, как вы добавили эти изменения в свой репозиторий, вы можете перейти на GitHub и отправить запрос на получение. Это уведомляет первоначального автора вышестоящего проекта о том, что вы хотите, чтобы он / она рассмотрел внесенные вами изменения и попросили их перенести ваши изменения в вышестоящий проект. Это обычная вежливость, по крайней мере, предлагать некоторые из ваших собственных модификаций обратно в основной проект, чтобы они могли поблагодарить вас за то, что вы подписали свой проект. Примут ли они ваш запрос, решать только им.
Заключение
GitHub — фантастический инструмент, который уже используют большое количество разработчиков с открытым исходным кодом. В то время как GitHub использует утилиту Git, которую каждый может настроить на своих собственных серверах, GitHub действительно включает в себя аспект развития сообщества, что является требованием в мире открытого исходного кода. Это введение должно помочь вам начать с основ. Если вы хотите узнать больше о реальном программировании, вы можете проверить эту статью на лучших сайтах, чтобы освежить в C ++
Вы использовали GitHub? Какая особенность вам нравится больше всего, о чем люди должны знать? Дайте нам знать об этом в комментариях!
Источник: helpexe.ru