Browser detection library GPL licensing
jnicol
Status: New User - Welcome
Joined: 14 Mar 2012
Posts: 2
Location: Australia
Reply Quote
This question is for the author of the the Full Featured PHP Browser Detection & OS Detection script (http://techpatterns.com/downloads/php_browser_detection.php), which I am using in a project.

My project is a web-based application which displays information about the user's system capabilities, including OS version, browser version, screen resolution, JS availability, available plugins, etc. It is intended for use by web developers, so they can quickly ascertain their client's browser capabilities when responding to support requests.

My question is about licensing of the script, which is released under a GPL license.

My application will be open source and free, however my intent is to release my application under a dual MIT/GPL license (as jQuery does), to give end-users the widest freedom as to how they use my software.

However since my application relies heavily on your GPL'd software, I don't want to contradict your licensing terms.

My question is: Are you happy for me to release my software under a dual MIT/GPL license, or is it your intention that any program which includes your library is also released under *only* the GPL? If so, I'm happy to do that, I just want to make sure I do the right thing with respect to your intent.

To help to clarify the context in which I am using the library:

- I am calling the library from within my application using its browser_detection() function.
- I am using the code unmodified.
- I am leaving the library's GPL license and all other copyright info intact.

Thanks!

Edit: Also, I am most open to hearing opinions about the appropriateness of different OSS licenses. Frankly, trying to understand the various licenses makes my head hurt, and any guidance would be most welcome.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 3807
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
I'll have to check on that specific question. I know if the script were LGPL it would not be an issue, but it never was, it's GPL 3 or later. I'll have to ask the gnu guys, this case is too specific, to me it sounds like a question of derived work, which I've always held as a very suspect legal issue, used by the linux kernel to avoid non free modules etc, but I don't believe it has ever been tested in court or would hold up if it were.

Personally I don't care as long as the license on the script is not changed, and the script code is available to users by you as distributor of whatever you are making, as the gpl requres. But it is interesting, you posted enough details for some gnu person to maybe answer better.

Without getting into the specifics too much, basically you have 3 classes of licenses, first:

1: gnu type copy left, so called, which means you are free to copy and use, but you must publish changes to distributed versions of the program, and you can always alter and use any way you want as long as it does not violate this.

This avoids a problem with type 2:

2: BSD/MIT type licenses, which are in a sense almost pointless, might as well make the software public domain, since all they do is say you can do whatever you want with the software, period. With some exceptions, some bsds required non commercial clauses, etc. But basically the apache, mit, bsd licenses are designed for when you want the end result to be totally usable in all cases, that means that anyone can use it for any reason, for example, microsoft can use openssh, from openbsd project, and not release any code, or even say they are using it. This license is used when the authors consider it more important to get the world using it, as in ssh, or a codec license such as flac/ogg, or the new google v8 javascript rendering engine.

3: avoid these, they are corporate specific licenses, like Sun used for a lot of their stuff, with clauses that they want for varying reasons. No reason to use these ever.

Both 1: and 2: types are fully free software, the user is free to copy, distribute, alter, the software, but 1 demands also that the end user respect the code pool and always give changes back, if they further distribute the code. Non distributed code is the same in both cases, with one exception, afero gpl licensed stuff, for web apps, but that's not in question here so ignore that. This ensures projects don't fork randomly for example.

But all the licenses have their good and bad points, speaking for myself, I don't use the bsd/mit types because to me that's just giving corporations my work if they want, for free, with no responsibility on their part in the transaction, which given they are for profit entities, is unacceptable.

The gpl is working in its strong areas, gnu/linux and a lot of software, but the mitBsd type is also working, codecs, apache web server are huge successes. freebsd is also pretty successful, but you see the problem, when apple hired their core dev to work on their freebsd fork, aka osx, all subsequent apple changes are lost to the free software world.

The key thing to remember with including any GPL software in a dual licensed piece of software is that the library in question, browser detection CANNOT be freely used as with an mit license by customers, and they have to understand that this is the case. For example, if they make a product using your software,and then further distribute it, then they MUST also release all the gpl portions of the software they got from you, which in a sense gets rid of any advantage of dual licensing from what I can see. I could be wrong, but I believe that's how the gpl works, the idea is to never lose any code into this type of unfree scenario.

It gets confusing.

Just as a side note, I must admit to never have been able to understand dual mit/gpl type licenses, since if it's mit, it means that you don't need to give back changes, so I don't see how that can work. Maybe there's something about that I just am missing though.
Back to top
jnicol
Status: New User - Welcome
Joined: 14 Mar 2012
Posts: 2
Location: Australia
Reply Quote
@techAdmin Thanks for the detailed reply. You're quite right that it can get confusing! I think in this case I may just wash my hands of the problem and release my application under a GPL license. Then there is no possibility of any confusion regarding how your browser detection software may be reused by my users.
Back to top
Display posts from previous:   

All times are GMT - 8 Hours