How to "Open Source" Custom, Contract Software? 392
customWorks asks: "I've been approached to write a piece of custom software for a small business owner with the promise of autonomy in its design and implementation. I do not intend to stick around for incremental development after I've delivered it, and so I feel strongly that open sourcing the software would be prudent for the both myself and prospective client. That said, I still expect to be paid for the developing the software. The issue of course is over convincing the client of the benefit of giving away the source to something they've just paid to have developed. I'd like to know if any of you who've done similar contract work have had experience (success?) in presenting an argument for open sourcing the end product? What were the major concerns/misperceptions that you had to overcome in making the case for open source?"
Just make sure you own the IP (Score:5, Informative)
If the customer insists on owning the IP, then there is a great reason to raise your rates.
Open Source Policies (Score:3, Informative)
If you're working with a firm that's more familiar with the a community or is part of a larger scientific community, it's another matter. Some firms view releasing open source software as almost a promotional effort and you might egg them to develop an "open source policy" to satify their concerns.
Board of director types have bazaar stigmas and FUD like "won't we have to support it," "won't it give away our business model," and so on. You can address those questions by suggested an OSS policy. The policy basically comes down to how and when they'll open source software. For example, they won't open source software that would be directly useful to their compeditors. When they do, putting the employee email addresses won't be allowed, as it will burden them with emails. Open Source projects shall be included on another website, etc etc etc.
But they will be more warm to a policy than simply deciding to open source things adhoc -- so if you give them a policy to address their concerns, you might have better luck.
And of course if your Philip Greenspun [greenspun.com] good, you can TELL them it'll be Open Source.
2 cents.
Re:Emphasize the benefits (Score:2, Informative)
No, since they have the source, they will provide it to the "anybody" you mention to fix/enhance/etc. I've been that "anybody" many, many times.
Remind them that without this move, the IP will still be yours and they will have to negotiate with you for improvements and further development, and that if they want the IP themselves, that will mean a cost increase for them.
This is just not true. They paid for your time, they own the source. You however, can go off and reimplement it at your next client... Remember, you didn't just get paid for some text files, you got paid to transform a set of requirements into a tested solution... This includes testing, debugging, looking on #dumbass for help, etc.
I've done this in the past (Score:2, Informative)
The software will include Open Source components for which neither CLIENT nor CONSULTANT will hold exclusive copyright. CLIENT will be granted an unlimited license to use the software. The right to resell the software will be granted but will be restricted by the terms of the GNU General Public License (http://www.gnu.org/) and/or other Open Source Initiative approved licenses (http://www.opensource.org/).
This particular case was for a project which I knew would include some custom code in addition to some pre-existing open source components, but you could apply the same idea to 100% new code.
How about extending an existing OSS Project? (Score:2, Informative)
But please don't bother open sourcing anything if you (or no one else) plans to maintain it.
There are enough dead projects out there already. Don't add to the graveyard.
Re:Actually (Score:2, Informative)
So the question is "How do you get around this?" I'd love to know, because from the contracts I've had (mostly large telco's) it was either sign the paper or I don't get the work.
Re:Emphasize the benefits (Score:3, Informative)
If I design a logo for a company I state up front in the contract what they can do with the logo. For instance if they were going to just use the logo on a web site I would charge accordingly. However, if this logo is to become the company's entire identity system I charge a dfferent, more lucrative (for me) fee. I can't turn around and sell this logo to another company but as I own the copyrights to the logo, I can include it in my portfolio without the company's approval.
Re:Actually (Score:4, Informative)
This can get tricky because you might want to use some of it for in house code libraries and the like, and in some cases they have objected to using any pre-existing code and/or using any of "their" code for future projects. Yes, this affects the price, and yes you should get a contract signed that covers all of this.
Furthermore, there's the matter of good business sense. Even if you do own copyright, giving away what you just sold to your clients competitors doesn't sound like a good idea. It causes ill feelings when a developer is selling a app they were paid to write -- much worse if they just posted it on their website.
If I were a business.. (Score:1, Informative)
But then, that's assuming my imaginary corporation (We'll call it Taco Corp) has the resources to say, "No, thanks." and shove the development onto in-house coders.
Even if Taco Corp didn't have those resources, I'm all but certain that they could find someone who would agree to their terms.
And, in truth, this is all FUD, but FUD that is not often rectified. By shoving the program under the GPL, I'm not obligated to release the source code. If the program is ultimately being used in-house, the only binaries being distributed are with the company - and they'll most likely have the source anyway. (And I assume this is what we're talking about - in house programs. I can't see why a company would be outsourcing coders for a product they're going to sell!)
There are benefits to this sort of thing. When the program ultimately falls into disuse, the corporation can gain some flag waving from the open source crowd by easily releasing the source and binaries to the public. The company has no use for it at this point, so where's the harm there? They'd just delete it anyway, but instead, they toss it to a foaming community that will shout "Taco Corp ROCKS!". Free publicity/good deeds and whatnot.
Even if they make severe additions to the code, and the final program is still in use, they can, AFAIK, release an earlier version to the public provided they're not shipping out binaries of the changes they've made.
Let's face it; we are foaming lunatics. We have to be - we have to support companies who even toy with the idea of releasing the source to products. We have to show them that they can gain from the good PR they'll get from doing things like this.
While it seems like they're getting the lion's share, in the end, we win.
Recap of some of the above (Score:5, Informative)
In general, the more restrictive the customer rights to work performed, the higher the rates.
You do _not_ open source truly custom work, (Score:2, Informative)
I myself do custom work for small businesses for a living. I'm a Java guy who's into open source, here's how I typically work:
Re:NO you don't - Actually you do, if you're scum. (Score:2, Informative)
He thinks he's buying a product from you, not subsidizing your personal open source development. I'm curious, how do you feel that this will be in his best interests? His best interest would be for you to become his hire, develop the product, and walk away leaving all your work in his posession.