Recently someone asked me about OpenWashing. Let me share my thoughts here. OpenWashing is a derogatory term for companies who pretend to “do open source.” (We’ll discuss what that could mean.) The term is related to WhiteWashing (censoring information in order to “fix” history) and GreenWashing (portraying your product to be more environmentally sensitive than it really is). An ironic problem with OpenWashing is that it does not work. OpenWashers try to mislead. But Open Source is quite resistant to deception (it’s one of the things that makes Open Source so interesting to me). It’s pretty obvious when you try to OpenWash, so it backfires.
The term “do open source” means, what? It’s pretty unclear. Unfortunately, people use it to mean different things — causing confusion. Here are three of the more common meanings I come across:
- Using: Using Open Source products / tools instead of proprietary software within your company: e.g. using Linux vs. Windows servers in your server farm, using OpenOffice instead of Microsoft Office for your knowledge workers, supporting Firefox in addition to Internet Explorer. A variation of “using” is to use Open Source code in your development for products and tools.
- Selling: Releasing the source code to your technology products — and thereby in effect, selling something other than code. This is similar to the freemium model (offering a limited product for free, and a full product for money), or to underpricing your products in order to sell services for them. A variant of this is to offer a restrictive Open Source license for free and a permissive commercial license for cost.
- Giving: Allowing your non-product, non-essential code to be released as Open Source. i.e. Giving stuff away. Variants of the this include releasing code that shows how to use your products or that helps enable the use of your product in other platforms.
Note how very different these three are — and yet, people will say “I work in an Open Source company”, and you’re not really sure what they mean. And there are many variants to the three behaviors above — so the term “doing Open Source” has other potential meanings too.
Each of the above behaviors has value to a company. There are real benefits and real risks in 1. using Open Source, 2. selling services on free software or 3. publishing and contributing to Open Source projects. Many companies have some sort of policy (de jure and de facto) about how they leverage the benefits and address the risks. Openness is usually considered “a good thing” to be. (Just don’t reveal confidential information about your clients in the open!)
OpenWashing comes into play regarding various variants of #2 and #3. In the case of selling technology products, a company can give something for free, but customers may find a need to pay for something. Some people call this OpenWashing, since they go in thinking this is free, but end up paying for something. I don’t see this as a real problem. People who think they get things for free are naive — and it’s healthy for them to get a wake up call in the form of an invoice. Remember Heinlein’s acronym: TANSTAAFL. Sure there are free products out there — but companies have a responsibility to be companies. They will give things for free for good business reasons. You can’t be angry at a company for not being a charity. Payment eventually happens somewhere in the process.
Another form of OpenWashing comes into play when a company publishes code to Open Source, but does not accept code contributions from others (or does so in a very limited way). This makes other developers upset because they want to contribute (usually to improve the code), but can’t. So when a company simply “codes in public” it looks like they are “doing Open Source”, but it’s not a two-way street. Still I don’t have as much of a problem with this when it’s made clear. Yes, you might get upset that it’s not fully open — but that’s the choice a company can make when they publish code. Indeed the company will fail to get many of the benefits of Open Source (e.g. crowdsourcing bug-fixes, evolving the project to novel directions, building real partnership with the community of interest around that code), but it will get some benefits (transparency leading to trust, motivation to write better code, kudos to the hard-working developers, etc.). Sometimes it’s the right choice for them to make. They should make it clear and usually do.
Open Source has taught companies that they have to give in order to get. When companies limit what they give, they will limit what they get, but that’s a business choice. <foo>Washing takes place when someone deceives. But deception does not work so well in Open Source cases, since you can see what is going on. Let me know you have seen cases where someone deceives their community using Open Source, I’m interested to learn if I’m missing something here.
Open-ness is currently a strong cultural value. We want companies to be open with us. If you saw the recent movie Tron Legacy you might recall Sam Flynn’s heroic entrance as the good guy in the movie. The main character’s motivation for being the largest shareholder of the evil technology corporation was to steal their code and opensource it. (Ignore the ethics and legalities here, it’s just a movie.)
So when we hear a company say they are “doing Open Source” some people get very excited. We want them to be very open, and we want stuff to be very free. In some cases we may be disillusioned when we find out the details — companies are still companies. If it’s open and honest, then customers will usually respect it. If not, they will be very open in their feedback. And that’s healthy for both sides.