mySQL ve GPL üzerine bir e-posta trafik
Geliştireceğimiz ve şu an çok evvel beta olan bir yazılımımız için bir veritabanı sunucusu kullanmayı düşünüyorduk. Alternatif çok olmasına rağmen işlevsellik bakımından sıkıntıdaydık. Önce mySQL harici alternatifleri bir düşünelim dedik. PostgreSQL bize oldukça yabancıydı. Ekipte buna tam anlamıyla hakim olan kimse yoktu. Firebird güzel, ancak sorunluydu. Mesela tek parola ile korunması bile sıkıntı verebilecek nitelikteydi. Paradox diye bir veritabanı aslında yoktu. Windows tabanlı veritabanı sunucuları (mssSQL, hadi bunlara Excel ve Access’i de ekleyelim) hem işin ücretsiz bölümünü değiştirecek nitelikteydi hem de çok fazla bağımlılıkları olduğu için can sıkıcı nitelikteydi.
Vesaire vesaire…
“Tilkinin dönüp dolaşıp geleceği yer kürkçü dükkanıdır” sözündeki gibi tüm alternatifleri dolanarak mySQL‘e geri döndük.
Peki mySQL bize uygun muydu?
Esasında ekipteki herkesin mySQL konusunda oldukça olumlu fikir ve becerileri vardı. mySQL‘in neredeyse tüm unix ve unix tabanlı sunucularda olması, oldukça stabil olması, hızlı olması, desteklediği komutlar, etrafında bütünleşen topluluk, vb nedenler ve diğer alternatiflerin pek iştahımızı kabartmaması sonucunda mySQL‘e dönüş yaptık.
Ancak mySQL projemize uyacak mıydı?
Bizim arzumuz projemizin mySQL‘i kullanması. Ancak bildiğiniz gibi mySQL GPL bir program. Ancak biz programımızı GPL dağıtmak istemiyoruz. Dolayısıyla mySQL‘e embed olmuş (=üzerine inşa edilmiş, temel olarak mySQL‘i baz alan) bir program yazamazdık. mySQL sadece sunucu olarak yüklenecek ve bizim programımız gerekli durumlarda bunu kontrol edecekti.
Ama ürettiğimiz program “guru”lara değil son kullancıya hitap edeceğinden işin biraz kolayına kaçmak gerekiyor. Bu bağlamda mySQL‘in ayrı olarak kurulması, ayarlanması, bizim programımızın mySQL‘le anlaşacak hale gelmesi hem riskli hem de işi uzatacak bir durum. Yani kimse iki tıklama ile programı kurmak varken elli tane ayar arasında kaybolmak istemez! Hele bu son kullanıcıysa! İlk on saniye içinde karar verir ve programı bir daha denememek üzere sisteminden kaldırır (ya da hiç kurmaz).
Ben de bunun üzerine mySQL‘i yazılımıza bir manada bundle edip (yani kurulumunu kendi yazılımız ile uyumlu şekilde kurabileceğimiz biçimde toparlayıp) kullanmamızın GPL’in aksi birşey olup olmadığını aramaya başladım.
Esasında GPL lisansının böyle bir sıkıntısı olmadığının bilmekle beraber genede işi bir bilene sormak gerekir mahiyetiyle mySQL‘e bir e-posta yazdım.
Ama tabii ki e-posta yazmadan önce vazifelerini bilen bir internet yaşam formu olarak mySQL sitesinde birkaç bağlantıya tıkladım. Bağlantıların beni taşıdığı sayfalardan biri mySQL‘in lisans politikası ile ilgili bilgiler veriyordu. İşte buradan yazanları Türkçeleştirirsek kısaca şöyle çevirebiliriz :
Ticari Lisans, müşterilerinize ticari lisanslar vermenize veya mySQL-tabanlı yazılımlar geliştirmenize olanak tanır. Bu lisans daha ziyade uygulamalarının kaynak kodlarını açık kod / özgür yazılım olarak açmak istemeyen kuruluşlar içindir, başka bir deyişle GNU kamu lisansına uymak istemenler için.
Eğer yazılımızın kaynak kodunu açar ve kaynak kodları herkesin özgürce kullanabileceği, düzenleyebileceği ve dağıtabileceği açık kod / özgür yazılım lisansı altında dağıtırsanız bu durumda Açık kod lisansını kullanabilirsiniz. Açık kod lisansı size mySQL‘i yeniden dağıtma ve değiştirme hakları verir.
Sayfanın altlarına akılda kalan sorular için ufak birkaç düşünceye cevap niteliğinde şu cevaplar verilmiş :
- Eğer yazılımınız OSI ya da Özgür yazılım kuruluşu (FSF) tarafından kabul edilmiş GPL-uyumlu Özgür yazılım lisanslarından birini kullanıyorsa bizim GPL lisanslı versiyonumuzu (yani mySQL GPL olarak) kullanabilirsiniz.
- Eğer herhangibir şartla dahi olsa patentli bir yazılımı dağıtıyorsanız ve kaynak kodunuzu GPL olarak lisanslayıp dağıtmıyorsanız, bizim ticari lisansımızı kullanmalısınız.
Tabii bir de en sona “bir bilene sorun” kısmı eklenmiş. (Burada emin değilseniz kısmına dikkat!) :
Eğer emin değilseniz size tavsiyemiz ticar lisans satın almanız. Bu en güvenilir çözümdür. Lisans soruları online olarak bize sunulabilir….
Biz de çağrıya uyarak mySQL AB’ye bir e-posta yazmayı uygun gördük ve durumu anlattık. İlk gelen e-posta şu şekilde oldu :
Dear XXX,
Many thanks for your email.
I have a couple of questions to ask you in order to answers yours at best.
Will you install the MySQL Server on your customers’ machine ?
Will the data of your program be stored on MySQL ?
Do you give the source code of your application to your customer ?If it is the case then the GPL won’t apply and you will be required to get a commercial licence.
You can only use MySQL under the GPL for your own developments or if you distribute an application based on MySQL
leaving the source code Open to your customer.In which case are you ?
I remain available for any further information you may require.
Cordialement / Kind regards
Mxxxxxx
Sorulara uygun şekilde cevap verdik :
From: XXX [mailto:]
Sent: jeudi 18 août 2005 20:18
To: Mxxxx Txxxx
Subject: Re: Your EmailMerhaba Mxxxx,
MT> Will you install the MySQL Server on your customers’ machine ?
Yes
MT> Will the data of your program be stored on MySQL ?
Yes
MT> Do you give the source code of your application to your customer ?
No.
But I’ve already said that our program is “not” based on mySQL. We only use
mySQL as a database server. Our program does “not” include any mySQL source
code inside. It only uses mySQL for a database server like todays most of
the sites coded with PHP. We’ll use mySQL like how a php program uses mySQL.But, we don’t want our users to install mySQL in an extra way. We want to
give installation service of mySQL while we are installing our program (
after or before, in the same installation program ). We will include only
two mySQL binaries, and will configure my.ini while installation according
to our program installation. This doesn’t means we are changing any of the
mySQL code. This means we take the compiled binaries from mySQL and give an
installation service to our future users to make the program more user
friendly by ignoring second installation and a lot of configuration.I think, now I’m more clear.
Thanks for interest
Best regards.
Gelen cevap açıkcası default bir değer gibi oldu, sanki GPL hakkında soru soranlara verilen klişe bir cevap gibi :
Dear XXX,
You are actually a bit in a grey area of the GPL and I would advise you to
contact your sollicitor for advise on the matter.Your program is closed source, uses MySQL as a storage engine, include some
binaries.
Even if you do not include MySQL in the software package you sell to the
customer you are going there and installing it for your program.The GPL only works for internal use and open source distribution.
I think to solve the problem the only question to ask is: Can your customer
use your program without MySQL ?Thanks
Regards
Mxxxxxx
Konunun
tam anlaşılmadığını düşündüğümden daha detaylı bir e-posta yazdım :
Merhaba Mxxxx,
I’m very happy for your interest. But I don’t tell everthing clearly I think.
Our consultant says these to us :
* If you use a GPL program only the package as is you don’t disagree with GPL
* If you download a GPL program and change some of code, include program libraries or nay of the code your program, or if you
insert any of the executable to your program you’ll be disaggree with GPL
* You can freely redistribute a GPL’ed program. For example, mySQL has a setup program for windows. If you want you can download
zip versiyon of mySQL, and combine it to anorher setup program and give your users a “install service” of mySQL.Here, I will write more details :
——-OUR NICE PROGRAM——-
* Includes pure delphi/kylix/pascal/c/c++ code
* Includes NO mySQL code
* Includes NO mySQL libs
* Includes NO mySQL binaries
* Our program runs only as is, can have the ability to use another database server.———-HOW OUR SETUP PROGRAM WILL INSTALL MYSQL——-
* User clicks setup and setup begins.
* Some instructions and steps passes. Our setup program installs our programs executables, configurations, etc…
* After our program’s installation, an information printed on the screen that informs the users “He’ll going to install mySQL, a
GPL software, you must accept GPL”
* Then our program gives user a more optimized installation service of mySQL according to our program needs.———–HOW OUR PROGRAM INTERACTS WITH MYSQL————
* User clicks our program
* Our program will opened
* User enters some data, clicks somewhere on the program
* Our program fetchs data from mySQL, inserts/updates any data…In fact, our program will run how a php program runs. As you already know you have no ability to insert any mySQL code to your
php code, you only use some libraries from php to interact with mySQL. You say “hello” to server and got a response.I think GPL gives us the right to give a user “a mySQL install service”, and use mySQL without any publishers warranty (this is
mySQL AG).GPL says these kind of main properties :
* ) If you take a open source program and change its code and redistribute it, or make a program binded to the code, you must
open your new programs’ code.GPL gives right to the public to take the program and use as you wonder in commercial or free programs.
But if code is changed, used internal, etc… you must open your source code.
At last, I come to your question :
MT> I think to solve the problem the only question to ask is: Can your customer
MT> use your program without MySQL ?We want to use mySQL but it is’not a must for the program. We can change some SQL queries and then our program will run on
firebird, pgSQL, paradox, interbase, oracle, SQLite, etc..With a clearfully defination, our program will include only mySQL queries.
Thanks for interest.
Best Regards.
Tabii gene sorular yöneldi :
Dear XXX,
Below my answers in red :
Our consultant says these to us :
* If you use a GPL program only the package as is you don’t disagree with GPL
This is correct* If you download a GPL program and change some of code, include program libraries or nay of the code your program, or if you insert any of the executable to your program you’ll be disaggree with GPL
This is correct· You can freely redistribute a GPL’ed program. For example, mySQL has a setup program for windows. If you want you can download zip versiyon of mySQL, and combine it to anorher setup program and give your users a “install service” of mySQL.
This is correct but then your end customer will have to have access to the code of the setup program you are combining MySQL with. Will it be your case ?Here, I will write more details :
——-OUR NICE PROGRAM——-
* Includes pure delphi/kylix/pascal/c/c++ code
* Includes NO mySQL code
* Includes NO mySQL libs
* Includes NO mySQL binaries
* Our program runs only as is, can have the ability to use another database server.I understand. But will your program be embedded to MySQL ? Meaning when installating your application will it install MySQL at the same time ? If it does then the code of your software will have to be accessible to your customer in order to be compliant GPL.
If it is not embedded then you are compliant GPL———-HOW OUR SETUP PROGRAM WILL INSTALL MYSQL——-
* User clicks setup and setup begins.
* Some instructions and steps passes. Our setup program installs our programs executables, configurations, etc…
* After our program’s installation, an information printed on the screen that informs the users “He’ll going to install mySQL, a GPL software, you must accept GPL”
* Then our program gives user a more optimized installation service of mySQL according to our program needs.To me it’s seems to be embedded then.
The customer does not have to accept the GPL has this is your responsibility to be compliant to it.———–HOW OUR PROGRAM INTERACTS WITH MYSQL————
* User clicks our program
* Our program will opened
* User enters some data, clicks somewhere on the program
* Our program fetchs data from mySQL, inserts/updates any data…The data is stored in MySQL, so it is binded to MySQL
In fact, our program will run how a php program runs. As you already know you have no ability to insert any mySQL code to your php code, you only use some libraries from php to interact with mySQL. You say “hello” to server and got a response.
But usually the PHP code is Open so it is fully compliant GPLI think GPL gives us the right to give a user “a mySQL install service”, and use mySQL without any publishers warranty (this is mySQL AG).
GPL says these kind of main properties :
· ) If you take a open source program and change its code and redistribute it, or make a program binded to the code, you must open your new programs’ code.
This is were the restrictions of the GPL make you open the source code of the programmGPL gives right to the public to take the program and use as you wonder in commercial or free programs.
This is correctBut if code is changed, used internal, etc… you must open your source code.
This is correctAt last, I come to your question :
MT> I think to solve the problem the only question to ask is: Can your customer
MT> use your program without MySQL ?We want to use mySQL but it is’not a must for the program. We can change some SQL queries and then our program will run on firebird, pgSQL, paradox, interbase, oracle, SQLite, etc..
I understand. But at the moment your program launch a setup to use MySQL so in that form it is embedded to MySQL.With a clearfully defination, our program will include only mySQL queries.
So looking to our vision of the GPL you would be required to get licenses for your current usage. I would strongly advise you to take legal advise on this matter.
I hope this was more helpful.Regards
Mxxxxxx
Bu e-postalardan çıkardığım sonuç Mxxxxx’in bir satış departmanı çalışanı olduğuydu, sormam gerekiyordu :
From: XXX [mailto:]
Sent: vendredi 26 août 2005 15:27
To: Mxxxxxx Txxxxx
Subject: Re[4]: Your EmailMerhaba Mxxxxxx,
Thanks for your interest.
But I must ask you something. Do you have any law education? Do you have a
diploma from a law faculty?In a clear way, I’m asking you about your position in mySQL AB.
Best Regards.
Medyum muyum neyim?
Dear xxxxx,
I would advise you to take legal advise in order to decide whether you need
licences or not.I have provided you with MySQL AB Vision of licensing.
Regards
Maxxxxx
Hadi ama daha açık olmalısın :
From: xxx [mailto:xxx]
Sent: lundi 29 août 2005 10:23
To: Mxxxx Txxxxx
Subject: Re[6]: Your EmailMerhaba Mxxxx,
Thanks for your great patience and humanity.
In the last question I don’t want to be rude. It’s just a simple question
for learning your position at mySQL AB. If it seems like that than sorry for
this situation.You help so much.
Best Regards.
Umduğum cevap :
Dear xxxx,
I am Sales Executive for France, Middle East and Africa.
I do assure you that the key fundamentals in our GPL view is : Bundling and
closed source code.My position is commercial. We advise our customers to take legal advise in
their countries if there is contradictory vision of the GPL.I remain available for any further information I could bring you.
Regards
Mxxxx
Kıssadan hisse : acemi’nin katkıları ve araştırmalar sonucunda çıkardığım yoruma göre GPL bir yazılımı sadece sunucu olarak kullanmak ve kurulumunu yapmak GPL’i delmiyor.
{ Bu kadar uzun uzun eklemeye ne gerek vardu Ansugo, püffff }
Yazdır
| 163 Görüntülenme | Kategori: GNU & Linux, Yazılım/Hazır Betikler |
Geri İzleme
Etiketler: open source, mysql, gplBenzer Yazılar
Yorum Yap
XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

28 Eylül 2005 |



Henüz yorum yapılmamış.