Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am coding a PHP serial access class and have been taking pointers from the PHP

ID: 659545 • Letter: I

Question

I am coding a PHP serial access class and have been taking pointers from the PHP-serial class on Google Code (here). That class is based on PHP 4 and I'm creating a PHP 5 class that allows more functionality and is specific to some business demands I have.

There is no code copied and I have done all the coding. Does the class I'm writing fall under the Google Code's GPL or am I free to select a license that I feel is appropriate? I'm not sure of the standard that applies to licensing when you are only looking to another work for pointers.

Explanation / Answer

The GNU GPL is a source code license. The reciprocal (viral) clause only applies to derivative code. Derivative code only. It is not a patent license, and thus you can take and reimplement all ideas or algorithms. Reimplement, not verbatim code duplication. And whichever license you want to distribute your independently written code under, is up to you. Not that another FLOSS developer would mind anyway. - If you are very uneasy and want a reaffirmation, you can also contact info@fsf.org (patience).

But btw, the GNU GPL v2 is already more permissive on PHP code than on compiled languages. Unless your library was incorporated as core dependency in some proprietary/obfuscated code, it would work akin the LGPL.

As a side note, it's not sensible to rewrite something from PHP4 to PHP5. It's the same friggin language. If you just add syntactic sugar (private, protected, etc.) but use no real new functionality (ArrayAccess, SPLSomething, etc.) then pointless. So I hope there is really new functionality in your reimplementation.