27 Març '07 - 523 WMy thoughts on communities backed by companies
These days I have been reading with interest a few blog posts about communities and open source and commeting this with some OSA members. Also I have been lately following a large amount of companies (from Alfresco to MySQL) producing or building their solutions on open source.
I think that, for a software producer, open source means three things:
A license that guarantees a set of rights and obligations for the users.
A business model.
An open and collaborative way of developing software.
There is lot of said about the first two points. I would like to concentrate in the last point.
A vibrant community can add lots of value to a product: it decreases the entrance curve because the amount of documentation and support available, it can be localized to languages that you never heard before, you get reference implementations, and most important, you get different people working and investing on your product.
But communities are not exclusive to open source. Many proprietary products have large communities around them that produce add-ons, localizations, documentation and give free support. Some also use the Internet for distributing feature-limited versions of their software.
Many companies just see open source as a model of getting a wide dissemination of their software with little investment having no real interest in open up their development. Some even have an open source version of their software and then a professional or commercial version with additional closed source features. I strongly believe that they are missing an important part of the picture.
For me, true open source communities are the ones where roadmap, architectural, and development decisions are carried following an open and collaborative approach.
This is a short list of questions that I think help to identify how community-driven is the development backed by a company.
Product
Is the product roadmap pubically available?
Is there any way for your community to prioritize the roadmap?
Are requests for new functionality handled in a open and transparent way?
Is your product well documented? Are you providing infrastructures like wikis to make it happen?
Are your employees the only ones representing the product in conferences?
Development
Do developers from outside your company have privileges to make changes on the code base based on their knowledge? (meritocracy) Or are they second class citizens?
Are the architectural decisions shared with the community?
Is your development carried in open mailing lists and chat channels? Does your development team live in the community? Or completely apart?
Engineering
Is there a public database of all know bugs? Or you still keep an internal database?
Do people document their changes using ChangeLogs and similar ways?
Are software releases done regularly to encourage participation?
I think that these are just some of the many questions that can be asked. Some new open source companies come from a proprietary background and those issues clearly represent important challenges that imply changing processes and behaviors but also represent new opportunities.
Traducción automática |
Traduce este apunte del catalán al castellano
As far as most businesses go, the license nature of the product is quite secondary to the development model of the software, as you note. This is especially true if their value is not derived from selling the software, but rather selling services or extensions to the software. However, not everything you list is appropriate for a commercial firm that seeks to invest in Open Source. For example, giving a community the ability to prioritize a road map doesn’t leave much room for business motivations, such as a customer who wishes for a specific feature. Often this feature may be an “enterprise” feature that is not of much use to the community. This particular case can be difficult for the community manager to handle because of the need to satisfy both the customer and the community.
Another issue is what happens when the community and business markets are not overlapping? While it’s true that for products like MySQL, many people in the community are also the customer, but that’s because MySQL is the distributor of the software. For a community like GNOME is this really the case? Most people get GNOME from a distributor who is responsible for interacting with the community. Where it gets interesting is that there are multiple distributors who all have different needs they’re trying to fulfill, so we get some conflicting features. Meanwhile, the community, at least in GNOME, is largely orthogonal to the customer aspect of the software.
Patrick Wagstrom (Email) (URL) - 27 Març '07 - 19:07
Thank you for the interesting analysis. Although I agree that the collaborative way of developing software in the corporate world must be improved, I think the processes are well known, they just need a change of mentality, a crossing of the chasm. The real challenge is in business models: there exist several companies with a quick growth (motivated by capital investments mainly) and a few big ones (that are either large corporations opening their technology or companies that have been growing for more than 12 years). The question is “Is it possible to make a Google-like company based on Open Source development?”
How about making a quadrant (sorry, i’m a consultant) with product maturity on the X-axis, and community-maturity on the Y-axis, and then plotting in these products like Alfresco and MySQL, or Mule or any other OSS project for that matter.