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

I once interviewed at a consulting company where it came up in the conversation

ID: 659524 • Letter: I

Question

I once interviewed at a consulting company where it came up in the conversation that they use open source products (which is great, I've used Hibernate, JBoss, etc. extensively.) One thing that did surprise me is that when I asked if they used GPL licensed OSS when writing applications for clients, they said "Sure, all the time! As long as the client gets what they want and are happy." Now, I'm no lawyer or big license buff, but I was under the impression that using GPL code (let's say some library that you include), then you are required to release the entire application under the same license. When I pointed this out, I was given a quick response of, "Well, we give the clients all the source code when we're done, so that's really not an issue."

Not wanting to press the issue further (interviews aren't the place for arguments like that), I let it slide. However, that still concerns me about that particular practice of the business. What is the official word on GPL licensed code and how "open" does it need to be? Do you have to publish it and say "My company used this library so here is the site where you can download our shopping and order fulfillment system application that we spend millions of dollars to build."? In this situation, is the company right for using GPL code without the client's knowledge? Is it enough to just "give them the source"?

Explanation / Answer

tandard disclaimers apply: I am not a lawyer and neither are you.

GPL, at its core, is about protecting the rights of those using the program to obtain and use the source as well. It does not mandate that you publish the source of any program you write that uses GPL'd code, merely that if you publish such a program you must also provide the source.

I can write any number of apps for my personal use, pull in GPL'd code, and never give the source of any of this to anyone. I can write such apps for internal use by my company, and need only provide the source to those within my company who use the program (practically-speaking, I would have to do this anyway if they had any good reason to request it). If I write such a program for some other entity, I merely have to give them the code (and make it clear that the program is GPL-licensed) - if they go on to distribute it, they also must then make the source available, but I'm out of the picture.

So the only worry your consulting company might have is that they were failing to make their clients aware of the license the code they provided fell under. Actually, I lie - if they had negotiated a differentlicense with their clients (client owns all rights to code...) then they could be in hot water over that as well... But this is true for any third-party code: unless it's public-domain, you must comply with the license, and must not re-license it unless that right has been granted you by the copyright holder.