Contractor Discounts When Working With Open Source?
mborland asks: "As I am contemplating doing contracting for a living, I have set my rates, and am allowing hiring organizations the option of a discount if certain portions of my work are released into the public domain under GPL. This at least benefits me, as I can feel free to easily reuse code for other projects; it arguably helps the organization, especially if the code is any good to begin with, and gets improved over time. If I do work for an organization which requires, for various reasons, that the code be propriety, then they pay full price--and they are happy to do so. But most places who just want something to work well and do not care about code ownership are happy to consider a price reduction. Any experiences with this? Thoughts?" This is an interesting way to professionally advocate the use of Open Source. What do you think about this practice, especially those of you working in the industry as contractors?
If the client doesn't mind "reuse" by other clients, he gets a price reduction. If someone wants "ownership", he'll get married and pay the full price.
Honestly, I think you've summed up the situation pretty well. As a contractor, I have no problem letting people open-source code which contains nothing relevent to the company. Obviously, some code we cannot allow to be open-sourced, and employees have to sign NDAs before working on it. Our lawyers insist on it, and our company has been screwed before we beefed up policies. Unfortunate, but necessary.
---
---
"Of course, that's just my opinion. I could be wrong." --Dennis Miller
If someone were to offer me a price break in exchange for giving away the application when it is finished that's fine. I will get what I paid for (inventory software) and what else results from that is of little consequence to me.
And you can even benefit from it. If somebody else picks up your non-core code and improves it, you win. There's also good PR involved: although the world in general may not care, giving away free source code is a great way to catch the attention of programmers. And given the high cost of attracting and retaining tech employees, a little open-sourcing of software unrelated to the corporation's mission could go a long way.
As an example, I have a company which makes widgets and I need some inventory management software written. Inventory software is not directly related to the technology of making widgets and as a result I have few programmers on staff who would be proficient in writing such software. Therefore I decide to hire a contractor to write such software for me. Since this software is not core to my business I am quite sensitive to the price of obtaining such software. If someone were to offer me a price break in exchange for giving away the application when it is finished that's fine. I will get what I paid for (inventory software) and what else results from that is of little consequence to me. On the other hand, If I were running a company that produced inventory management software I would feel very differently about this situation.
_____________
I don't want free as in beer. I just want free beer.
You will need to be careful if you release code to the open source community and plan to use it again in future projects which will not be open sourced. If you are using the GPL you will need to retain your copyright to your own work and keep it separate from any work to which anyone else contributes to. There is nothing preventing your from releasing your code under several different licences as long as you actually own the copyright to all the code involved. Once you begin incorporating other people's contributions into GPL'd code it's GPL'd.
_____________
I don't want free as in beer. I just want free beer.
First: You state "portions of my work are released into the public domain under GPL." Public domain and GPL are two mutually exclusive things.
Second: Have you considered that you will only be able to reuse the code in future programs if:
1. You have the company sign over copyrights to you or,
2. You get the first company to license the code to the second under some other license or,
3. You get the second company to go along with the GPL thing for that project as well.
You can always have the option in a contract for letting just you reuse the code but not the proprietary knowlege that you gained in writing one piece of software for another project, while not making it open source.
For example, if I'm doing web sites and I build a really pimping guestbook (This is a contrived example) I could put a contract option that doesn't let me open-source it, but it does enable me to use the same pimping guestbook on other projects.
Unfortunately, this can be problematic because then everybody will take this option and not the open source option. Depends on if you are doing this for business expediency or open-source correctness.
You can also write useful pieces of software for yourself and then just use them for every client. There, open source would be a good thing because people will see what your code actually looks like and works like.
Gentoo Sucks
While I like, use, and support Open Source ideas as a developer, I must put on my Corporate hat and spend a moment to speak for the corporation.
Having started a few corporations of my own, I have learned many things about the value of a corporation. In the end, as an employee of a corporation, your success is tied into the success of the company (Unless you are the type of employee that has no stake or interest in the company you work for, in which case you should quit, becuase you are not doing anybody any good). The success of your company is measured by it's value. So how is value determined?
The contracts - The most valuable thing in an organization is the contracts held by that organization. Whether it be a long-term agreement by a long-distance carrier to supply service at a greatly reduced rate, or it's a contract with an employee to not divulge or develop the company's business practices with competitors. Any contract with an "open source clause (OSC)" like the one metioned would immediately devalue any contract it was in.
The technology - For many "infrastructure" or software only companies, their value hinges on the technology the have designed or coded that their competition does not have. For example, Veritas, their company is based around technology (and the software to implement) backup systems, server clustering and the like. Obviously an OSC would give the technology away to anyone who wants it, thus devaluing the company.
Barriers to entry - Never thought I'd use something from ECON 101, but here it is. Akin to techonology is the barrier to entry. This creates value in a company by making it difficult for prospective competitors to enter the market. Sometimes this takes the form of patents, other times a truely complicated algorythm. Another popular form is a closed data file format. All these things make it more difficult for competitors to compete, making your company more valuable. OSC would alomst destroy barriers to entry. You can't get a patent on something that Open Source.
Notice that "money" is no where on that list. The value of a company depends very little on the money that a company has, but on what intangables it contains. Why? Beucase intangables can be converted to money at varing values. A dollar is always a dollar, but a contract for a dollar could be worth $0.65 or $20. So saving 10% or 30% off the cost of writing something is really not a good bargin when you are calculating the value of a company. In the end, I cannot fathom why any company whose goal is to make money would want to release it's work to the Open Source community. Does this mean a company should not use open source software? HELL NO! Open source software is very cost-effective, and (most is)well-supported. It's when the company moves from a user of Open Source to a developer of Open Source that the problems arise.
--
He had come like a thief in the night,
Si hoc legere scis nimium eruditionis habes