Economics of Open Source
Last week, Luis Ibáñez from Google spoke to a group of Kitwareans and MBA students on the economic aspects of open source. According to Luis, software is an "incarnation of business logic and processes." In today's technological environment, software is becoming increasingly important. As Luis pointed out, 20% of the cost of a car is software. So, why not take advantage of the benefits of open-source?
Below are the main points from Luis' discussion.
In regards to companies using open source
Break away from proprietary constraints.
One economic advantage of open-source software is that it provides flexibility and freedom that proprietary software does not. For example, with open source, downstream distribution of your software is free. Furthermore, making copies of your software is free. This is due, in part, to the notion that software is now being increasingly used as a platform to provide a service, rather than as an end in itself. Thus, open source enables you to better tailor your software to fit your company's needs and enables you to focus more on providing a service. In addition, using or reproducing open-source software does not lessen the value of the original project.
Make open source an advantage for your business model.
In order to make open source an advantage for your business model, it is important that you cultivate a team with software skills and knowledge of the open-source application you're using and its development process. Simply leveraging an open-source project without skilled team members leaves you vulnerable. On the other hand, if you have a team of peole involved in an open-source project, it means that you can share knowledge and will not find yourself in a situation where somenone leaving or changing roles creates a vacuum. Such situations occur when your team members do not know your organization's system. As a result, they have to spend time figuring it out, which is an added expense.
Grow the contributing community.
Open source projects rely on contributions from developers, who may or may not be sponsored (i.e., paid) for their work on a specific project. These contributions are critical to the success and longevity of an open-source project. For companies that are leveraging open-source projects, it's well worth the investment to contribute back to the community and project, whether that's through hiring developers to focus on that project as part of your team, sponsoring hackathons or other events, or contributing to recruiting new memebers to join the community. In any situation with experienced individuals (think of your own team and when new individuals join), there is always a balance between having the people who are already familiar with the work simply do the work and having those people spend their time on-boarding new community members and getting them to a place to be able to contribute. To build a thriving open source community, focusing resources on recruiting new members and making it clear and easy how people can get involved is important.
In regards to open-source projects
Maintenance is everything in the software environment, and maintenance is supported by the community.
Developers know that it is important that you maintain software. For open-source projects, this requires a healthy community around the software. In order to increase the probability that people will return and contribute to the community, it helps to follow some basic principles. For example, you should thank community members for their contributions. It helps to remember that there is no requirement that people contribute to an open-source project; they are choosing to be part of the community and their contributions are a gift. Rudeness has a price in terms of member retention. Creating a space or environment that considers the human aspects of communities in open source, not simply the technical points, will help build a strong foundation for future success.
Thank you Luis for sharing your insights with us!!