Companies and communities is a topic I'll speaking on at SCALE. I welcome any feedback or points to consider!
First off, there is no ideal company/community relationship. There are lots of different types of relationships between companies and the communities they work with (or don't work with) – and no one way is perfect for everyone.
The goal should be for companies and individuals who use and support open source software to work effectively together. And part of working effectively together means making sure that the open source model is sustainable. Which means interacting for the good of the project, not just taking or using open source software.
However, how best to interact with the community is a question that many companies struggle with.
It's easy to give companies some general advice: be transparent, let
your employees contribute, talk about what you are doing, … but a
good advice has to take into account what the company is trying to do
with open source software.
In this post, I just want to enumerate some of the types of companies that interact with open source software.
I'll use some of the companies in the GNOME communities as an example because I think GNOME has good, strong ties with the companies in its community.
I can define the following types of companies. There is some overlap between categories.
1. Companies that just use open source software products. These are companies that use GNOME software in their company, say as their desktop or as their image editing software. People use GNOME and they are part of our community whether we talk to them regularly or not. They test the software, do word of mouth marketing, and add credibility to the project among other things. I wrote a whole article about The Role of Consumers Within an Open Source Community. You could argue that a company full of users might have more responsibility to the project than just an average user. And some do. We sometimes get financial support, great case studies and references from companies that use GNOME.
2. Companies that distribute GNOME. In the case of GNOME, some of these are obvious, like all the Linux distributions. Others are not so obvious, like devices or phones that contain GNOME technology. There are also several categories, those that modify the open source software product and those that don't. In the case of GNOME, I think many of our distributors modify it before they ship it. These companies bring some obvious benefits like developers working on the project, fixing bugs and adding features. They also bring some less obvious benefits like ties to end users, marketing, and financial support. The best companies figure out how best to "work upstream." Working upstream means working close to the project, getting your fixes and contributions accepted and into the main branch. For many companies, that is really hard. They often have to make a lot of fixes to make a product acceptable for their solution or their customers and by the time they have time to check it in upstream, they're a version behind and the project doesn't want it. The best companies figure out ways to minimize that time warp.
3. Products built on or with open source technologies. These are companies that build products like Nokia tablets, Garmin GPS units or Supersonic Imagine (the breast cancer scanner). Some fall more into the user category than the distributor category (although they do both.) They need to make sure their developers establish relationships with the community, at the same time they make sure that their companies also establish a good reputation for being supportive of the open source software products they use.
4. Creators of open source software products. There are more of these than you'd think and they fall into lots of different subcategories. Products like Banshee where the key developers work at Novell or products like Maemo started by Nokia but working on creating an external community. These companies need to decide whether they want an external community, an independent community or if they just need an open process for their project.
5. Services. Companies offering services or contract development work around an open source software product. In the GNOME community these are companies like Fluendo, Openismus and Codethink. These companies often have strong community ties because they hire contributors or their employees quickly become contributors.
Any other types?