Re: Licence question
Good Day All, Let me attempt to provide some clarity on this issues (though it is important to note that I am not a lawyer or a judge.) The fundaments of the GPL are easy to understand. The GPL operates within standard copyright law. Under copyright law[0], the copyright holder has a bundle of rights related to their work. These rights including the right to control the copying, modification and distribution of their work. The holder can keep these right or they can grant others some or all of the rights as well. If they grant others rights to their work, they usually do so under the terms of a license. The GPL is one such license. It gives you the right to copy, modify and distribute the work as long as you follow some conditions. The important conditions for this discussion are: * You must distribute (or at least make available) the source code for the software. * If you form a derivative work with GPL licensed software, then the resulting work should also be GPL licensed. [1] Derivative work is a term from US copyright law (though most copyright laws have some similar concept). A derivative work is a work that is based in whole or in part on another work. There are no fixed rules on determining when a derivative work is formed. In some cases, it is very clear. If I were to modify GCC by changing a few constant names, it would certainly be a derivative work. If I had a program that used a database abstraction layer to allow it to communicate with a broad class of databases, maybe I would not be forming a derivative work with any of the databases. If I used an abstraction layer to specifically avoid creating a derivative work, but my product was intended to only work with one database, then it would be a different situation again. The technical process used (linking methods, abstraction layers, communication layers, ...) cannot be the only determining factor of whether a derivative work is or is not formed. If it were, then it would allow software licenses (both free and non-free) to be easily circumvented. Instead the end intent of the action must be taken into account. A good analogy for this is the case of someone dying due to someone else's actions. Consider the following cases: I drop a heavy potted plant on David. (He has a great comics collection that I covet. ;) I ask Mark to drop a heavy potted plant out the window, but I don't tell him that David will likely be killed by this. Mark falls out of the window because the plant is really heavy. David shoots Marks because he thinks that he is going to drop a potted plant on him. Which of the above is murder? Who is responsible? It really depends on how much is known about each situation. If David shoots Mark, and Mark is the only person who knew that I asked him to drop the plant out the window, then I would seem to be innocent (unless I was recorded urging Mark to drop the pot or I confessed). The context that an event occurs in has a tremendous effect on how it is perceived. My view on this issue are quite simple: If you are willing to pass on the rights that we grant you under the GPL, then please use MySQL under the GPL. If you do not want to pass on these rights then you should purchase a commercial license. In many ways, MySQL behaves like a typical Free Software/Open Source developer. We write software that we place under an open license. We also sell services and software so that we can make money. It just so happens that the same software that we put under an open license is the same software that we sell. [0] Note that different countries have different copyright laws. The exact bundle of rights and how they are protected vary from country to country. [1] A relevant section of the GPL is section 2b: 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: ... b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. Cheers! -- Zak Greant MySQL AB Community Advocate -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
Does this mean that I must make all of my web sites non-commercial? (since I use mySQL as my main DBMS) This was sarcastic, not real question aiming the next sentence MySQL You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution. If I get GPLicensed mySQL I can distribute it (according to GPL) with my commercial (even non GPL) product or with anything I like if I don't merge it with my project or similar which is mentioned in GPL. Ivan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution. Does this mean that I must make all of my web sites non-commercial? (since I use mySQL as my main DBMS) This part is surely not covered by GPL. Especially because GPL doesn't cover commercial aspect of software. GPL Our General Public Licenses are designed to make sure that you GPL have the freedom to distribute copies of free software GPL (and charge for this service if you wish), According to this I can even redistribute mySQL under the terms of GPL and even to get money from such business. Which doesn't comply with the text from the mySQL's website... Ivan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution. Does this mean that I must make all of my web sites non-commercial? (since I use mySQL as my main DBMS) I believe no, if it is your company's web site and your clients (along with other web surfers) are simply visiting the websites. On the other hand, if your company builds and then sells a web site for another company and the website needs a mysql database to function at all (a dynamic web site that uses mysql specific SQL for example) then i'm not sure that you can get away without making your siurce GPL or buying a commercial MySQL license. According to this I can even redistribute mySQL under the terms of GPL and even to get money from such business. Which doesn't comply with the text from the mySQL's website... You can even modify the MySQL source and sell the modified version of MySQL in excange for money BUT you must do all this under the terms of GPL which means publishing the source code with your modifications. And of course you must find people that are willing to give the money to YOU instead of MySQL AB. Kaarel -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution. Does this mean that I must make all of my web sites non-commercial? (since I use mySQL as my main DBMS) I believe no, if it is your company's web site and your clients (along with other web surfers) are simply visiting the websites. On the other hand, if your company builds and then sells a web site for another company and the website needs a mysql database to function at all (a dynamic web site that uses mysql specific SQL for example) then i'm not sure that you can get away without making your siurce GPL or buying a commercial MySQL license. According to this I can even redistribute mySQL under the terms of GPL and even to get money from such business. Which doesn't comply with the text from the mySQL's website... You can even modify the MySQL source and sell the modified version of MySQL in excange for money BUT you must do all this under the terms of GPL which means publishing the source code with your modifications. And of course you must find people that are willing to give the money to YOU instead of MySQL AB. Kaarel -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
So this is getting really confusing now... I have two quite explicit questions to this and I hope there are some experts listening on this list who can answer them. (1) I want to start a (small, non-free) webhosting service and offer webspace with PHP support and a MySQL database account. There will be some standard tariffs that include a database account but I'm going to make them available as extra upgrade, too, for a monthly fee. Do I need a MySQL license for this use? I guess no, but I'm not really sure. (2) If I'm planning to choose MySQL as DBMS for future software I code in my one-man-company, instead of MS Access, I'd need to compile the MySQL client libraries into my application. Another way could be the ODBC interface, but I have no idea about how that works. Then, I'd tell the company, they need a MySQL server. I wouldn't integrate it into my software installation, but could offer the service of installing it on their server, if they can't do it theirselves. Again, do I or the other company need a commercial license for this use? (Of course, they pay for my programs.) I guess yes, but what in detail? Me for the client libraries? I haven't found pricing information on the MySQL website. And the other company for the entire server? Or is this free use (though commercial)? And isn't the client library included in the full license? I'd be thankful about any clear answers on these issues. On Sunday, December 07, 2003 10:32 AM CET, Chuck Gadd wrote: No. The instructor at the MySql training class I attended, who is an employee of MySql AB, specifically mentioned this example. In the case of a website, you are not distributing Mysql or any MySQL library or components to your end users. So no MySql Commercial license is required. (...) http://www.mysql.com/products/licensing.html (...) -- Yves Goergen [EMAIL PROTECTED] Please don't CC me (causes double mails) -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
Yves Goergen wrote: (1) I want to start a (small, non-free) webhosting service and offer webspace with PHP support and a MySQL database account. There will be some standard tariffs that include a database account but I'm going to make them available as extra upgrade, too, for a monthly fee. Do I need a MySQL license for this use? I guess no, but I'm not really sure. I do not think so. You can download and install a GPL copy of MySql, and let anyone you want use it. You are not shipping or distributing any part of MySql. Your customers are simply users of your server. (2) If I'm planning to choose MySQL as DBMS for future software I code in my one-man-company, instead of MS Access, I'd need to compile the MySQL client libraries into my application. Another way could be the ODBC interface, but If the software was written for use BY your one-man-company, than no. But if you are selling this software to a client, then yes, they would need a commercial license. The license is per server, so either you or your client could purchase the license. If your client was going to install MySQL on two seperate servers, then two licenses would need to be purchased. If your client already had a commercial MySql license, then they wouldn't need to purchase another license to use your app. for this use? (Of course, they pay for my programs.) I guess yes, but what in detail? Me for the client libraries? I haven't found pricing information Typically, MySQL AB doesn't sell a license for the client libraries. The commercial license is a complete package, server and client. If your intention is to ship a functional MySql app, and just have the client download the GPL server, you would just need to purchase the commercial server. Having the client download/install the server is basically just an attempt at getting around the commercial license. But, early in this thread, the situation where someone might ship an application that could optionally connect up to many different databases. MySql isn't required for the app to run, but the app COULD connect to MySql if it was there. That is a case where a specific CLIENT license might be applicable.On the MySql site, on the Pricing page, it says: MySQL Client Prices For circumstances where a MySQL client license is required, please contact us for a quote. So maybe they can deal with that scenario. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
Ivan Cukic wrote: 1. Free use for those who are 100% GPL 2. Free use for those who never copy, modify or distribute 3. Commercial use for everyone else Strange thing: How can SUSE redistribute mySQL when it is not 100% GPL? (It has MPL, ... also, beside commercial programs) Ivan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
1. Free use for those who are 100% GPL 2. Free use for those who never copy, modify or distribute 3. Commercial use for everyone else OK. But 2nd statement is not taken from GPL. Example: SUSE ships non GPL programs such as StarOffice (not OpenOffice), SUN ships Java etc. in it's Linux... This is not covered by GPL, as I've mentioned before. The only thing I said wrong is: I think that mySQL doesn't have redistribution targeted license. Ivan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
RE: Licence question
Thank you for all your response, but my question is very simple : Example : We have company 1 that make's a product that communicate with MySQL server using TCP/IP. This product (company 1) does not use the MySQL client to connect to MySQL server. (Don't ask me how, I don't know) (By the way, this product really exist, that is why I am asking this question). Therefore, if Company 2 has a MySQL server (commercial license) and purchases 100 product from company 1, does company 2 need a 100 MySQL client or driver licenses ??? I believe not (2 reasons) 1 - I paid company 1 for its product. 2 - the product does not use MySQL client to connect to MySQL server. This is what is bugging me, can you help ? thank you, -Original Message- From: Ron Albright [mailto:[EMAIL PROTECTED] Sent: 3 décembre, 2003 18:27 To: [EMAIL PROTECTED] Subject: Re: Licence question At 01:26 PM 12/3/2003, Chuck Gadd [EMAIL PROTECTED] wrote: This is your standard I am not a lawyer type answer, because reading the text of the GPL can be overwhelming, but the way I understand it, if you are shipping MySql with your app, then you've either got to release your app under the GPL, or you've got to buy a commercial Mysql license for each copy of your app that you ship. If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. This is somewhat ambiguous. From the statements below it would appear to me that you can ship MySQL with an application as long as the your application does not directly link to the MySQL libraries as would be the case if embedded. But mere aggregation seems to apply even if your application starts the database as a separate executable. The last paragraph of the first question seems to allow shipping it along with your application but the last sentence leaves it somewhat open to question. From the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html): What is the difference between mere aggregation and combining two modules into one program? Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program. Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged). If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in. It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed. If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case. Can I use the GPL for a plug-in for a non-free program? If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them
Re: Licence question
* Stéphane Bischoff Thank you for all your response, but my question is very simple : Example : We have company 1 that make's a product that communicate with MySQL server using TCP/IP. This product (company 1) does not use the MySQL client to connect to MySQL server. (Don't ask me how, I don't know) (By the way, this product really exist, that is why I am asking this question). Therefore, if Company 2 has a MySQL server (commercial license) and purchases 100 product from company 1, does company 2 need a 100 MySQL client or driver licenses ??? I believe not (2 reasons) 1 - I paid company 1 for its product. 2 - the product does not use MySQL client to connect to MySQL server. This is what is bugging me, can you help ? I'm no lawyer either, but I find this quote from the mysql download pages informative and to the point... slightly paraphrased: You need to purchase commercial non-GPL MySQL licenses if you distribute MySQL Software with your non open source software. If company 1 does not distribute MySQL software (C API included), they don't need a licence. Company 2 is the customer in this case, and does not need a licence in any case. (Need as in have to, they may need/want it because of warranty and/or community support issues.) If the product _really_ can connect to the server without client software... I don't know... check this: URL: http://www.mysql.com/products/licensing.html More specifically 3b: If you include one of the MySQL drivers in your non Open Source application (so that your application can run with MySQL), you need a commercial licence for the driver(s) in question. ...so that your application can run with MySQL... it is implied that you can not communicate with the server without a client, and that any client would be considered derived from the GPL'ed MySQL client...? Also note this snippet from the GPL FAQ: * Ron Albright [...] From the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html): [...] Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. [...] By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. One could argue that the product delivered by company 1 is a combined larger program, depending on what kind of product it is. But again, this would not change the situation for Company 2. -- Roger -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
RE: Licence question
Hi Stéphane, I share the comments already expressed by Roger. But would like to add the following: - If you represent company 2 you will not have to purchase the client licenses. - It seems to me it is the sole responsibility of company 1 to secure the legality and the compliance to the GPL licence of their product or alternatively include a non-GPL license in their product. You might want to ask them about this if you feel unsure or have doubts. Jan -Original Message- From: Stéphane Bischoff [mailto:[EMAIL PROTECTED] Sent: Thursday, December 04, 2003 15:31 To: 'Ron Albright' Cc: MySQL (E-mail) Subject: RE: Licence question Thank you for all your response, but my question is very simple : Example : We have company 1 that make's a product that communicate with MySQL server using TCP/IP. This product (company 1) does not use the MySQL client to connect to MySQL server. (Don't ask me how, I don't know) (By the way, this product really exist, that is why I am asking this question). Therefore, if Company 2 has a MySQL server (commercial license) and purchases 100 product from company 1, does company 2 need a 100 MySQL client or driver licenses ??? I believe not (2 reasons) 1 - I paid company 1 for its product. 2 - the product does not use MySQL client to connect to MySQL server. This is what is bugging me, can you help ? thank you, -Original Message- From: Ron Albright [mailto:[EMAIL PROTECTED] Sent: 3 décembre, 2003 18:27 To: [EMAIL PROTECTED] Subject: Re: Licence question At 01:26 PM 12/3/2003, Chuck Gadd [EMAIL PROTECTED] wrote: This is your standard I am not a lawyer type answer, because reading the text of the GPL can be overwhelming, but the way I understand it, if you are shipping MySql with your app, then you've either got to release your app under the GPL, or you've got to buy a commercial Mysql license for each copy of your app that you ship. If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. This is somewhat ambiguous. From the statements below it would appear to me that you can ship MySQL with an application as long as the your application does not directly link to the MySQL libraries as would be the case if embedded. But mere aggregation seems to apply even if your application starts the database as a separate executable. The last paragraph of the first question seems to allow shipping it along with your application but the last sentence leaves it somewhat open to question. From the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html): What is the difference between mere aggregation and combining two modules into one program? Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program. Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged). If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in. It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe
Re: Licence question
We have company 1 that make's a product that communicate with MySQL server using TCP/IP. This product (company 1) does not use the MySQL client to connect to MySQL server. (Don't ask me how, I don't know) (By the way, this product really exist, that is why I am asking this question). Therefore, if Company 2 has a MySQL server (commercial license) and purchases 100 product from company 1, does company 2 need a 100 MySQL client or driver licenses ??? http://www.mysql.com/products/licensing-examples.html You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution. Seems to me that company 1 should have the commercial MySQL license. Company 2 is not selling anything so they should not need a license. Kaarel -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
Stéphane Bischoff wrote: We are programming a Delphi application that interacts with the MySQL server from Windows. Normally we would need a client side licence ? But if we use a set of components (from a third party) that allow us to interact with the MySQL server without using the MySQL client. In this case, do we need to buy a client licence at all ? This is your standard I am not a lawyer type answer, because reading the text of the GPL can be overwhelming, but the way I understand it, if you are shipping MySql with your app, then you've either got to release your app under the GPL, or you've got to buy a commercial Mysql license for each copy of your app that you ship. If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. Correct me if I'm wrong, but I think this is not the case. If you do not use the source of mysql, GPL doesn't apply. According to GPL, you have to make your program free (open source) only if you use source from a GPL licensed program or if you modify it etc. I think that mySQL doesn't have redistribution targeted license. Ivan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
At 03:55 PM 12/3/2003, you wrote: If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. Correct me if I'm wrong, but I think this is not the case. If you do not use the source of mysql, GPL doesn't apply. Ok, consider yourself corrected.g Chuck's interpretation is more accurate. According to GPL, you have to make your program free (open source) only if you use source from a GPL licensed program or if you modify it etc. Incorrect. See Chuck's explanation. Mike -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Licence question
At 01:26 PM 12/3/2003, Chuck Gadd [EMAIL PROTECTED] wrote: This is your standard I am not a lawyer type answer, because reading the text of the GPL can be overwhelming, but the way I understand it, if you are shipping MySql with your app, then you've either got to release your app under the GPL, or you've got to buy a commercial Mysql license for each copy of your app that you ship. If you were to simply download and install MySQL at your company office, then write apps for in-house use at your company, then you have no license issues. Your apps would not need to be GPL, and you do not need a Mysql commercial license. This was discussed by a Mysql AB employee during the MySQL training class I took a few weeks ago. This is somewhat ambiguous. From the statements below it would appear to me that you can ship MySQL with an application as long as the your application does not directly link to the MySQL libraries as would be the case if embedded. But mere aggregation seems to apply even if your application starts the database as a separate executable. The last paragraph of the first question seems to allow shipping it along with your application but the last sentence leaves it somewhat open to question. From the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html): What is the difference between mere aggregation and combining two modules into one program? Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program. Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged). If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in. It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed. If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case. Can I use the GPL for a plug-in for a non-free program? If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. So you can use the GPL for a plug-in, and there are no special requirements. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means that linking the GPL-covered plug-in with the main program would violate the GPL. However, you can resolve that legal problem by adding an exception to your program's license which gives permission to link it with the non-free main program. For more details, see the question above that starts with, I am writing free software that uses a non-free library. If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses? When the interpreter just interprets a language,
RE: Licence question
Ron Albright [mailto:[EMAIL PROTECTED] wrote: This is somewhat ambiguous. From the statements below it would appear to me that you can ship MySQL with an application as long as the your application does not directly link to the MySQL libraries as would be the case if embedded. But mere aggregation seems to apply even if your application starts the database as a separate executable. The last paragraph of the first question seems to allow shipping it along with your application but the last sentence leaves it somewhat open to question. [snip] Wow, why not just look at the MySQL License Policy page. They say: 1. Free use for those who are 100% GPL 2. Free use for those who never copy, modify or distribute 3. Commercial use for everyone else And under point 3: If your application is not licensed under GPL or compatible OSI license approved by MySQL AB and you intend to distribute MySQL software (be that internally or externally), you must first obtain a commercial license to the MySQL software in question. More specifically: a) If you include the MySQL server in your non Open Source application, you need a commercial licence for the MySQL server b) If you include one of the MySQL drivers in your non Open Source application (so that your application can run with MySQL), you need a commercial licence for the driver(s) in question. The MySQL drivers currently include an ODBC driver, a JDBC driver and the C language library. c) If you use MySQL Software within your organisation and you don't want to risk it falling under the GPL license, you are welcome to purchase a commercial license. d) Many users opt for the commercial licence simply because under it MySQL AB takes responsibility for its products. Under the GPL licence, there are no warranties or representations from the developer (i.e. from MySQL AB). Seems pretty clear to me. -- Michael Brando Senior Manager of Engineering Applied Biosystems 3833 North First Street San Jose, CA 95134-1701 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]