Convincing Your Superiors to GPL the Code? 139
jakobgrimstveit asks: "At work I've been developing an intranet/extranet portal framework in PHP based on many other peoples work, including quite a few PEAR modules. I've always wanted to release the coding framework as GPL and publish it on SourceForge, and my boss has - impressively enough - not been too negative about this. This has been going around in the organization for quite a while now, and finally the reply from the company's president was (not surprisingly): 'Why should we do so?' I now have the task of writing a document listing the main reasons for GPLing the code, and this is where I turn to the highly competent Slashdot crowd: How do I convince my bosses to GPL the code I've written? I assume many other developers have the same problems trying to convince their bosses to open up their code."
hahahaha (Score:5, Funny)
Oh, sure, them. We'll just wait for them to get here...
Meh (Score:5, Insightful)
In Fortune-100-America, everything possible must be stamped with a (c) or (tm) or patent#. Advancement up the technical ladder is difficult without getting a few patents for the company.
I think people here would have a heart attack if they knew I ever even thought about GPL'ing code, as that's almost tantamount to selling trade secrets.
Re:Meh (Score:1)
In Norway, the basic rules in IT is that whatever I code, whatever I construct while working is their property, and is not to be carried with me over to a new employer. And that is not a problem for me.
Re:Meh (Score:2)
Re:Meh (Score:3, Interesting)
In the past when I've worked for companies with overly broad copyright assignment clauses in their contract boilerplate, I've had them reword it to allow me to maintain copyrights on code that could be considered general purpose. The wording generally goes something like "... with the exception of code that implements functionality basic to the day to day tasks of software development," but sometimes is "
Re:Meh (Score:2)
Actually, the worst case scenerio is that they say "I'll get back to you on that". Then they go to their managers, who talk to the laywers, who discuss things with the manager you'll be working under, the the higher-ups get involved, meetings will be made. Research will be done, and four weeks later, they come back to you with a "Ok, we're making progress on that contract thing. Once we've writ
Re:Meh (Score:2)
As someone who had four patents pending at one of my former places of work, and who was canned anyways after his project was cancelled, don't count on it being a huge amount of help. Being a corporate suck-up usually counts for more than real technical prowess.
Yaz.
Re:Meh (Score:4, Insightful)
The upside is that they generally have no idea what their employees are actually doing, so it's pretty unlikely that one of those clauses will actually get enforced.
Still, shame on you for signing that contract. You should have negotiated.
Re:Meh (Score:2)
Re:Meh (Score:2)
I once saw the source code to the "yes" script on a commercial Unix. One half line of code, three screenfuls of nasty legalize about unpublished code.
Re:MehFortune-100-America includes IBM, Sun, HP,.. (Score:3, Insightful)
Fortune-100-America includes a few small corporations (E.G. IBM) that find it useful to contribute to open source. They don't do it because they "feel like giving away their property". They do it because they figured out it would produce more money for them.
So the first thing one should tell one's boss is "See, it's good for IBM!".
The point is not that if it's good for IBM it must be good for you. The point is tha
Company or personal copyright irrelevant to GPL (Score:3, Insightful)
That's nice but irrelevant. GPL doesn't invalidate a copyright, it relies on a copyright holder to offer the source as GPL. Whether that is a person or a company does not matter.
If you don't like the company own
Re:Company or personal copyright irrelevant to GPL (Score:2)
Your logic works great if you work for software company X and are writing code that they sell.
It even works if you work for company Y and you are writing code at their request to be used by people in company Y.
But when instead (like me), you work for company Z that pays you to do job A, and to od that you need to write scripts, then that company has NO business taking the scripts that you wrote. They did not tell you "make this scripts" to do your job. They di
Re:Company or personal copyright irrelevant to GPL (Score:2)
Because in the country where I live, we are not all lobotomized between jobs. When I move from one job to another, I am able to provide something called "experience"
When you fail to understand the topic in the first place a labotomy is not required. Clue: The topic was taking finished scripts and other source code to your next job, not the experience needed to rewrite new scripts and sourc
Advancement? I wish (Score:2)
US patents are not for us to pursue, that's a legal/business decision. We must simply supply the material, and the suits figure out where it goes. No one on
It also says in our company code of conduct and in our IP accountability training, that we are not allowed to modify GPL code with
Who, us? (Score:3, Funny)
It's funny, laugh!
Sources of advice (Score:3, Funny)
Well, that was your first mistake.
Tell them your reasons (Score:5, Insightful)
Re:Tell them your reasons (Score:3, Informative)
* Other people can gain knowledge from my code
* I can gain knowledge by other people commenting/submitting patches to my code
* Security vulnerabilities will be found under peer review
* I will get Good Karma [tm].
But me wanting to publish the code is not reason good enough for a boss, of course. He needs to see what he (as in "the company") can gain from this, so I'd like to get as much i
Re:Tell them your reasons (Score:5, Interesting)
"I wish to maximize my productivity by leveraging the efforts of the Open Source Development Community, thus getting us development resources at no extra cost to the company."
Re:Tell them your reasons (Score:4, Funny)
Re:Tell them your reasons (Score:3, Insightful)
- Be honest. Do not exaggerate any perceived benefits or skew the facts.
- Be balanced. Write both positive and negative effects. Strengths and weaknesses. Cost/Benefit. Every coin has a flip side.
- Be brief. Your boss will not take his time to read a report. If possible keep it within one page of text. If that is not possible it should contain an "Executive Summary" in ~200 words.
3.
Re:Tell them your reasons (Score:5, Funny)
Re:Tell them your reasons (Score:2)
If they use it, if they bother to understand it.
That's a pretty theory - the reality is that few OSS/GPL projects ever get any code back.
In theory. Again, reality shows that they are found not by peer
Re:Tell them your reasons (Score:2)
Re:Tell them your reasons (Score:2)
Re:Tell them your reasons (Score:2)
Anyway, here are some likely responses you will get. Up to you to decide how you will handle them.
* Other people can gain knowledge from my code
"Irrelevant to the company."
* I can gain knowledge by other people commenting/submitting patches to my code
"We didn't hire these people or evaluate their qualifications and references; we have no reason to trust them. How
My boss was an easy sell (Score:2)
It's also a good way to have somewhat of a "short list" pool for future relevant hiring. It could allow the company to easily assess the person's work, and the potential employee to already have a relationship (however small) with the company.
My boss was an easy sell, but I think it was basically this point that tipped her. Plus, we'd had reasonably good luck paying bounties and use a huge amount of GPL/MIT/etc licenced stuff around the office (gnu/linux, X, Apache, Mozilla/firefox, mySQL, Ruby, etc., e
Re:My boss was an easy sell (Score:2)
Right from the beginning, we decided that if we made this software OpenSource and just put our name on it, not only would it help businesses as a whole, but free advertising always helps us.
References to the company are in the code, on the website, our logo is on the website, etc... Its basically like IBM releasing something - you know they made
Re:Tell them your reasons (Score:5, Insightful)
Exactly why IS it that you want to GPL the code?
Will ANYONE benefit by having it GPL?
Difficult to present a sales pitch only knowing what we want to achieve, and not having any inkling of the steps inbetween.
Re:Tell them your reasons (Score:3, Funny)
You must be new here. Everyone knows the step before "Profit!" is:
Tax write off? (Score:3, Interesting)
I'm not a tax law expert but could a "code donation" be considered a charitable donation. Figure out how long you worked on the project and determine the monetary value.
Tell them that using GPL code reduces their costs because you do not need to "reinvent the wheel" every time you work on a project.
Technically you don't need to release any changes or additions you made to GPL'ed code if you keep the project in house. If your employer does allow you to release the code, you can alway
Re:Tax write off? (Score:2)
good luck (Score:5, Informative)
the only way you can convince him is to state the advatages it gives your company, and not what it gives society.
1. other people can fix your bugs and security holes for you
2. other people can add features for you
3. no need to pay for beta testers
tell him you can still maintain your rights of it in that you still have the final say in what gets merged into the source code, and that code vandalism wont happen (people putting in their own backdoors)(as if anyone can immediately donate code and have it show up).
do tell him that one negative of it is your competitors could also use your code, you wouldnt want to get fired for not telling him that someday.
Re:good luck (Score:5, Interesting)
Also, bear in mind that this will give you an insight of how they run their business.
Finally, you could then turn around and sell them "SuperSoftware Enterprise Edition", since they alreay know and use and love SuperSoftware Standard.
Ultimately, though, your boss does not care unless the business makes moeny off it before year's end.
Remeber Google: If you want to build an $80B company in 6 years: Use linux and develop your own software.
Re:if that doesn't do it... (Score:1)
Believe it or not this type approach has worked for me in the past.
Relicensing (Score:3, Insightful)
Re:Relicensing (Score:2)
Re:Relicensing (Score:2)
More generally, I suppose you would have to restrict the relicensed version to in-house code. (I've heard that Richard Stallman considers this suspect, but that might be a mis-statement of his position.)
Re:Relicensing (Score:2)
step by step argument (Score:5, Insightful)
Re:step by step argument (Score:2, Insightful)
Re:step by step argument (Score:2)
No suggestion was made that others weree more competent, just that the combined effort of many would be more productive than one person alone.
If it provides advantages to the competition, then the president should probably not go along with it if he wants to keep his job. QED.
I don't know what you mean by "the kind of people"... This guy clearly wants to GPL the software but the decision isn't in his hands. He's trying to persuade someone else, hence the need for an argument.
The variety of licenses
Re:step by step argument (Score:1)
Thanks for spelling it out for me. English is not my native language, and some essence may have been lost in the mental translation. This is exactly what I want to achieve. And if I get enough constructive feedback I will group the arguments together and feed them back to the community. Keep the good tips
Re:step by step argument (Score:2)
I think it's to most places benefit to put stuff under the GPL unless there's a specific reason not to. One worry in GPLing your code is a competitor commercializing your code in a way that you can't work with. The GPL is one of the better licenses for making sure that can't happen.
Re:step by step argument (Score:2)
Re:step by step argument (Score:1)
Correct me if I'm wrong, but the LGPL actually will make the boss feel less "in control" because it will allow competitors to use your code without releasing their changes to the GPL. It's probably got less of a chance of succeeding in the poster's situation than
Re:step by step argument (Score:4, Insightful)
The LGPL still requires permission for others to sell derivative works.
No it doesn't. As long as the others distribute the source of the LGPL'd code along with the closed binaries, they're in compliance. No additional permission is required.
But since it allows for some closed source arrangements, it may be preferable to some bosses.
Why would some bosses prefer that others be able to use the company's property in closed source products, commercially, without permission? I would think that they'd prefer to start with a license that is more restrictive than the GPL, rather than one that is less restrictive.
Re:step by step argument (Score:2)
Re:step by step argument (Score:3, Insightful)
I can't imagine why the boss of the company releasing the beast would prefer to use a license other than the GPL. The GPL's viral nature ensures that nobody else can incorporate the software into a product of theirs, without GPL'ing that product, too.
At the same time, your company still can use the software in non-GPL'ed products, because they are the copyright holder. When you have contributors assign copyright to you (like the FSF does), you r
Re:step by step argument (Score:2)
Re:step by step argument (Score:2)
Which they _have_. That's exactly what I was trying to clarify. Since they are the copyright holder, it's perfectly alright for them to license it as GPL, and at the same time sell it under a proprietary license. For example, Trolltech does this with Qt.
The only complication is if third parties contribute patches without assigning copyright to the boss. If these patches are ac
Re:step by step argument (Score:2)
Re:step by step argument (Score:2)
support (Score:3, Insightful)
Some ideas (Score:4, Insightful)
Realistically though some of that is going to need kickstarting which will require some small financial and time outlay. Things like provisioning the initial website and forums for your applications users to bounce ideas and code back and forth. Some man hours, probably yours, to apply patches and integrate new features until such time as you hopefully have an active enough community to let others external to the company help maintain the code on their own time and dime. Be realistic and give them some negatives too, albeit with a positive spin, to show that you've thought things through and demonstrate that the benefits outweigh the expense.
Oh, and if you do eventually get the product GPL'd, submit the news to Slashdot as a "Slashback"; that should give your fledgling userbase and development community a running start!
What kind of doc will you write? (Score:2, Interesting)
Seriously, if you want to convince anyone of the 'superiority' of open source versus hidden source code, then simply write some glue code of your own which does something special.
That is to say, position yourself with GPL/OSS code in such a way that you prove that the open stratification of code, abstract on whatever levels you choose, is worth the effort. Write an app using GPL'ed API's that nobody else could've written, quite so quickly, if a deep and sudden unde
Re:What kind of doc will you write? (Score:3, Insightful)
Re:What kind of doc will you write? (Score:2)
That is to say, position yourself with GPL/OSS code in such a way that you prove that the open stratification of code, abstract on whatever levels you choose, is worth the effort. Write an app using GPL'ed API's that nobody else could've written, quite so quickly, if a deep and sudden und
Re:What kind of doc will you write? (Score:2)
The issue is that you di
My boss was pretty cool about it (Score:4, Informative)
The real question (Score:5, Insightful)
Or were you asking for benefits your companies exec's would understand? That may be a trifle more difficult to expound upon since we don't even know what your company does.
Re:The real question (Score:1)
And yes, what I need is good boss-convincing arguments besides what I've already outlined.
My company does not sell any IT products (we're in the shipping business).
Re:The real question (Score:2)
If so, then it will probably be hard to convince your CEO to open up the code. He will be worried about your competitors using your code against you. Rightly so, if you ask me. That's not to say that GPL'ing is necessarily a bad idea, just that's it's something that should be considered very
why did you want to in the first place? (Score:2, Insightful)
I think it would be more productive if you would share a practical reason for GPL'ing the code, if you had one.
It's all upside (Score:3, Interesting)
- It costs nothing
- It risks nothing, as there is no marketability
- The licence clearly states no warantee, no support
It's "fair" and good for "the community"
- You use open source, so you should "give back"
- Others may benefit from it, appreciate you
- If everyone takes cost free steps for mutual benefit, everyone will be better off
The upside is all positive:
- You may get help finding & fixing bugs
- You may get help enhancing it
It highlights publicly good work that your company has done
- Releasing code is comparable to publishing in a trade journal, and is valuable for the same reasons
- Associates your company, department, and you specifically with an area of expertise
- May place your company in higher esteem among the IT community, which helps hiring
- Generally, networking with others with similar business problems is good experience
Re:It's all upside (Score:1)
What licence do you have on these ideas?
Re: It's all upside (Score:2)
It clearly does cost something: the poster's time in tidying up the code, packaging it, releasing it, maintaining the web server or whatever he uses to distribute it. It may well also cost his time in answering emails, reviewing code submissions, merging in patches or maintaining a version control system, making future releases. (Of course, I'm assuming his time is worth something to his company...!) The web server or whatever may also cost
Re:It's all upside (Score:2)
You risk any competitive advantage the code gives you. This is a _huge_ issue to consider if the company is a market leader or experiencing strong growth due to the things its in-house software can do.
If some company is kicking arse and taking names in its market segment because of the advantages provided by in-house software, quite possibly one of the *dumbest* things that company could do would be to release that software to the world.
What's the problem? (Score:2, Interesting)
I agree... (Score:5, Interesting)
If you can't find a coherent argument for why it's in your companys interest to release the source code under the GPL, then there is probably little reason to do it...
Then again, unless your company is in the business of selling "intranet/extranet portal framework"s then it shouldn't hurt much.
Apart from GNU ideology, the decision boils down to:
If you can find reasonable answers to those questions, a reasonable boss will make a reasonable decision :-)
Re:I agree... (Score:2)
Another Route (Score:2, Insightful)
Outside of that check out ESR's [catb.org] various works for "business minded" reasons to go "open source". He has particularly compelling arguments for just the sort of thing you've written.
-Peter
Simple Reason (Score:2)
Sure, no guarantees, but that applies to anything in the world today (including job security
You want to do it, but why? (Score:2)
So start by explaining what you want out of this, why you think GPL will be good for what you are doing.
Reasons to NOT GPL private code. (Score:2, Insightful)
The security architecture flaws in the code will be revealed, exploits developed that with your self ingratiating credits attributing your handiwork to your company by way of email addresses with the companies domain and along with the unwitting conspirators names and emails who helped with the code all of which are very easy to track down using Google.
GPL Lesson 1
Do not attribute the code so that it can be linked back to the associates or persons or compa
Re:Reasons to NOT GPL private code. (Score:2)
Note to moderators: If it takes three readings of each paragraph to figure out what the hell a poster is talking about, it's probably not worth modding up. I know there's this tendency to think that, if a post is more than three paragraphs long, the poster should be rewarded for all his hard work. But fight it.
If I understand your arguments correctly, you're basically saying the following:
1) Security through obscurity is a great defense. Don't even bot
Read the GPL (Score:2)
And then think again if it's whaat you want.
Maybe BSD is better for your and your company's future goals (which neithe you now your company may not know today!).
- Hubert
Never tried, but (Score:3, Insightful)
If it won't, and it's something that others (not your competitors) may find useful, then you may as well GPL it, to let others discover the bugs before you do.
Re:Never tried, but (Score:2)
If the answer to both questions is no, it's pretty cut and dry whether to release it or not.
how about these (Score:3, Insightful)
builds goodwill of a community (that may be your customers (?))
can result in free development work by hobbyists that use your code
allows you to legally make use of the vast library of other GPL code out there
a free alternative may supplant proprietary solutions of your competitors (see IBM's various contributions..); best if you have no commercial plans for your product
open source is a cool buzzword to have attached to your product and company at little cost
Of course, if you can sell him on FSF dogma, then there are loads of philosophical advantages, too.
Re:how about these (Score:2)
Now, his code can already take advantage of any amount of GPL'ed code that he would like. It's only a legal issue when his company goes to sell the code. So I would refrain from using point #3.
Here is the overall argument I would use: "Mister boss, sir? We use a great deal of GPL'ed code here at XYZ Corp. If it weren't for open source, some of that code might have cost us thousands of dollars in licensing
Re:how about these (Score:2)
Well, not just sell, but distribute. If this program isn't just for internal use--like if they are installing it at customer's sites as part of some service contract, perhaps, then they need to abide by the terms of the GPL if there is GPL code in there. He wasn't really clear about how they're using it.
But yes, I am
Sell it to them using language they'll understand (Score:2)
Re:Sell it to them using language they'll understa (Score:2)
None of this things you've listed are even remotely guaranteed to occur. At best, they're optimistic assumptions.
If that doesn't work, you could point out that it won't cost them anything to GPL the code, but they stand to gain a lot.
Ot could cost them their competitive advantage in the market place. What sane businessman would give that up ?
Reasons (Score:5, Informative)
2) Code stability. You can sell services or derived products to third parties and tell them that the product is safe against your company going bust because the code is public. Downside: you then have to do the harder work of convincing the buyer not to "cut out the middleman" and implement a homebrew with the published GPL code. GPL code cannot be your only source of value!
3) Compatibility with 3rd party extensions. If you GPL, you get a license to merge in anything else GPL'd and thereby add maximum features for minimum effort. Downside: if you muddy up who has the copyright, you may not be able to un-GPL it (nor sell special-case licenses to users who'd prefer closed source)
4) Why not? If it's not a "strategic" asset but only an in-house tool for a secondary task, GPLing can't hurt. Downside: publishing code and dealing with bug-reports and user gripes can eat expensive dev time. If the business case is that marginal you may be forced to "publish and abandon".
You do realise that it will often NOT make sense to open-source the code? In particular, a "strategic" app, or one that implies sensitive info through its design, or one that presents a public face you don't want to be hackable. Or simply if your boss thinks "I can't spare dev time for this nonsense". Businesses aren't charities (unless you're tax deductible).
What can happen to a new OSS project? (Score:5, Insightful)
2. Code is released under GPL, code is pillaged and partially moved to other systems leaving the original code obsolete and inferior.
3. Code is released under GPL and takes off as a succesful project.
Option 3 is least uncommon by far.
Unless you have good reason to think your system will be sufficiently popular to actually gather a community (remember; there is no OSS community; only individual OSS developers), you'll have a hard time making a business case.
Re:What can happen to a new OSS project? (Score:2)
um, no. option 1 (or something close to it) is what happens to 90%+ of the stuff on Sourceforge. But this at least is better than the fate of 99% of comercial closed code, which eventually reaches the end of its use, is forgotten by the long-departed coders, and just dries up and blows away.
Re:What can happen to a new OSS project? (Score:2)
Sell 'em the beer (Score:2)
I appreciate this goes against the whole spirit of something like the GPL but if you have to tell a few white lies to get something to happen then the important thing is that it gets to happen.
I'd sell it on the "Any holes will be fixed and new features will be created completely free of cost to you by a vibrant community that will
Highlights a weakness in GPL (Score:3, Insightful)
Consider this senario: you want to convice your boss to open source. To do you could first show him all the other open source code which is available to use. Without the viral clause this would work fine, your boss would see all this code, use bits of it and a year down the line might actually consider contributing some of their own code.
The viral clause means this senario won't happen. Your boss will read the GPL and notice that by linking in that code they will need to also release their code under GPL. For an open source newbie this is not something he'll be willing to do. The consequence of this is that the boss will instantly dismiss the ideas of open source and never get to see the advantage. In essence the viral clause creates a block to acceptance.
To get around this block, hunt out LGPL code or the other open source licences which do not restrict the freedom to distrubute products incorperating open source code under their chosen licence.
Alternativly consider becoming a contractor. The rules of engagment of different here. As a contractor you have more freedom to develop your own code base. Employers pay you for the knowledge (and code) you have built up over the years and be more understanding of your need to continue building that.
p.s. Yes I know viral probably not the best term to use here (see slashdot passim), just can't think of a better term.
Re:Highlights a weakness in GPL (Score:2)
The correct GNU/terminology is "freedom".
Ask him... (Score:5, Interesting)
One of my team wrote a little interface wrapper between Ant (build system) and AlienBrain (source code management software), because he couldn't find one anywhere else.
I argued that, without the FOSS nature of Ant, we had saved money and it was therefore our duty to contribute.
The main stumbling block was that I had to show that this wouldn't materially advantage our competitors.
The final version is at http://sourceforge.net/projects/antab/ [sourceforge.net] in case anyone wants to look at it.
My personal Method (Score:2, Interesting)
It costs the company nothing & you get a near complete app which needs further development.#2
Impress him with the features and ease of use/cost.
#4 Explain that it must be rewritten at a significant toolkit/developer cost
or
for nothing, we can release it under the terms of the GPL.
His next question is what are our requirements under the GPL? Every CD ships with the source code, keep copyrights & GPL notices, done. In my case, He agree
Raising all boats (Score:2, Interesting)
If we GPL it, though, other people will adopt it instead of writing their own. We then reap the benefits of their improvements to the infrastructure.
And just to be clear: We aren't GPLing our code that makes us unique & that is our real value.
Not to mention the goodwill GPLing the code will generate for the company. Or possibly good press. Or the k
Credibility (Score:2, Interesting)
seek first to understand (Score:3, Interesting)
Or you could take a couple of steps back and think a bit about human nature. Most people (99.9999%..ok, I can't back up those stats) will take 2 years to make a logical decision and 2 minutes to make an emotional one (yes, even CEOs)...and what's the biggest emotional motivator? Fear!
"Hey bob, did you hear company X (where X is a random competitor) is open sourcing their framework?"
Now forget all about it, go have a coffee, when you come back to the office you will miraculously have one of upper management not only giving you permission, but actively directing and tasking you on his/her new "open source vision"...which he/she will sell as their idea, which is a double bonus, because if anything goes wrong it's not you in the firing line, however if it all goes right then people know who wrote the code
Niccolo would be proud
Go at it from the other end. (Score:2)
"What benefit would we get from NOT GPLing this code".
1) Our competitors will not use it. Hm. Is this code REALLY that fantastic that competitors would WANT to reuse it? Yes I know, we all like to think we are coding Gods and that all should bow down to own superior code. But truthfully, the competitor will instead say "I have no need for that/already got one."
2) Other people will not be forced to pay us to use our code. Were they going to anyway? Ask to see profit projections
Re:Go at it from the other end. (Score:3, Interesting)
That's basically a limited analysis. What you forget is that any piece of code can immediatly improved on and suddenly generate a small profit stream. As soon as it is released, the cahnges are easily made withoit help from the company, this sealing off that source of potential revenue.
While there are ways around this problem, they generally require planning beforehand (e.g. source release scheduling).
Besides - a lot of people haven't read the GPL fu
How I succeeded (Score:2)