Использование MySql из .Net - проблемы лицензирования

Я работаю над проектом и пытаюсь определить, какую платформу использовать. Прямо сейчас мой первый выбор - использовать ASP.Net MVC с базой данных MySql. Меня беспокоит то, что драйверы MySql имеют лицензию GPL. Я создаю это для компании, поэтому это не может быть проект с открытым исходным кодом. Вот вопросы, которые у меня есть:

  1. Если я использую драйверы MySql с лицензией GPL, нужно ли делать все приложение с открытым исходным кодом?
  2. Кто-нибудь знает о каких-либо других драйверах MySql с менее строгой лицензией?
  3. PostgreSql имеет лицензию LGPL, и я считаю, что все в порядке, но я не могу найти никаких хостинговых сайтов, на которых есть ASP.Net и PostgreSql. Кто-нибудь знает какие-либо дешевые планы хостинга (предпочтительно 10-20 долларов в месяц), которые предлагают оба варианта?
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
7
0
868
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Я не юрист, но сначала MySQL - это движок базы данных. Таким образом, вам не нужно выпускать свой проект OpenSource, потому что вы помещаете в него данные.

Если вам нужно обновить драйвер в соответствии с вашими потребностями, вам нужно будет поместить эту модификацию под лицензию GPL.

Вы не можете использовать клиентскую библиотеку MySQL GPL для коммерческого продукта, ее можно использовать только для проектов с открытым исходным кодом. MySQL предлагает ту же клиентскую библиотеку по коммерческой лицензии за разумную плату, которую вы можете использовать для своих целей, вы можете узнать больше о коммерческой лицензии здесь.

Есть ли технические / политические причины, по которым вам нужно использовать MySQL или PostgreSQL? Причина, по которой я спрашиваю, заключается в том, что в вашем целевом ценовом диапазоне есть хосты ASP.NET, которые обеспечивают доступ к базе данных SQL Server. Серверный Интеллект имеет тарифный план в размере 15 долларов в месяц, который включает 250 МБ пространства для базы данных SQL (примечание: хотя я использую Server Intellect в качестве хостинг-провайдера, у меня нет никаких других отношений с ними, и я не получаю никакой выгоды от вашего выбора их использования).

Я прочитал GPL (2.0) ссылка на странице Коннектор MySQL .NET, и мне не совсем понятно, какое влияние это окажет при использовании его как есть (без изменений) в веб-приложении. Раздел 2, кажется, применяется только в том случае, если вы изменяете драйвер ... Раздел 3, кажется, говорит, что вы можете использовать («распространять или публиковать») двоичный файл как есть, при условии, что вы также сделаете его (и исходный код) доступным.

Если вам НЕОБХОДИМО пойти по пути MySQL, было бы разумно проконсультироваться с экспертом / юристом по GPL.

@ Джефф-Донничи: Я определенно не исключаю использования SQL Server. Две причины, по которым я склоняюсь к MySql, заключаются в том, что 1) если он когда-либо станет слишком большим для провайдера общего хостинга, это будет намного дешевле и 2) мне нужно будет иметь возможность создавать несколько баз данных и из того, что я видели поставщиков виртуального хостинга, SQL Server ограничен 1 или 2 базами данных, в то время как они позволяют довольно много баз данных MySql.

Ответ принят как подходящий

Использование библиотек MySQL сделает вашу кодовую базу GPL-лицензией.

Если вы пишете код для нескольких клиентов, вы будете обязаны предоставить исходный код вашей системы ЭТИМ клиентам. Вы не обязаны по GPL открывать исходный код для широкой публики, вы просто не можете помешать кому-то другому сделать это.

Позвольте мне повторить это, поскольку люди действительно не совсем понимают этот момент. GPL обязывает вас как организацию, распространяющую программное обеспечение, предоставлять исходный код только тем организациям, которым вы фактически выпустили двоичный файл программного обеспечения. Если у вас есть отношения со мной, и я получаю копию вашего программного обеспечения (и в идеале я компенсирую вам это), а затем появляется Фрэнк с просьбой о программном обеспечении, вы НЕ обязаны давать (или продавать, или что-то еще) программное обеспечение Фрэнку. Это не что-то вроде «Кот из мешка».

Фрэнк мог бы прийти ко мне, и я могу отдать (продать, обменять) его ему, и вы не можете помешать мне сделать это, но у вас нет обязательств распространять программное обеспечение самостоятельно или поддерживать Фрэнка. Поскольку я вполне могу заниматься шинным бизнесом, распространение программного обеспечения на самом деле - не мое дело, поэтому маловероятно, что я буду размещать код в каком-нибудь общедоступном архиве.

Если проект предназначен для одного заказчика, они в любом случае могут иметь право на исходный код, так что GPL в этом случае, вероятно, не является проблемой.

Если у вас есть авторские права на код, вы всегда можете изменить лицензию на будущую версию. Итак, если вы решите больше не использовать MySQL позже, вы можете «отменить GPL» следующий выпуск и использовать другую лицензию, однако вы не можете «отменить GPL» любое выпущенное программное обеспечение.

Для нестандартного вертикального программного обеспечения GPL действительно не является проблемой, поскольку большинство компаний просто не занимаются распространением программного обеспечения, и как поставщик вы не обязаны поддерживать кого-либо, кроме своих реальных клиентов, а не тех, кого они могут иметь. учитывая исходный код тоже. Основное беспокойство вызывает коммерческая тайна и т. д.

Другое дело, конечно, софт для массового рынка.

Одно исправление: использование свободно доступных (GPL) драйверов MySQL сделает вашу кодовую базу GPL доступной. Использование коммерческих - нет. Я не уверен в механике, если вы доставляете программное обеспечение, а самого клиента просят предоставить драйвер базы данных, который в основном может быть любым поставщиком и любой лицензией.

Olaf Kock 11.11.2008 19:27

Эта интерпретация GPL неверна. Использование драйвера под лицензией GPL не дает лицензии на использование вашей собственной кодовой базы. По этой логике размещение веб-приложений в Apache или запуск вашего приложения в Linux также вынудит вас перейти на GPL. GPL просто запрещает людям использовать драйверы MySQL, улучшать их, а затем не делать эти улучшения доступными.

krohrbaugh 08.07.2009 06:38

Вы ошибаетесь. Apache вообще не является лицензией GPL, поэтому на него не распространяется. Linux полагается на библиотеки LGPL C, и это тоже не применимо. Связывание кода GPL с вашей базой кода создает производную работу, а GPL предоставляет все это целиком. В противном случае нам не понадобилось бы что-то вроде LGPL.

Will Hartung 10.07.2009 01:06

Насколько я понимаю, если вы не изменяете, не модифицируете или не изменяете библиотеки под GPL, а используете их только так, как они есть, остальная часть вашего кода не подпадет под GPL. Теперь, если вы распространяете приложение, вам нужно будет предоставить доступ к лицензии для библиотек и доступ к источнику библиотек, которые вы использовали. Но все остальное ваше и лицензируйте как хотите.

Другие вопросы по теме