Benefits of co-existing open source & commercial software

Tuukka Turunen and Mirko Boehm

December 18, 2012

Tuukka Turunen and Mirko Boehm

Commercial Organizations in the OSS ecosystem
By contributing effort and money to an otherwise collaboratively developed product, companies in a way define their own role in open source communities. They do this by assuming a position as an integral member of the community around the product, and by the tasks they choose to work on.

Depending on how committed a company's engagement in the community is in the long term, important roles of commercial contributors can be as follows.

First, companies keep a focus on business matters, which effectively means keeping the user in mind. The involvement of companies in open source communities usually leads to a more polished product with a more heavily tested user experience.

Secondly, companies can provide more stability and continuity of the product development process. By assigning to and keeping teams on the product, fluctuation of volunteer contributors is balanced out, and a higher volume of effort can be processed.

The downside of this is that companies usually require more formal organization. That may clash with the self-assignment habits of non-commercial contributors, so companies need to be careful to avoid effects of crowding out.

Thirdly, intrinsically motivated volunteer open source contributors naturally select the tasks they work on based on different interests than companies, and usually do not attend to routine tasks that may offer high utility for users - for example by fixing annoying bugs. Companies are able to assign quality teams to products that stay on this activity, complementing the volunteer contributors in the community.

All in all, the role of companies in open source communities is a beneficial one, provided there is positive cooperation between volunteer and commercial groups.

Commercial and OSS working together
A good illustration of how the availability of software in both commercial and open source versions can benefit the overall community comes in the form of Qt, a framework that brings together a modular C++ class library and developer tools.

Qt is widely used for developing cross-platform applications that require a graphical user interface (GUI) as well as for non-GUI programs such as command line tools and consoles for servers. The Qt framework, which includes intuitive APIs for C++ and CSS/JavaScript-like programming, a Qt Creator IDE and a variety of tools and toolchains, allows developers to write an application once, yet deploy it across multiple hardware and operating system platforms.

In 2012 Digia acquired the full software technologies and Qt business from Nokia. The original Qt platform was produced by Norwegian company Trolltech and then, in 2008, it was acquired by Nokia. The Qt commercial licensing and professional service operations were sold to Digia in 2011, the same year that the Qt Project community came into being. The Qt Project ensures that development of Qt is governed as a true open source project, in which both individual developers and developers from Digia work to advance Qt.

Of course the obvious question is why, when Qt is available for free, would a developer want to consider paying for a commercial license? Clearly the choice will depend to some extent on the target application, but there are a number of reasons for choosing the commercial alternative as in the end it may actually be the one that saves cost for the company using Qt.

The LGPL license, for example, carries some restrictions regarding the ability for users to re-link libraries and other restrictions that may impose architectural requirements that add deployment and upkeep cost for organizations.

The commercial Qt license also protects valuable IP by supporting the development of fully proprietary software, at the same time as offering a high level of standard support within the license fee.

Furthermore, due to restrictions in beginning development with an open source-licensed version and then transitioning to a commercial version it can often pay to purchase a commercial license at the start of a development project.

The developer then has the flexibility to decide licensing (commercial or open source) of the finished product at the time of distribution. To do this they simply create an application that dynamically links to the Qt libraries and then, at distribution, decide whether to link to the commercially licensed or the open sourced-licensed Qt libraries.

< Previous
Page 2 of 3
Next >

Loading comments...

Parts Search Datasheets.com

KNOWLEDGE CENTER