I believe a new kind of software licensing and business model, mixing closed-source modules with open source, is the future of software development. I have published
an essay describing the fundamentals behind this new model at Phoronix. The concept is to fund software development through closed-source sections of a mostly open source codebase, with a time limit on how long those sections can be kept closed. I have written up
a short concrete example, for those who may find the general description too vague. If you have any questions, you can email me through contact @ hybridsource dot org, a FAQ follows.
Q: Is this a new software license, like the MPL or Apache license?
A: No, it is not. All source is released under existing permissive licenses, like the BSD license or CDDL. This is a new business model that is contractual: hybrid-source vendors contract with their customers to release all source for a particular build under a permissive open source license within a limited time. Therefore the time limit does not apply downstream for future usage of the same source code, as it might for a completely new software license.
Q: How does an outsider compile the codebase and contribute if he doesn't have all the code?
A: A codebase will have to be laid out in such a way as to enable outsiders to contribute. The hybrid-source vendor will want to keep their closed-source sections fairly modular, so that outsiders can compile a purely open source core without the closed-source sections. Another alternative is to make sections of the codebase buildable by themselves, so that you can compile individidual open source components and run their unit tests, without needing to compile the whole codebase. Certain trusted outside developers might be given access to the source for closed-source components, with the understanding that they cannot publish it anywhere. The hybrid-source vendors can run build servers that allow outsiders to upload their patches and compile against the full mixed codebase, so they can test their patches in an environment the vendor controls. There are many solutions to this constraint.
Q: What if another developer takes all the open source parts of my code and forks?
A: That's the freedom they have, just like with open source. The question is whether your closed-source sections have enough value that you feel comfortable competing with such clones. They will have to either rewrite your closed-source sections or license them from you, so they will not have the whole program to begin with. This ability to fork is an important part of the hybrid-source model, so consumers know that developers are kept on their toes by such competition.
Q: What if another software company forks the open source core of my hybrid codebase and makes it completely closed: won't they make much more money from such purely closed-source software and put hybrid-source vendors out of business?
A: There is no magic percentage for how closed or open a codebase should be, I am fine with such competition as it allows new approaches to be tried. However, if you want to disallow outsiders from closing up your open source code, you can always release it under the CDDL, which requires that open source files stay open. That way you can write closed source files that you compile with the open source CDDL code, but CDD-licensed files have to stay open no matter who uses them downstream. I prefer the BSD license for its complete freedom, but some may prefer the CDDL for this reason.
Q: Why would any currently successful closed-source company adopt this hybrid model?
A: I don't think they will, as successful large companies usually become stagnant and averse to new ideas. I expect entrepreneurs to take this new model and run with it, displacing currently successful closed-source companies with a superior hybrid model.
Startups have long used BSD-licensed source to build new companies: this model will allow them to continue doing so without closing up the entire codebase, as they've often done in the past. When anyone can contribute to the open sections of their source code, innovation can come from anywhere and be compensated, so hybrid-source startups will be much more innovative than existing closed or open source software companies.
Q: What if an outsider wants to modify the closed sections of a hybrid codebase?
A: He will not have access to the closed sections, that is the compromise to be made for the funding from closed source (unless the vendor trusts him, a possibility discussed above). However, he is free to try and clone any particular closed feature, and it is much easier to clone a feature than an entire program.
Q: What if the hybrid-source vendor goes out of business before time-limited source code is released to their customers?
A: Always possible but I doubt it'll be much of a problem. If customers are worried about this, they can insist that the source be kept in escrow by a stable third party, like an auditing or insurance firm, who is contractually obligated to release the source if the vendor goes under.