Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've recently had a talk with someone about how to include open source projects on my resume. I wanted to include a project of mine where I'd invested a significant amount of code and time: ~40,000 Lines of code and 8 months. He recommended against it though since it was GPL'd, saying it could turn off recruiters since I might include my project (in part or whole) while working there and force the whole project to be OS.

I just don't think thats a realistic problem though, but I'm not sure. So my question: Is it safe to include GPL'd OS projects on my resume, or will it just turn recruiter's off?

share|improve this question
7  
and force the whole project to be OS. ummm what. no. Don't listen to that guy. –  acidzombie24 Oct 6 '10 at 18:25
1  
@acidzombie24: Why? He's right. That's what the GPL does if you include it in your code. That's why they call it a "viral" license. –  Mason Wheeler Oct 6 '10 at 18:27
1  
@Mason Wheeler: No company after hiring you will ask you to copy/paste your GPL code into the project 'accidentally'. –  acidzombie24 Oct 6 '10 at 19:01
7  
You cannot force a closed-source program into open-source by putting GPL code into it. If you put GPL into a closed source program, and then distribute the program, then you are in violation of the GPL, but you cannot be forced to release your source, although that is one possible remedy for the violation. Another possible remedy is to discontinue distributing your program with the GPL code in it; another is to pay a fine. But there's nothing in the GPL that compels you to release your own source code if you are found to be in violation. –  Robert Harvey Nov 30 '10 at 20:15
4  
@Mason Wheeler: If it's entirely your code, you can do whatever you want with it. You can include code you licensed under the GPL in a closed source project (even one at work) if you want to. –  mipadi Nov 30 '10 at 20:20
show 1 more comment

7 Answers

I would do either of these two things, but probably both:

  • List it in the experience section of your resume, with the rest of your jobs. I do this with my freelance work, so why not do it for FOSS involvement? You were a <Developer> for <OSS Project> from <Start Date> to <End Date> and accomplished a bulleted list of tasks.

  • Save it for the interview. It's not necessarily something that a recruiter or front-line hiring staff would appreciate, but it should definitely be respected by the technical staff that is interviewing you. I would certainly respect it, and not have any fear of reprisal.

share|improve this answer
    
But would the GPL turn them off? –  TheLQ Oct 6 '10 at 17:53
    
@TheLQ I don't think it would... Why does the license matter? I wouldn't even mention it unless it came up. –  Fosco Oct 6 '10 at 17:57
    
@Fosco Because the GPL requires all code that touches it be open source. That was the main part of my question. Proprietary software companies might not like you since you could force their project into being open source because you included some GPL'd code from your own project into theirs. –  TheLQ Oct 6 '10 at 17:59
    
@TheLQ: If that actually comes up in the interview, point out that they're aware of that issue, and you are as well, and you know that doing so would not be in your best interests, so you won't do it. If that's not good enough for them, then you probably don't want to work there anyway. –  Mason Wheeler Oct 6 '10 at 18:09
1  
@TheLQ: So, what are the possibilities? If you write your own code on the job, no problems. If you bring in outside code, they have to be aware of the consequences, and that applies to literally any license. It's possible to copy GPLed code even if you've never written any yourself. If you copy in code you wrote yourself, and haven't assigned the copyright, that's cool, because you can license it repeatedly under different terms. –  David Thornley Oct 6 '10 at 19:59
show 1 more comment

Feel free to list contributions that you've made as relevant experience. If they understand the problems with the GPL, and you understand them as well, then that should be good enough for both of you to understand that you won't use it in their product.

Besides, open-source licensing is about shared usefulness, not a transfer of ownership. Unless you did something stupid like signing over your copyright to the FSF, the code you wrote is still your intellectual property and you're free to use it in a proprietary project, no matter what else you've done with it. (It becomes a bit less clear-cut if someone else has modified your code since then, of course.)

But to be honest, headaches like this are why I avoid GPL code entirely. It doesn't even play nicely with other open-source licenses (have fun trying to mix an MPL or BSD library into a GPL project!), let alone proprietary code. It's like Richard M. Ford saying you can have your open-source any color you want as long as it's gray. I don't buy that. Personally, I see the MPL as about as close to the platonic ideal of an open-source license as we're gonna get, but that's a matter for a different debate.

share|improve this answer
    
+1 because it shows not only a better picture of your experience, but also that you're passionate about programming. –  Frank Shearar Oct 6 '10 at 20:24
1  
Huh. You know, if you ask most people for their "platonic ideal" of an o/s license, is usually something like the "come-one-come-all" MIT or BSD. How out-of-the-ordinary it is, then, that your choice is a relatively obscure one that just so happens to be immiscible with GPL code (in fact, you yourself said as much), but is compatible with commercial code. –  sgm Oct 7 '10 at 3:09
1  
On that note for future reference, there's actually no problem with using BSD-licensed libraries in GPL projects (unless you're talking about that 4-clause one which Literally Nobody Uses). In fact, speaking broadly about GPL compatibility, going by en.wikipedia.org/wiki/… (I know, I know, Wikipedia) if I look at all the entries that are red in column two, I see--I see--yes, I see a list of licenses that pretty much no one's heard of. –  sgm Oct 7 '10 at 3:10
    
Also, I'm sure those people who have assigned their copyrights to the FSF would be thrilled to hear more about your opinions on their mental faculties. –  sgm Oct 7 '10 at 3:11
    
@sgm: What do you mean, the MPL is relatively obscure? It's used for one of the most influential open-source projects around, and almost all the open-source libraries I use are MPL-licensed. The problem with MIT or BSD is that they don't protect the code: someone else can modify it and turn it into proprietary software without giving anything back to the community whose work they built upon. The GPL, on the other hand, "protects" too much with its viral nature. MPL is the Goldilocks license that gets it "just right:" it protects the open-source code itself, but doesn't restrict anything else. –  Mason Wheeler Oct 7 '10 at 3:37
show 2 more comments

The license is irrelevant (in relation to your decision to include it on your resume). Don't mention GPL in your resume, but do list the projects and your contributions.

Think about the argument for a second. Instead, lets say you worked for Oracle or any other large software company. Would you hesitate to mention that you made significant contributions to their product? Of course not. Naturally, if you were to take any of the code you wrote for a previous employer and include it in the project you were working on for your new employer then you would certainly get a letter from the lawyers of your previous employer. (Assuming you were discovered, but the same argument is true for including GPL code.) That my friends is illegal, and more of an intellectual property violation than including GPL code.

The "viral" (as Mason and Steve Ballmer call it) nature of the GPL only applies to the code, not the software developer. If you write an "if" statement just like the "if" statement you wrote on a GPL project that doesn't make the new project also GPL.

Hopefully the software company you are working for does not expect you to steal source code from previous projects or employers for the purposes of them reselling it. Instead they should be looking for your experience and how you can use that experience to make their products better. If that experience was gained on a proprietary licensed project, or a GPL licensed project is irrelevant.

share|improve this answer
2  
Grr. Please don't compare me to Steve Ballmer, Jim. He doesn't like the GPL because it gets in the way of ripping off other people's ideas and stuffing them into proprietary software. I don't like it because it gets in the way of building legitimate open-source projects, which it purportedly exists to facilitate. –  Mason Wheeler Oct 7 '10 at 0:20
    
It could be argued that GPL does more to build open-source projects, and that other open-source licenses are too weak because they allow code that was previously open to be used in a closed source way. –  Jim McKeeth Oct 7 '10 at 3:48
7  
@Mason Wheeler Actually GPL exists to promote free software, not open source. And it does that job well. –  alternative Oct 10 '10 at 0:19
    
The GPL does make life hard for commercial product developers, who if affected by it need to invest considerable time, care, and sometimes even expensive legal advice. Therefore, developers just rushing off and using GPL s/w can be very dangerous. Developers don't always understand ALL of the in's and out's. –  quickly_now Nov 27 '10 at 7:39
1  
@Tim Post: it's irrelevant in the sense that it shouldn't affect your decision to include it in your resume. If I worked at Oracle (to continue that analogy) for 5 years and wrote lots of code for them, I wouldn't leave that fact off my resume just because I'm not allowed to cut'n'paste the code I wrote for Oracle into my new projects... –  Dean Harding Nov 30 '10 at 23:01
show 1 more comment

You could force their project into being open source because you included some GPL'd code from your own project into theirs

  1. This is untrue: If you own the copyright to the code, you can use it any way you like. Releasing it under the GPL in no way precludes you from using it in other ways. It's your code: you can do what you want with it.
  2. This is absurd: If it's not your code they're worried about, but the idea that you might grab someone else's code from the GPL project, then they'd be just as worried (if not more so) if you'd previously worked on proprietary code. What if you incorporated that into your work? Your previous employer could sue them.

If your potential employer would be scared off by work you've done on a GPL project, they are utterly clueless and you don't want to work for them anyway.

share|improve this answer
add comment

Depends, many big companies require you to have reasonable time periods of difference between the time you worked on a GPLed code and a similar product for a company. e.g. If you submit a patch in linux, Microsoft/Apple may not allow you to work on certain part or the whole OS team for some time (1 year) or may infact disqualify you from working on certain projects

share|improve this answer
add comment

I have released a lot of code as GPL, and yes, I do put it on my CV. One thing that many people don't realize is, releasing your code as GPL doesn't take control of the code away from you. You are, for instance (if you remain the sole copyright holder) free to make a proprietary fork of your code, or dual license it so that it fits the needs of another company or project.

I don't recommend doing that, but it is an option that is available to you should you want to use your code in a new job where the license might be problematic.

Still, not listing substantial experience on your CV seems like a bad idea to me, in almost any case. You might not want to list previous employment with Bernie Madoff, for instance. Barring something like that, of course you should list it.

share|improve this answer
    
Whether you can actually include the GPL code in your new employer's project is kind of irrelevant to the question of whether you should include the project in your CV at all. Of course you should include it, so I agree 100% with you on that. –  Dean Harding Nov 30 '10 at 22:59
add comment

It depends. If the work on the OS project helps you to look more experienced for the job you are applying for, you should definitely include it on the CV. The GPL argument is nonsense and anybody who is afraid of the GPL needs to learn a lesson or two. (See all the other answers)

On the other hand, if the OS project is irrelevant for the for the job you are applying to, you might decide not to mention it, for the simple reason that it probably won't impress the recruiter.

For example, if I had to apply for a C#-Job, I would not include my open source project written in C (padJoy, a plugin for playstation emulators), but I would probably mention a few (nontrivial) patches I've once sent to the DotGNU portable.net team (a project similar to Mono).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.