The Open Company Test
After writing that last post damning Apple's lack of transparency, I thought it might be a good idea to actually come of with a list of questions with which we might identify an open software company. I don't think it's necessary that a company meet all of these criteria, but the more the better.
- Open Sourcecode: Do you have access to the sourcecode? True open source is great, but simple access to the source code, even if it’s not under an open source license, is often enough.
- Open Data: Can you easily get your data into or out of the application, should the need arise?
- Open APIs: Can your other software interact with the application? The best applications provide different means of access: GUI, command-line, RSS, SOAP or REST, for example. These additional avenues of access enable you to build more complex and customized solutions using the product. Remember the philosophy of small pieces, loosely joined.
- Open Pricing: Can you easily find out from the company’s website how much the product costs, or do you have to talk to a sales-person? If it’s the latter, they’re hiding that information for a reason.
- Open Bugtracking: Can you access the real bug tracking system (not a neutered, customer-only bug ghetto)? Not all bugs (like security bugs) or information (like resource assignment) must necessarily be available, but the more the better.
- Open Feature Voting: Can you vote for your most critical issues and influence, to some degree, the allocation of development resources? There is obviously no guarantee, and there are dozens of factors that determine which bugs or features will be worked on in a given time period. But a user-visible voting system allows you to know that your voice is being heard and see how your request is balanced against other influences to effect the product.
- Open Communication / Open Community: Are you able to communicate with other users and with the developers of the product? There are many venues where this communication can occur: mailing lists, discussion forums, blogs (both employee author and customer authored) or wikis.
But the critical threshold is the participation of company employees who are capable of understanding problems and offering solutions — not just human firewalls whose only job is to make sure that the riff-raff doesn’t disturb the developers.
- Open Documentation: Can users contribute to the product documentation? As I mentioned here, allowing users to help each other creates better, more accurate documentation. Knowledge hard-won through actual deployment and use should be shared as efficiently and directly as possible for the benefit of all.
- Open Customer Support: Can you see tech support issues filed by other customers? Not every customer issue is appropriate to share with the world, but openness should be the default. Learning from other user’s problems can help prevent your own.
There is, of course, a price for companies to pay for all of these behaviours. Radical openness will invite criticism. Customers will complain when their pet bugs aren’t being worked on. Or when their votes don’t translate into a new feature quickly enough. Opening up your resources to outside comment requires someone to review the user-added content. (Some sites, like Wikipedia can rely solely on the community to do this, but in this context it is, at least partly, the responsibility of the company.)
I strongly recommend that the next time you are evaluating a new software tool you look beyond just the software and think about the company itself behaves. (This is particularly relevant for software that could be considered a platform for further development: programming languages, operating systems, web browsers, communication tools, bug-trackers, &c.) Having a partnership with an open company will make a drastic difference in your experience actually using software. Look for a company who is serious about honest communication and is willing to commit to this kind of partnership.
I’m also interested in other people’s experiences: what other aspects of a software company would you like to see brought into the open? What other kinds of transparency would make you more likely to choose a vendor’s product over a closed one? What companies do you think succeed in being transparent?