Home » About Python »
Open Source in Business

Businesses around the world are taking advantage of the high quality, low cost solutions that are emerging from the open source world. This page is designed to help businesses make decisions about when an open source solution is appropriate for their needs.
How Open Source Licensing Works
Open source is software that is released under free licensing in full source form, with all materials necessary for customization or further development of the software. Although there is some variation among the widely used licenses, all are designed to protect your right to use, modify, and redistribute the software without charge. In the context of the global internet, the open source license acts as a contract among many developers around the planet that may participate in further development of a product, guaranteeing each at least the freedom to continue to use that software indefinitely.
Some licenses, such as the Gnu General Public Licence, try to prevent "code hoarding" by requiring full source redistribution of your own modifications to the code, but even in this context most open source licenses are perfectly compatible with business use of the code base. Even so, other licenses have appeared that do not place redistribution burden on users of open source tools. Python and many other open source products now use these less restrictive licenses.
Our own products depend on a variety of open source tools, under several different licences. Of primary interest to users of the Python language is the Python license. It grants full freedom to use, copy, modify, and redistribute without any restriction, other than barring you from altering the license itself.
For additional information on open source in general, take a look at the Open Source Initiative.
Business Criteria for Open Source
Not all open source solutions are appropriate for business use: any technology in which you will invest deeply should meet or exceed the level of quality, support base, and longevity that you might expect from a commercial product.
However, when a sufficiently compelling open source product appears, it has the advantage of access to a huge pool of motivated development talent, often far exceeding the resources of large corporations.
In these cases, superior products emerge, and it is appropriate and strategic for a business to leverage their availability.
Concerns and Responses
These are the most common objections to choosing an open source technology like Python:
Open source isn't of high enough quality. In many cases, this simply isn't true. Software that reaches open source critical mass is phenomenally usable and stable because its developers are also its users, and because open source products enjoy far more motivated developers than any business could afford. This is why some open source tools, like Linux and the Apache web server, have given commercial competitors a real run for their money.
With open source, don't look to glossy marketing materials as the litmus test for quality or viability. Marketers and graphic artists are not readily available to most open source projects. Instead, the focus tends to be on technical quality and usability of the software itself, just where you want it to be.
Another common point of confusion is the tendency of open source developers to under-sell their product's maturity. A version 0.8 distribution may very well knock your socks off with its feature set, robustness, and scalability.
These factors can make open source products look shoddy to management, who are not used to the ways in which open source products differ from commercial products. Be sure to focus on the technical merits of a potential solution rather than marketing claims or product version numbers.
Open source isn't supported. While the support picture is quite different for open source than for commercial products, there is plenty of support to be had from the community of developers and users, who often take pride in answering questions, and who have a vested interest in tracking down bugs and improving usability.
Formal commercial support is often also available from companies in the business of supporting open source tools. However, in many cases, searching the web with Google or posting to the project users mailing list is far more effective than commercial support of any kind.
Open source licensing is too restrictive for business use. The Gnu General Public License (GPL) is famous for its "copyleft" redistribution requirements, which are sometimes a problem for businesses considering use of GPLed source as part of their own products. However, many open source licenses, including the Python license, do not contain restrictions other than a prohibition from altering the license itself. You're free to contribute improvements back to the community, but it is not a requirement that you do so.
Even the GPL can be used in a commercial context: The two primary concerns are that you cannot link GPL code with non-GPL code, and you must redistribute the source code for GPL components that you distribute in binary form. The Lesser General Public License (LGPL) relaxes some of these restrictions, specifically to make it possible to use LGPL code with other code not under the GPL or LGPL.
Especially with the GPL family of licenses, be sure to review the license of each component you are considering, in the context of how you plan to use and/or redistribute it. Although fairly rare, licensing does sometimes rule out consideration of a particular open source solution.
Open source projects may disappear. In the ever-changing technological landscape, both commercial and open source projects disappear over time. Open source in fact tends to resist extinction quite effectively, because the evolution of a project is not tied up to the fate of a particular company or the constraints of business strategy. Developers may come and go, but open source projects persist until they are no longer useful or interesting to maintain. As an example, see the FreeDOS project which still actively maintains an open source clone of Microsoft's original operating system.
And of course, as a last resort, open source means you always have everything you need to rebuild, port, or adapt the source code yourself.
Open source is too risky. Concern is sometimes raised about the legal robustness of open source licensing, which is still being tested in various ways in the courts, for example through claims of copyright or patent infringement. In the current business climate, no company or product is free from the potential burden of a patent suit, and litigation is a fact of competitive life. As open source products have entered into competition with proprietary software, it has drawn all the same legal fire previously reserved for commercial rivals.
To combat this, many open source projects have created formal organizations, such as the Python Software Foundation, to hold and protect the intellectual property rights associated with the project. Major corporations such as IBM and Novell have thrown their considerable weight behind the open source paradigm, and most analysts agree there is little chance of significant change in the legal foundations on which the open source world rests.
