Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).
Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
Что такое лицензирование?
В двух словах: лицензирование даёт определённые полномочия сторонним лицам на использование вашего продукта.
Лицензирование является прекрасной альтернативой простой передаче продукта в общественное достояние или предоставлению разрешения в каждом конкретном случае. Выпустив на публику свой продукт, вы лишаетесь всех прав на него и никто вам ничем не обязан. В особо клинических случаях этот шаг чреват судебными тяжбами, если ваша программа причинила кому-то вред. А во втором случае, вы будете тратить больше времени на выдачу разрешений, чем на саму разработку.
Inno Setup. Как создать свой установщик ?
Лицензии open-source предоставляют людям возможность внести свой вклад в проект не спрашивая ни у кого специального разрешения. Они также защищают вас как автора, что гарантирует хотя бы наличие вашего имени в списках разработчиков. Это также обезопасит вашу работу от кражи другими лицами.
GNU General Public License
Лицензия GNU GPL одна из самых часто используемых лицензий для open-source проектов. GPL гарантирует широкий диапазон прав разработчикам, которые работают над открытыми проектами. Она позволяет пользователям легально копировать, распространять и модифицировать ПО. Это означает, что вы можете:
Копировать программное обеспечение.
Копировать на свои серверы, на серверы клиентов, на собственный компьютер, да и вообще куда угодно. Также нет никаких ограничений на количество сделанных копий.
Распространять программное обеспечение по своему усмотрению.
Можете сделать прямую ссылку на своём сайте. Можете записывать на болванки и дарить друзьям. Можете распечатать исходники программы, сделать из них самолётики и пускать с крыши дома.
Зарабатывать на распространении программного обеспечения.
Если вы хотите продавать бесплатное ПО – нет проблем. Но вы обязаны приложить к нему лицензию GPL, в которой разъясняется тот факт, что это ПО вообще-то бесплатное. Многие зарабатывают на технической поддержке, почтовой рассылке дисков и т.п.
Делать какие угодно модификации ПО.
Если вы хотите добавить или убрать какой-то функционал программы – нет никаких преград для этого. Если вы хотите использовать часть кода в своём проекте, вы имеете на это право. Условие состоит лишь в том, что проекты, основанные на GPL должны и дальше распространяться под этой лицензией.
C# — Как сделать лицензию для программы по железу (Часть 1)
Использовать GPL очень легко. Необходимо лишь внести необходимую информацию в исходный код своей программы и приложить к нему копию GPL.
GNU Lesser General Public License
От GNU появилось много производных лицензий. Самая популярная из них – LGPL. Она даёт несколько больше прав, чем стандартная GPL. Обычно используется для лицензирования библиотек, которым нужно работать в связке с не-GPL и с не-открытыми программами.
Так как GPL требует, чтобы ПО с участками GPL также распространялось под GPL, разработчики не могут использовать код под GPL-лицензией для разработки проприетарного коммерческого ПО. LGPL даёт такое право.
Лицензия BSD
Существует целое семейство BSD-лицензий, которые накладывают гораздо меньше ограничений на распространение продукта, чем строгая GPL. Среди всей палитры BSD-лицензий, существуют 2 наиболее используемые: New BSD/Modified BSD и Simplified BSD/FreeBSD. Обе GPL-совместимы и одобрены в качестве свободных лицензий влиятельной организацией Open Source Initiative.
Лицензия New BSD разрешает неограниченное распространение с любой целью, не даёт никаких гарантий и не несёт никакой ответственности. Лицензия содержит также положение, ограничивающее использование имён участников проекта для подтверждения работы без специального разрешения. Говоря нормальным языком, “делайте с кодом что хотите, но не говорите, что это вы его написали”. Основное различие между New BSD и Simplified BSD в том, что последняя не включает в себя пункт этого “специального разрешения”.
MIT License
Лицензия MIT, наверное, самая короткая и самая обобщённая из всех популярных лицензий open-source. Её положения более либеральны, чем в других лицензиях. Основные положения выглядят следующим образом:
Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми “Программное Обеспечение”), использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Вышеупомянутый копирайт и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
Что всё это значит:
Вы можете использовать, копировать и модифицировать программное обеспечение как вам угодно. Никто не может препятствовать вам использовать такое ПО в своих проектах, копировать столько раз, сколько нужно и модифицировать так, как вы хотите.
Вы можете предоставлять своё ПО бесплатно, а можете и продавать его. Нет никаких ограничений по этому поводу. Единственное ограничение состоит в том, что ваше ПО должно сопровождаться лицензионным соглашением.
Проще говоря, каждый может делать всё, что нужно до тех пор, пока продукт сопровождается лицензией.
Лицензия Apache
Лицензия Apache, версия 2.0, даёт набор чётких прав. Эти права могут быть применимы как к копирайтам, так и к патентам. Так как многие лицензии могут быть применимы только к копирайтам или только к патентам, гибкость лицензии Apache имеет в определённых случаях очевидное преимущество.
Вот основные положения:
Права вечны Как только они вам предоставлены, вы можете использовать их всегда.
Права глобальны Если права выданы в одной стране, то они распространяются и во всех других странах. Например, если вы живёте в США, а оригинальная лицензия была выдана в Индии, вы всё равно не ограничены в использовании кода (ничего не могу сказать про Украину, Россию и Белоруссию, у нас всё очень зыбко).
Права дарованы безвозмездно Плата за пользование ни в коем случае не взимается.
Права не эксклюзивны Вы можете использовать работу, как и любой другой.
Права неотъемлемы Никто не может отобрать у вас права. Другими словами, вам не стоит беспокоится о том, что однажды, создав некий потрясающий код, кто-то скажет вам: “Извини, но ты больше не можешь его видеть”.
У распространения кода также есть специальные требования, в основном они касаются упоминания имён разработчиков.
Creative Commons
Лицензия Creative Commons (CC) не совсем open-source лицензия, так как она обычно используется в мультимедиа и дизайн-проектах. Существует широкое множество CC-лицензий и каждая из них даёт определённые права. У CC есть 4 основных положения, которые могут быть использованы по одиночке или в комбинации друг с другом. Вот они:
Атрибуция (указание авторства) – BY
Эта лицензия позволяет другим распространять, перерабатывать, исправлять и развивать произведение, даже в коммерческих целях, при условии указания автора произведения. Это наиболее свободная лицензия, с точки зрения того, что могут делать с произведением пользователи.
Эта лицензия позволяет другим модифицировать, исправлять и развивать произведение даже в коммерческих целях при условии указания авторства и лицензирования производных работ на аналогичных условиях.
Некоммерческое использование – NC
Работа может модифицироваться, распространятся и т.д., но только для некоммерческих нужд. Понятия “коммерческий” и “некоммерческий” немного расплывчаты. Например, некоторые могут интерпретировать “некоммерческий” как синоним фразы “не для продажи”. Другие могут могут предположить, что они не имеют права на использование даже там, где просто есть реклама. В общем, “коммерческий” означает какую-либо материальную выгоду.
Без производных – ND
Это значит, что вы можете копировать и распространять лицензированную работу, но не имеете права модифицировать её или создавать собственные работы на основе оригинала.
Как уже было сказано, эти составляющие можно комбинировать. Наиболее жёсткая лицензия — “С указанием авторства – Некоммерческая – Без производных” (BY-NC-ND). Это наиболее хороший вариант для того, чтобы освободить свою работу, но сохранить над ней контроль. А наименее жёсткая лицензия — “С указание авторства” (BY) означает, что люди могут использовать вашу работу до тех пор, пока указывают ваше авторство.
Лицензии CC разработаны для дизайнерской работы, а не для разработки ПО, но ничто не мешает использовать её в обеих случаях. Просто внимательно пройдитесь по всем пунктам и выберите то, что вам по душе.
P.S.
Вот шесть наиболее часто используемых лицензий мира open-source. На самом деле их намного больше, некоторые источники уверяют, что около 60-ти. Многие практически дублируют друг друга с некоторыми небольшими оговорками, что создаёт сложности в их выборе и использовании. Open Source Initiative работает над тем, чтобы сократить их количество до приемлемого.
Я же считаю, что на все случаи жизни хватило бы и четырёх: GPL, LGPL, BSD и CC. Рекомендую вам более подробно ознакомиться с каждой из них, а если вы заинтересовались использовать эти лицензии в своём бизнесе, как это делают IBM, Google и сотни других крупных компаний, обязательно проконсультируйтесь со своим юристом. В постсоветских странах, насколько мне известно, нет никакой правовой защиты open-source лицензий, по крайней мере не было ни одного судебного прецедента. С другой стороны, юристы OSI (Open Source Initiative) гарантируют защиту ваших прав по каждой из указанных лицензий.
Поправка от tarzanasg:
«Некоммерческое использование – NC» и «Без производных – ND» к open source не относятся. Применение этих условий делает лицензию и тексты с медиафайлами собственническими.
Источник: licenseit.ru
Чтобы больше заработать сделай свое ПО лицензионным
Создавая свое первое коммерческое приложение, я стал задумываться о системе, которая защитит его от несанкционированного копирования, и косвенно поможет мне контролировать его продажи. Сам я программист и не имею опыта в продажах, и на этапе распространения ПО, хотел привлекать для этого специально обученных людей.
Для этого я разработал для своего ПО специальную систему лицензирования. Как выяснилось мне позже, Ваше ПО после создания никто продвигать не будет, пока оно не станет известным и без ошибок работающим. Так что надо учиться продавать так же хорошо, как и программировать. А система лицензирования – она осталась, и надеюсь, в будущем она еще сыграет свою роль в распространении ПО.
В общем, я и хочу поведать о системе лицензирования, которую я разработал для своего ПО. Вдруг какие-то идеи пригодятся кому-то для того чтобы получать больше денежек за свои приложения. Эта система не претендует за абсолютно защищенную, но это очень хорошая защита от дурака.
Давайте не будем делать из себя ангелочков и меценатов. Все программисты хотят получать достойный денежный эквивалент за свои программы.
Т.е. цели при создании системы лицензирования были такими:
1. Контроль установки ПО, бесплатного и не бесплатного
2. Возможность сделать ПО внезапно платным
3. Контроль функционала ПО
Тех. задание от самого себя самому себе ставилось такое:
4. ПО не должно работать не получив ключа активации
5. Ключ активации не должен храниться в дистрибутивах ПО и его нельзя просто вычислить (вычислить можно, но не просто)
6. ПО не должно запускаться, если его «пропатчить»
7. Ключ активации должен быть привязан только к одному работающему экземпляру ПО
8. Возможность менять ключи активации после обновления ПО
9. Возможность ограничивать действие ключа активации по времени
10. Ключ активации должен нести информацию об задействованных модулях в программе.
Сразу оговорюсь, что ПО, для которой разрабатывалась система лицензирования – программа для продаж. В ней используется СУБД MS SQL. Распространять это программное обеспечение планируется через интернет, как бесплатную версию и через продавцов за деньги. В бесплатной версии предполагается отключать некоторый функционал, и если клиент решает использовать полную версию, то он может ее приобрести.
Через некоторое время общая схема работы системы лицензирования стала такова:

Все начинается с того что пользователь получает ПО. ПО можно получить, загрузив его с сайта программы. Далее устанавливает его на своем сервере СУБД и рабочих станциях. После установки программа не запускается, а просит ввести ключ активации.
Вообще активация может выполняться двумя способами:
1. Активации ПО как бесплатного
2. Активация ПО, полученного через продавца
Прежде чем описать шаги по активации ПО, кратко опишу, как его сначала подготовить.
Перед тем как создать дистрибутив и начать распространять ПО, после компиляции в его бинарный файл и базу данных вносятся изменения и дополнительная информация. Это прежде всего версия ПО, и разрешения на запуск некоторых модулей. Так же шифруются критически важные для работы участки кода. Ключ шифрования известен только поставщику ПО, который создал релиз.


Ну а теперь сама активация. Механизм активации таков:
1. Клиент получает ПО
2. Установка ПО
3. Первый запуск ПО
4. Получение регистрационного кода программы
5. Получение кода активации
6. Перезапуск программы
Но для получения кода активации нужно регистрационный код программы сначала передать поставщику ПО. Код активации можно получить как с сервера активации, который расположен в интернете, так и вручную, связавшись с поставщиком ПО по почте или телефону.

По регистрационному коду программы создается код активации. Для этого исходными данными для получения кода активации служат переданные через регистрационный код: Релиз программы, номер жесткого диска или сетевой карты, ИД базы данных.
Так же для создания кода активации необходим ключ шифрования ПО. При активации как бесплатного ПО, через интернет, ключ шифрования «зашивается» в код активации через механизмы на сервере активации.
Если клиент получает код активации через продавца, то продавец потом запрашивает его у вас (т.е. поставщика ПО), чтобы потом передать его клиенту. Для одного приложения у меня процесс получения кода активации через продавца так же был автоматизирован. На каждого продавца в системе лицензирования заводился аккаунт, где он мог получать коды активации для ПО.
Здесь изображен интерфейс приложения, которое генерирует коды активации:

Интерфейс получения кода активации через интернет с ограничением функционала:

В полученном коде активации содержится ключ, по которому зашифрованы критически важные участки кода. Как только код активации попадает в базу данных программы, она начинает работать.
Вроде как идея проста, но реализовать это все оказалось немного сложнее, чем я рассчитывал. Особенно, наверное, потому что при реализации серверной части системы лицензирования мне пришлось познакомиться с особенностями создания расширений для PHP, «прокачаться» в программирование на Си, да и вообще узнать, что такое Unix платформа поближе (у хостинга, где размещается система лицензирования установлена FreeBSD). Это волшебный мир… Выбор в сторону Unix был сделан по экономическим соображениям. Хоститься на юниксе дешевле в 15 раз, чем на виндовс. Сервер стоит, и кушать не просит.
В системе лицензирования использовались библиотеки OpenSSL. Без шифрования никуда.
Это мой первый пост на хабре. Если у народа возникнут более конкретные технические вопросы по этой системе лицензирования, то я с удовольствием на них постараюсь ответить.
Всем побольше работающих приложений и побольше денюшек.
Спасибо за внимание.
- Разработка веб-сайтов
- Программирование
Источник: habr.com
Лицензирование программ
Лицензирование программ это комплекс юридических действий, направленных на передачу прав на использование сущностей (объектов и процессов) из сферы программного обеспечения, имеющих правовую защиту, оформленную тем или иным образом.
Права на использование обычно именуются «лицензией», действия по передаче этих прав — «лицензированием», документ, оформляющий передачу — «лицензионным договором», а средства, уплачиваемые за приобретаемые права — «лицензионными платежами».
Во многих случаях, в частности в случаях, когда правовая защита передаваемых сущностей была оформлена государственной регистрацией, государственная регистрация требуется и для их лицензирования, при этом без такой регистрации сделка лицензирования признаётся недействительной.
В силу того, что сами сущности (объекты и процессы) из сферы программного обеспечения, и методы их защиты могут быть самыми разнообразными, самыми разнообразными могут быть и способы оформления лицензионной передачи прав на использование этих сущностей.
Это разнообразие приводит к тому, что количество вариантов «лицензий» — исчисляется не десятками, а как минимум сотнями.
К сожалению, подавляющее большинство российских IT-специалистов имеют весьма смутные представления о данном предмете.
По этой причине рассмотрим его более подробно.
Лицензирование «внешних» объектов
Если взять в руки коробку, например с операционной системой Windows, то на этой коробке можно увидеть следующие объекты и знаки их защиты:
Trade name
Надпись «Microsoft».
Это — «Trade name», — фирменное наименование компании-изготовителя.
Фирменное наименование защищается при регистрации компании, и даёт приоритет при рассмотрении споров, например по сходным доменным именам.
Напрямую фирменное наименование передавать (лицензировать) нельзя, но его можно указывать, например, при осуществлении совместной деятельности («Изготовлено для Microsoft», «Партнёр Microsoft», «Авторизованный дилер Microsoft» и т.д.).
Использование фирменного наименования оформляется соответствующим контрактом.
Word trade mark
Надпись «Windows ®».
Это — «Word trade mark» — словесная торговая марка.
Словесная торговая марка защищается регистрацией в специализированных органах (Роспатент, USPTO), и даёт приоритет при рассмотрении споров, например по сходным доменным именам.
Напрямую словесную торговую марку передавать (лицензировать) нельзя, но её можно использовать при осуществлении совместной деятельности на рынке (например «Совместимо с Windows», «Разработано для Windows», и т.д.).
Использование словесной торговой марки оформляется соответствующим контрактом.
Контракт подлежит регистрации в органе, где словесная торговая марка была зарегистрирована.
Без регистрации контракта сделка лицензирования считается недействительной.
Graphic trade mark
Значок: Это — «Graphic trade mark», — графическая торговая марка.
Причём в данном конкретном случае — графическая торговая марка не просто продукта, а его 8-й версии.
Версия «ХР» продукта — имеет графическую торговую марку: , а вся серия продуктов графическую торговую марку в виде окна с 4 долями в тех или иных вариациях. (см. Microsoft trade mark №2970750)
Графическая торговая марка защищается регистрацией в специализированных органах (Роспатент, USPTO), и даёт приоритет при рассмотрении споров, например по сходным изображениям.
Так же, как и словесная торговая марка (а часто совместно с ней) графическая торговая марка может использоваться при осуществлении совместной деятельности, например:
+ «Совместимо с Windows 8» , или + «Разработано для Windows 8», и т.д.
Использование графической торговой марки оформляется соответствующим контрактом.
Контракт подлежит регистрации в органе, где графическая торговая марка была зарегистрирована.
Без регистрации контракта сделка лицензирования считается недействительной.
Design patent
Надпись «Patented № Dхххххх».
Это — «Design patent», — индустриальный дизайн (промышленный образец), в данном случае — упаковки.
Индустриальный дизайн защищается регистрацией в специализированных органах (Роспатент, USPTO), и даёт приоритет при рассмотрении споров, например по изделиям сходного внешнего вида.
Индустриальный дизайн упаковки может лицензироваться напрямую, по контракту (если не вводит в заблуждение потребителей).
Использование индустриального дизайна оформляется соответствующим контрактом.
Контракт подлежит регистрации в органе, где индустриальный дизайн был зарегистрирован.
Без регистрации контракта сделка лицензирования считается недействительной.
Trade dress
Надпись «Corporate style», или ей подобная.
Это — «Trade dress», — фирменный стиль.
Фирменный стиль защищается регистрацией в специализированных органах (Роспатент, USPTO), и даёт приоритет при рассмотрении споров, например по изделиям сходного внешнего вида.
Использование фирменного стиля может лицензироваться напрямую по контракту (если не вводит в заблуждение потребителей).
Контракт подлежит регистрации в органе, где фирменный стиль был зарегистрирован.
Без регистрации контракта сделка лицензирования считается недействительной.
Copyright
Utility patent
Надпись «Patented № ххххххх».
Это — «Utility patent», — знак патентной защиты.
Если надпись стоит на коробке, то, скорее всего патентная защита относится к конструкции упаковки (например, устройство клапана контроля целостности, полоски для облегчения открывания, конструкции блистера и т.д.).
Статус объекта патентной охраны присваивается регистрацией в специализированных органах (Роспатент, ЕРО, USPTO).
Использование запатентованного решения оформляется соответствующим контрактом.
Контракт подлежит регистрации в органе, где патент был выдан.
Без регистрации контракта сделка лицензирования считается недействительной.
Лицензирование «внутренних» объектов
Если коробку открыть и достать оттуда DVD с программным продуктом, то на нём, — можно увидеть аналогичные надписи и обозначения, имеющие аналогичную смысловую нагрузку.
После запуска программы, и начала взаимодействия с ней, можно столкнуться со следующими сущностями, имеющими следующие режимы защиты:
Элементы интерфейса
- Trade name (фирменное наименование)
- Word trade mark (словесная торговая марка)
- Graphic trade mark (графическая торговая марка)
- Design patent (индустриальный дизайн (промышленный образец))
- Copyright (объект авторского права)
- Utility patent (изобретение) (при наличии в интерфейсе новых и уникальных решений)
Код программы
В общем случае код является текстом, и имеет защиту вида Copyright (объект авторского права).
В особых случаях (см. «патент на код») код может иметь статус Utility patent (изобретение).
Алгоритмы работы
Алгоритмы, а также способы работы программы могут иметь защиту вида Utility patent (изобретение).
Реализуемый функционал
Внешний функционал может реализовывать игру, обучение, диагностику, управление и т.д., и иметь защиту вида Utility patent (изобретение).
Привязку к устройству
Жёсткая привязка программы к исполняющему устройству имеет защиту вида Utility patent (изобретение).
Способы защита и лицензирования всех этих сущностей — были описаны ранее.
Повторим, что все сущности друг от друга полностью независимы, поэтому и защищаются и лицензируются независимо друг от друга.
То есть в случае необходимости лицензирования трёх объектов — необходимо три лицензионных договора.
Пользовательские лицензии
В программных продуктах уровня Windows количество реально защищённых объектов измеряется тысячами.
Должным образом оформлять и регистрировать полный пакет лицензионных контрактов на все эти объекты при продаже одного DVD каждому пользователю — невозможно чисто физически.
В подобных случаях применяется механизм т.н. «обёрточной лицензии».
Он состоит в том, что компания — собственник программного продукта на упаковке продукта, или при его инсталляции указывает кто, где, как, когда, на каких условиях и для каких целей может этот продукт использовать.
Открывая коробку, или ставя галочку «принять» при инсталляции продукта пользователь тем самым явно заявляет, что с этими условиями он соглашается (акцептует оферту).
Подобное оформление — аналогично оформлению физическими лицами устных (бездокументарных) сделок небольшой стоимости (покупка продуктов питания в торговых точках, мелкий бытовой подряд, оплата поездки в общественном транспорте и т.д.).
Открытые пользовательские лицензии достаточно удобны и затруднений, как правило, не вызывают.
Образцы и примеры текстов таких лицензий без труда можно найти в интернете.
Обычные лицензии
Для целей массово распространения потребительских продуктов низкой стоимости, способ лицензирования через открытые пользовательские лицензии можно считать вполне приемлемым.
Однако при продаже или лицензировании защищённых объектов имеющих значительную стоимость и/или важность, необходимо полное оформление обычных стандартных лицензионных соглашений, предусмотренных для соответствующих сущностей и режимов их защиты (см. выше).
Это аналогично тому, как для физических лиц осуществляющих сделки на существенные суммы (купля-продажа недвижимости или транспортных средств) — необходимо оформление полного стандартного пакета документов, и регистрация такой сделки в государственном органе.
Лицензирования программ оформляемое полным документальным образом — должно определять объекты лицензирования, объём передаваемых прав, территорию, сроки и условия использования, права лицензиара на использование, права на производимые усовершенствования, и т.д. и т.п.
Реальные лицензионные соглашения могут быть достаточно подробными и содержать несколько десятков страниц.
Подобные примеры и образцы лицензий достаточно широко представлены в интернете, и при должном внимании и старании на их основе и из их материала можно скомпоновать достаточно качественные документы.
Лицензирование программ и SoftPatent
- Устройств
- Способов
- Алгоритмов
- Интерфейсов
- Кода
- Игр
- Internet-решений
Источник: www.softpatent.ru