Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Если кто-то так же запутан в лицензиях на программное обеспечение, как я был, вот как я их вижу сейчас. Лицензии на программное обеспечение контролируют, что люди могут делать с вашим кодом.
Лицензия MIT позволяет людям делать все что угодно. Скажем, вы создаете библиотеку для парсинга JSON с лицензией MIT. Стартап может взять ваш код, изменить его и продать как часть своего платного API-сервиса, не отдав вам ничего взамен. Им просто нужно сохранить ваше уведомление о авторских правах в комментариях к коду. React использует MIT, поэтому Facebook мог бы сделать его проприетарным, но они выбрали оставить его открытым. Это лицензия "делай что хочешь".
GPL заставляет делиться. Представьте, что вы создаете веб-фреймворк под GPL. Если кто-то изменяет ваш фреймворк, чтобы добавить новые функции, они должны выпустить эти изменения также под GPL. Они не могут продать проприетарную версию. WordPress использует GPL, поэтому все темы и плагины WordPress также должны быть GPL. Если вы создаете коммерческую CMS на основе WordPress, ваша вся CMS становится GPL. Это сохраняет все в открытом исходном коде.
Apache 2.0 лучше справляется с патентами. Вы пишете библиотеку машинного обучения, и кто-то вносит алгоритм. Позже они пытаются подать в суд на пользователей за нарушение патента на этот алгоритм. С лицензией Apache они автоматически теряют свои права на использование вашей библиотеки. Это защита от патентных троллей. Kubernetes использует Apache 2.0, потому что облачные компании беспокоятся о патентных вопросах.
BSD по сути является MIT с другими словами. Вы создаете сетевую библиотеку под BSD. Те же правила, что и MIT, люди могут делать все что угодно. FreeBSD использует это, поэтому Apple могла взять код BSD и вставить его в macOS, не выпуская исходный код macOS. Большинство разработчиков сейчас просто используют MIT, потому что это яснее.
LGPL — это GPL для библиотек. Вы создаете библиотеку для генерации PDF под LGPL. Компании могут использовать вашу библиотеку в своем проприетарном программном обеспечении, не делая свое приложение LGPL. Но если они изменяют код вашей библиотеки, эти изменения должны быть LGPL. VLC media player использует LGPL, чтобы другие приложения могли включать воспроизведение видео, не становясь GPL.
Проприетарное означает, что вы контролируете все. Вы создаете движок базы данных и держите его проприетарным. Компании платят вам лицензионные сборы за его использование. Они не могут видеть исходный код, не могут изменять его, не могут перераспределять его. Oracle Database работает таким образом. Вы зарабатываете на лицензировании, но ограничиваете, кто может его использовать.
Двойное лицензирование дает варианты. Вы выпускаете базу данных под лицензиями GPL и коммерческой лицензией. Проекты с открытым исходным кодом используют версию GPL бесплатно. Компании, которые не хотят ограничений GPL, платят за коммерческую лицензию. MySQL делает это. Стартапы используют бесплатный MySQL, крупные компании часто покупают коммерческие лицензии.
Общественное достояние отказывается от всех прав. Вы создаете хеш-функцию и помещаете ее в общественное достояние. Любой может делать с ней что угодно, никаких ограничений, никакой атрибуции не требуется. SQLite делает это. Государственные учреждения любят это, потому что нет юридических рисков.
Создаете библиотеку, которую хотите, чтобы все использовали? Выбирайте MIT. Хотите гарантировать, что улучшения вернутся в сообщество? Используйте GPL. Беспокоитесь о патентах в корпоративном программном обеспечении? Выбирайте Apache. Строите бизнес вокруг вашего кода? Оставайтесь проприетарным. Хотите максимальную свободу для пользователей? Попробуйте общественное достояние.
Ключ в том, чтобы сопоставить ваши цели с ограничениями лицензии. Не просто копируйте то, что делают другие проекты, не понимая, почему они выбрали эту лицензию.
22,32K
Топ
Рейтинг
Избранное