Firebird не имеет никаких юридических или искусственных технических ограничений по использованию.
MySQL
MySQL — первая база данных с открытым кодом, на которой ее создателю, компании MySQL AB, удалось-таки заработать деньги (любой OpenSource-проект финансируется либо спонсорами, как Firebird и PostgreSQL, либо живет за счет продажи услуг и платных лицензий, как MySQL). Это, по утверждению ее PR-службы, самая быстрая в мире СУБД (при определенных условиях, естественно), ее использует NASA (вернее, на ней построены несколько сайтов агентства) и большинство динамических сайтов (а вот это сущая правда).
У MySQL существует два вида лицензий — Commercial и GPL (community edition). По лицензии GPL пользоваться MySQL можно бесплатно, если обладатель СУБД а) разрабатывает и выпускает OpenSource-продукты, б) использует MySQL только для своих внутренних разработок не-OpenSource-проектов (включая веб-сайты). Как только вы начинаете распространять приложение с закрытым кодом на базе бесплатной MySQL, вы обязаны купить коммерческую лицензию или опубликовать исходный код своего приложения.
Экзотические сыры с плесенью
Бесплатных СУБД с открытым кодом достаточно много — интересующиеся могут посетить, например, сайт www.faqs.org/faqs/databases/free-databases или набрать в Google «free DBMS» [То есть бесплатные СУБД].
BerkleyDB, SQLite, GnuSQL — вот всего лишь несколько СУБД, про которые можно узнать из обзоров, новостей и рейтингов, но которые большинство разработчиков в глаза не видели, а если и пытались попробовать, то почти всегда сталкивались с одной и той же проблемой — нужно быть крупным специалистом (или нанять такового), чтобы заставить их работать на реальных промышленных данных, а тем паче построить на их базе тиражируемое приложение, которое не страшно отдать в руки чужого администратора с тремя неполными курсами политехнического образования.
Очевидно, что для бизнес-приложений, где важны сроки и финансовые затраты, никто не будет тратиться на изучение новой базы данных или нанимать редкого специалиста.
Исключение составляют только узкие задачи, для решения которых и были разработаны многие бесплатные СУБД, причем обычно корни лежат все в тех же университетских проектах.
Хорошим примером является российская XML СУБД Sedna, предназначенная для хранения коллекций XML-документов, поиска в них, изменения и вставки. Несмотря на то что интерес к XML пошел на убыль и его уже не считают технологией-затычкой, которая должна быть в каждой дырке, есть еще много актуальных и нерешенных задач, где XML-базы данных могут сильно облегчить жизнь разработчикам.
Вообще говоря, если задача, возлагаемая на СУБД, нестандартная, поройтесь в Интернете, — возможно, для вашей задачи существует отдельная СУБД.
Новые бесплатные СУБД
Кое-кто из посетителей бакунианских сайтов бурно приветствовал появление бесплатных версий больших промышленных СУБД возгласами вроде «Одумались!»[Вообще-то, кричали больше «Халява!», «Ура!», «Что это?», но «Одумались» лучше отражает глубину переживаний борцов за свободную информацию…]. Однако стоит разочаровать их, так как даже бесплатные СУБД используются исключительно как средство развития бизнеса. Дело в том, что в мире растущей конкуренции труднее всего найти и удержать покупателя своего продукта. Маркетологи говорят, что удержать существующего клиента в пять раз дешевле, чем найти нового. Особенно это заметно на примере баз данных.
СУБД — вещь сложная, и за пятнадцать минут ее не освоишь, как новый мобильник. И даже за две недели к ней не привыкнешь, как к новому автомобилю. Чтобы стать специалистом по той или иной СУБД, нужно проработать с ней несколько лет. И если разработчик освоил определенную СУБД — зачем ему другая?
Также понятно, что для компании, которая основывает свою информационную инфраструктуру на некой СУБД, переход на другую базу данных будет сопряжен с большими затратами.
Поэтому у производителей коммерческих баз данных две основные задачи: а) «подсадить» на свои продукты как можно больше начинающих разработчиков, б) завлечь молодые или реорганизующиеся компании с неустоявшейся информационной инфраструктурой.
Sybase ASE Express Edition for Linux
В 2004 году Sybase выпустила бесплатную версию одной из своих СУБД (Adaptive Server Enterprise) под Linux. Похоже, она и стала родоначальником бесплатных версий коммерческих СУБД, так как была выпущена с практически теми же техническими ограничениями, что и все последующие бесплатные СУБД: только один процессор, используется не более 2 Гбайт ОЗУ, размер базы данных не более 5 Гбайт, не более 25 одновременных пользователей.
Однако запустив пробный шар, Sybase почему-то не пошла дальше. И на текущий момент из всех крупных поставщиков коммерческих СУБД только Sybase не имеет бесплатной версии (кроме упомянутой ASE for Linux). Фактически именно маркетинговые просчеты привели к тому, что у всех на устах сейчас именно MS SQL Express Edition или Oracle XE, а не Sybase.
Oracle XE
Oracle eXpress Edition — бесплатная версия большого Oracle. Oracle eXpress имеет технические ограничения на использование: размер базы данных до 4 Гбайт и поддержка только одного процессора и 1 Гбайт оперативной памяти.
Сложно сказать, зачем выбирать Oracle XE в качестве основы для своих приложений — по своему назначению Oracle это база для огромных массивов данных, и 4 Гбайт для него — это только расправить плечи. Ограничения на один процессор и особенно на 1 Гбайт используемой памяти тоже чувствительны, поэтому можете расстаться с надеждой сделать сверхпроизводительное приложение на базе бесплатного Oracle XE.
Надо отметить, что Oracle давно раздает ознакомительную полнофункциональную версию своих продуктов, в которой нет никакой защиты, поэтому главным новшеством в Oracle XE являются лицензия, позволяющая законно использовать урезанную версию для разработки и распространения своих приложений, и относительно небольшой размер дистрибутива в 150 Мбайт.
По-моему, Oracle XE это попытка быть ближе к начинающим разработчикам и стремление избавиться от имиджа дороговизны и монстроидальности, который препятствует применению Oracle в проектах среднего размера (но не в России, здесь благодаря процветающим идеям «свободного» софта на Oracle пишут каждую третью программу складского учета).
Microsoft SQL Server Express Edition
Microsoft долгое время выпускал версию MS SQL Developer Edition в составе пакета для покупателей-разработчиков продуктов вроде Visual Studio. Эту версию можно было использовать и распространять в своих приложениях.
MS SQL Express Edition стал отдельным продуктом, бесплатным для использования и распространения, но с техническими ограничениями: размер базы данных опять же не более 4 Гбайт, размер используемой оперативной памяти до 1 Гбайт и конечно, только один процессор.
У Microsoft есть целая линейка продуктов Express Edition c урезанной функциональностью (начиная с самой Visual Studio), поэтому им проще всего предложить студентам и начинающим разработчикам весь спектр инструментов — от среды до базы данных.
IBM DB2 Express-C
Компания IBM чрезвычайно загадочна и непрозрачна, и, похоже, немножко неповоротлива. Вот и бесплатную версию своей СУБД она выпустила позже остальных. На самом деле в IBM постоянно запускают массу различных инициатив для разработчиков, поддерживают Linux, Java и Open Source вообще; да и баз данных у них целый выводок (DB2, Informix, CloudScape)…
DB2 — очень мощная база данных, легко конкурирующая с Oracle, предназначаемая для обработки терабайтных баз данных. Но, к сожалению, в России она слабо приживается, то ли из-за неактивной позиции IBM в России, то ли из-за консерватизма разработчиков.
Надо отметить, что у DB2 самые льготные ограничения — база данных может быть любого размера, оперативная память ограничена 4 гигабайтами, и используется до двух процессоров.
Дистрибутив весит 450 Мбайт, но зато это настоящие джинсы… то есть IBM!
Бери, кум, чего мне не надо
Отдельно стоит рассказать об умирающих СУБД вроде Ingres, SapDB и других. Когда-то эти базы были платными, но сил и желания их развивать у компаний-основателей не осталось, поэтому их исходные коды открыли, чтобы оставить хоть какую-то надежду на развитие. Сложно предсказать, что произойдет с этими базами, но прогнозы вряд ли утешительны, несмотря на прошлые заслуги (Ingres, например, успешно конкурировала с Oracle).
Сколько стоит бесплатный сыр
Стоимость владения
Для баз данных, как и для любого софта, существует понятие полной стоимости владения (Total Cost of Ownership, TCO).
Приобретая программный продукт, мы вкладываем деньги не только в лицензии — для того чтобы получить какой-то эффект от приобретения и заставить ПО реально работать, необходимо затратить деньги и на множество сопутствующих вещей.
Вообще говоря, ТСО — это схема для вычисления всех затрат, связанных с ПО. Таких схем существует несколько, и компании-производители программного обеспечения постоянно соревнуются в снижении этого показателя (причем обычно выигрывает тот, кто измеряет).