views:

125

answers:

2

I have some programs I wrote before understanding the GPL which I might find difficult to convey under its terms because I do not have the entire source (including libraries and the possibly modified source of a GPL program that the work I'm releasing may be adequately reliant upon to qualify as derived). If I am simply sending the source I have to validate my experience claims, I am required to release the entire program source as the GPL seems like it may require? I know internal company exchanges of GPL'd programs is permissible but am not sure about this situation, or if it would be possible for me to place terms on what the employers do with my code that would make it alright for me to send it to them without completely satisfying the GPL distribution obligations.

A: 

Warning: I'm not a lawyer and this ain't legal advice.

The definition of "convey" as described in the GPL is pretty broad and would seem to cover the case you're describing, so I would imagine your fears are well-founded. Unfortunately, it's a violation of GPL to provide GPL-encumbered source code under NDA, so that won't help you either.

For reference, check out the GPL itself: http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic

Furthermore, were you to provide them the code you would be granting them a license, as described in 5.c of the GPL:

5.c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

One practical thing to consider: GPL is poison to closed commercial software development. No sane company which releases closed commercial software would want anything to do with your code now that it's contaminated with GPL...so that may provide you some comfort regarding its use, though they would be free to publish it (provided they attributed changes to you).

The typical "way out" here is to re-code your apps to use something more friendly to sane licensing, such as LGPL. This may or may not apply, but it is an option (IP lawyers here may get freaky about wanting you to do a 'clean room rewrite' -- and there may well be case law about that -- but like everything legal it's all about risk/reward)

DarkSquid
The only reason to release the code would be to verify my programming experience. Although I really don't mind releasing the code to the public there are technical issues related to it as I stated in the question. I'm thinking I may just have to say if any employer wants the code for verification purposes that I can't release it over legal concerns. I didn't realize until recently how complicated these licenses are . . . I'm not sure how to make any build system I can feel absolutely safe using without a lawyer.
GPL is not poison. It relies on copyright law, and there is no issue with being exposed to it, only if copy of GPL code is made into proprietary software, or if distribution terms are not followed properly.Software patents on the other hand are much more risky. Being exposed to them is ground for trouble...
Laurent
@Laurent - Please re-read: my point about GPL being poison was limited to "closed, commercial software" (I think that's what you meant, too, when you referred to "proprietary software.").
DarkSquid
A: 

You are making it look more complicated than it really is.

My understanding is that you want someone, could be a company or an individual, to look at some software you wrote to get an idea of what you are able of.

Send the relevant excerpt of your code you want them to look at.

Given that you are the original author of this work you are absolutely free to do whatever you want with it. You do not have to be a lawyer to understand this.

The only problem would be if you were sending for review software of which you are not the original author, but that is not the question you are asking.

And finally if there really is a problem still, then it is really side track the whole issue:

You want to demonstrate the relevance of your experience, and to achieve that you don't necessarily have show actual software. A good in-depth conversation about your software design, the trade-offs made and the challenges you have faced and lessons you have learned along the way will get you a long way into demonstrating your abilities.

Laurent

related questions