One of the topics that frequently comes up when we’re talking with the Bungee Connect developer community is the topic of licensing. Today we want to outline for you where we are on this process and give you a good sense of Bungee Labs’ general direction, so here goes…
Firstly, we can tell you Bungee Labs is evaluating several Free and Open Source Software (FOSS) licenses for the software components that comprise the complete Bungee Connect system. However, the task of reviewing the various FOSS licenses, and then identifying which of them best aligns with the software components and subsystems created by Bungee Labs–as well as ensuring compatibility with third-party components upon which Bungee Connect relies–requires considerable review and source code preparation. And we want to do this right, with the community’s involvement.
Before formally announcing any specific plans for opening the Bungee Connect platform in general, Bungee Labs is taking immediate steps to address the needs of commercial customers. As we’ve engaged with companies and developers interested in Bungee Connect as development and deployment platform, we’ve heard loud and clear the need to enable enterprise and SaaS providers, and their respective IT organizations, with the ability to more deeply understand the inner workings of the Bungee Connect software. This is important for many reasons, examples include: ensuring optimal integration with other internal systems, providing custom data connectivity and other extensions, and providing an avenue of self-sufficiency for our customers in those rare cases in which repairing critical defects are necessary, independently from the supplier.
Today we have announced the forthcoming availability of the Bungee Application Server, a downloadable, installable, and self-managed instance of the runtime grid infrastructure powering the delivery of Bungee-powered applications. To support the needs of our commercial customers, Bungee Labs will first make the source code available to the Bungee Application Server and the Bungee Pulse Client under community source code licenses. These software licenses are being made available in ‘draft form’ to facilitate community feedback prior to formalization in June 2008. These draft licenses are available for review:
- Bungee Community Source License (BCSL) – Commercial Use
- Bungee Community Source License (BCSL) – Research and Development Only (RDO)
And available from http://www.bungeeconnect.com/legal/legal.html
During the Public-Beta period for the Bungee Application Server which is expected to begin in July 2008, source code access via the BCSL-Commercial Use will be included with all commercial deployment and operation licenses of the Bungee Application Server. At General Availability (GA) for the Bungee Application Server which is expect in Q4 2008, source code availability will be expanded from only those with BCSL Commercial Use licenses to any developer via the BCSL – Research and Development Only (RDO).
Bungee Connect is a comprehensive development, management, and application deployment platform and accessed via an on-demand hosted service. The software technology comprising the platform includes significant software developed by Bungee Labs as well as from numerous proven components and system developed by Open Source communities over the past 10+ years. These Open Source technologies include, Apache, Python, libxml, libcurl, openssl, PostgreSQL and others. Bungee Labs contributes to these communities when we find defects, their repairs, and areas where optimization may be helpful and we value the contribution and flexibility Open Source provides the industry.
Our goal is to deliver operable and modifiable software source code under both community source code and Open Source license so that broad community participation is well facilitated and supported.
We look forward to keeping you up to date and your feedback as we make progress towards these goals. Bungee Connect developers can share their thoughts with us on this topic at the BCDN Forum.
Source Code Licensing Q & A
Q: Why did Bungee Labs create its own license verses use an existing Open Source License?
A: Our goal is to provide source code access to several different constituencies each having different needs with different timing requirements.
Our first focus and time-based priority is to provide licensed source code access to those organizations deploying commercial Bungee-powered applications. We found that these types of organizations desire, and many times require, licenses that include overt patent protection including community contributions, access to all available error corrections and shared modifications from the community, and indemnification from their provider. We found that a community or commercial source code license could most directly and predictably address this need.
Our second time-based priority is for those who are evaluating Bungee Connect technically and performing research in the domain of rich web application delivery. Providing a license enabling source code inspection and experimentation and that could be easily and compatibly superseded by a community or commercial license was important.
Third, many software components and libraries used within Bungee Connect are governed by a compatible collection of different Open Source Licenses. During our initial review of Free and Open Source Software licenses, of the ones we found to be candidates for the software developed and owned by Bungee Labs, several have terms and obligations that may be incompatible with one or more of the Open Source licenses governing the significant components already being utilize within Bungee Connect. Ensuring licensing compatibility among all components of Bungee Connect and making all that software source code accessible is a requirement of a successful Free and Open Source Software licenses strategy.
We will continue to review the Bungee Connect software, its library architecture, its use of Open Source components, and available Open Source licenses. Once we align our software and its components with appropriate Open Source Licenses, we will make that information available.
Q: What are the main difference between the BCSL Commercial Use and Research & Development?
A: Below are some of the differences the Commercial License provides:
- The right to use the software for commercial or strategic gain, with royalties to be paid for each software unit deployed for commercial use. The R&D license is royalty free but does not allow any commercial use.
- The right to modify and extend the software and use that modified software for commercial gain. The R&D license does not enable commercial use of modifications.
- Patent coverage for Bungee Labs developed software as well as community patent non-assertion coverage for software submitted and included by other Community Contributors. The R&D license provides no patent coverage and is without warranty.
- The obligation that certain changes to the source code must be submitted to the Bungee Community when the software is put into commercial service. The R&D license encourages that changes be submitted as they are created since there is no other triggering event under pure ongoing R&D use.
- The Commercial Use license provides certain mutual indemnifications. The R&D license does not provide indemnification and is without warranty.
Q: What types of source code changes, modifications, and extensions can I make, and which ones must I contribute back to the Bungee Community?
A: This is most easily described in via diagram. Both the R&D and Commercial Use licenses have the same contribution requirements with the exception of when submissions are due. With the R&D license changes should be submitted as created. With the Commercial Use license, changes should be submitted on or about the time of commercial deployment or distribution occurs.
Q: Why does the Commercial License contain language about patents and patent revocation?
A: We are building a community of developers, contributors, and companies. The patent language in the BCSL-Commercial Use creates a very predictable environment with regard to patents covered by source code contributed by Bungee Labs and other community contributors. The language was created to discourage a holder of its own patents to take a license to BCSL covered code, not contribute anything to it, and then pursuing a claim against a BCSL licensee for use of the BCSL code. The BCSL does not prohibit such patent pursuit, but does grant Bungee Labs and other BCSL licensees the right to revoke their patent license to the claim initiator. Bungee Labs desires that all members of the community benefit from the use of the contributed code and no member benefits from being part of the community while also causing harm to other members because they are withholding their patents possibly covering the BCSL code.
Q: How can I provide feedback on the draft licences you’ve provided for review?
Bungee Connect developers and customers are invited to provide feedback at the BCDN Forum, or by emailing community [at] bungeelabs.com
- Announcing Bungee Grid-EC2, Bungee Application Server and Community Source Code Licensing Plans
- Announcing Bungee Application Server
- Bungee Grid now running on Amazon EC2 and accessible to Bungee Developers