views:

299

answers:

5

If a company dumps its codebase online (i.e. on Google Project Hosting) then it is allowed to use and link with 3rd party GPL code.

Of course management doesn't allow making the code public because they think that competitors would steal their code.

However, it's my experience that huge company codebases are pretty useless for the uninitiated. I remember that at my first job it took at least three months for anybody to become somewhat familiar with the company code.

So, it seems like an easy fix: just dump it all online and you are OK.

Would this work? Or are there any other GPL requirements that I am missing here?

Apologies for the somewhat Machiavellian content of this post.

EDIT: I am NOT considering putting any code available online without permission from management. I'm just wondering if I should convince them to do it.

+1  A: 

I think GPL requirements are the least of your worries.

The ethical, legal and security aspects probably preclude you going down this route.

Before doing this, talk to your boss, and get your boss to talk to a lawyer.
Otherwise you will be sacked.

Bravax
Yes, I asked someone who has plenty of experience in the matter - what gives here is if your company has money, someone may try to take that money ... oddity is is does not make a damn what license one uses, and those persons won't bother to read the license. Trying to explain the computer issues to the company legal is in and of it's own nature so risky that we can mostly focus on not getting sacked. There are no easy fixes so "easy fix: just dump it all online" is ( probably ) an easy way to lose a job. ( this is just experience, not negativity )
Nicholas Jordan
+3  A: 

You're right. You are allowed to sell GPL'd software for any price ($0.00 to $$$) as long as you make the source available. Richard's idea wasn't communism but freedom to code.

And I also agree with the "pretty useless" part. Managers tend to see the value of the code in terms of "how much money we spent creating it" not in terms of "how useful it is". Also, they usually miss the fact that competitors would have to GPL their version, too, if they wanted to sell the modified product.

[EDIT] Note that, as long as you don't try to distribute your code outside the organization, you can include as much GPL'd code as you like. The GPL only governs the rules when the code leaves your company (mainly because people inside your company can actually get the sources if they want to). So no one cares what you do at home but as soon as you take your project to the street, you better bring a copy of the source.

As usual, IANAL.

Aaron Digulla
+1  A: 

I'm not sure what you are asking, exactly. It seems to me as if you are saying, "I want to put my company's code online. Is this okay?" Which, I would respond, no. It's theirs, not yours. They just hired you to do it. You're asking for a world of hurt if you decide to release the code. And, yes, this does limit you in which FOSS software you can link to. That's how it is.

JasCav
It doesn't limit linking in GPLed code in software for internal use only.
David Thornley
@Jason: I wouldn't put the company's code online without their permission, I'm not crazy..
StackedCrooked
+7  A: 

The GPL not only requires that the source code be available, but that the source code be licensed for other people to use it, copy it, distribute it, and so forth, as long as it's still under the GPL. This means that the company isn't going to be making money just selling its software.

It isn't enough just to put the code online, then, it also has to be released under the GPL.

There is no requirement that GPLed code be easy to understand (although obfuscated source is not allowed), and indeed some companies make money by giving away software under the GPL and doing things like selling support or customization, or sometimes dual-licensing so that it can be used in a non-GPLed program.

Finally, releasing code under the GPL isn't any sort of circumvention of the GPL. It's compliance with the GPL, and has all the advantages and disadvantages that gives you.

Another thing to consider is using GPLed code in a company's internal software. The terms of the GPL apply only if the software is released, and so not publishing either source or binary would comply fully with the license. Since most software is not written for sale to others, there's often on penalty at all for using GPLed software.

David Thornley
A: 

You can use GPL components, because someone distributed them and gave you a license to use them. You have to treat your users in the same ways.

The GPL is about distributing your program to your users. The so-called viral cluase in GPL means that if you use parts that are GPL, then you have to distribute the whole program to your users on GPL terms. It's not about publishing the code to the world, but to your users (if they wish).

It is not enough to publish your code, and in fact it is not needed (a written offer to send a copy of the source upon request is ok).

The whole point is that you treat your users fine. You don't give them a paranoid EULA license, you don't force them to sign NDA agreements. You give your users the freedom to use, study, distribute, modify the software, and distribute the modifications.

Publishing the source code wouldn't be enough if your users don't know about it, or if they weren't allowed to study it, or if they weren't allowed to distribute your software to third parties.

Tadeusz A. Kadłubowski