I am very new to web development and the use of Open Source. I have tried to read about the GPL, BSD, MIT, LGPL licenses, but cant seem to understand what they mean to me in real life.
I am asked to develop a web based application for a customer. My agreement with them is that they pay a fixed fee for my development of the application and I then have the rights to the code and can use the code for simillar products to other customers, as long as they are not direct competitors to the original customer. The original customer also have the right to get my code so they can hire someone else to update/change it etc if they want to.
The original customer will use the web application internally and let their retailors use it too.
My research so far has led me to conder the use of the following:
A web hotell with MySQL (GPL) and PHP (BSD-like) enabled.
Some server side PHP scripts talking to a MySQL database.
Some client side Javascript/AJAX + jQuery (MIT/GPL) + jSON (own minimal license)+ a LGPL licensed plug-in for jQuery.
Now, if I use these langauges etc, will any of this be in conflict with my agreement with the company or my future intentions to sell variations of this web application to others?
Do I have to do anything like showing copyright text in the web application or publish the code I write?
I suspect the need for that could be with jQuery + the LGPL-license plug-in since they are included/redistributed in my code?…..or are they just linked to from the code, and does that then help?…..but then anything sent to the browser is public in a way anyway…….and what about the mySQL and PHP code, that is not really a redistribution of mySQL or PHP itself, so then OK, or?…..
Hope some of you could come up with easy to understand answers to my conserns!
Rgds
PM
IANAL, however IMHO:
PHP – no issues, it has its own license which specifically allows you to sell code written in PHP
jQuery – no issues. It is offfered under both the MIT and GPLv2 licence. If it was GPLv2 only, then you would be in breach of copyright by selling the code you write while retaining copyright but I believe that the MIT licence permits this.
LGPL plugin – no issues, the LGPL licence is specifically designed to accomodate this business model. Your concerns are totally unfounded.
Its worth noting that in all the above cases (AFAIK) the products are only offered as open-source (OK, so you can buy packaged versions of PHP from Zend). However although technically free from licensing constraint for your purposes, I would recommend you consider the moral aspect of how you have benefited from these and consider a donation to one or more of the projects or one of the umbrella organisations which fund open-source software.
IMHO, the use of MySQL however, in the context you describe would clearly undermine the terms of their licensing. There are a number of solutions to resolve this including
paying for a license
releasing your code as GPL
writing your code to be DBMS independent then requiring the client to perform installation / integration
I think there are some very serious issues around the terms covering your client’s and your responsibilities – while I think its a good thing all round that the client owns a non-exclusive copyright on the delivered code, the part about “direct competitors” might be rather difficult to define – and would certainly need to be constrained in terms of them being competitors between the time of approach and contract.
C.