There have been numerous comments to my last blog posting, as well as a long response from Groklaw. Overall I am encouraged by the conversation as a whole because I think it is touching on some foundational issues.
One of the most challenging aspects to the threads I've been reading in the responses to my post (and I see this in the Groklaw post as well) is that many issues are getting squashed together - and that is the very basis of misunderstanding these issues. One more thing, there are a few people who put some really excellent stuff in the comments to my last blog post, and I recommend them as reading. Andy Updegrove’s comment is probably the most thoughtful and thought provoking of the lot.
I’m going to try to pull out some of the most commonly touched on points and themes. This is long...sorry.
Standards and business models
At the core of the discussion both on this blog and over at Groklaw is the question of how evolving business and licensing models blend with the existing standards world. The fact that Free Software as a concept has been around since the mid-late ‘80s (if I remember correctly) is not particularly germane. It was really only following the massive commercial investments of the early 2000s that we see the growth of some very fundamental issues in software business models. (I know there was significant dev work happening in the 1990s – but this is a meta point about the industry.) The hockey stick effect of OSS adoption and real business momentum has brought about the discussions about RAND, GPL, covenants not to sue, etc.
You will get no argument from me on the point that the adoption of FLOSS in big business and small are changing the face of the software industry. But by the same rational point of view, the growth of the overall software industry continued to be fantastic during that same period of time. My concern has always been with people who argue that because the Free Software approach is predicated on certain beliefs, and that it is being used, that everyone should have the same beliefs. I think it is ultimately unhealthy for the industry for everything to shift to a single approach – we are all better off with choice of business models, choice of licensing models, and choice of solutions to acquire for addressing business needs.
(Caution – major simplification here) Standards bodies are meant to be the place where all parties come together in an environment that is safe and beneficial for all participants. And where even those who were not involved in the process, may utilize the output from the process in a safe and beneficial way. Additionally, it is in all parties’ best interests to see sustained contribution of innovations into the various standards orgs (no matter what model they were developed under). Moreover, it has been considered highly desirable to have both standards and solutions compete in the marketplace which pushes innovation and opportunity even further.
So in the discussion of RAND and GPL and even in the case of Open XML and the OSP – I think it is worth considering how it is that GPL implementations may be done. But I disagree if the argument is that they should be done regardless of any consequences to those who do not share the same model. There are ways of building bridges between models – to me, that is the most important place to start.
Free Software Licensing and RAND
I do not want to belabor this point. Groklaw pointed out, as have many others, that Free Software licensing conflicts with RAND. Not just on royalty terms, but on sub-licensing and limitation of scope as well. This is not the end of the world, nor is it a show-stopper (obviously – Unicode, for example, is shipped in Linux I believe). So the question then becomes how do software producers who have an interest in seeing their technologies broadly adopted (even in Free Software implementations) find ways to bridge the gap. Of course, it would be good to see the Free Software community seek to meet in the middle with all parties – consensus helps (IMHO).
ISO and RAND vs. Terms From Vendors
Throughout the comments people are still saying that the JTC 1 RANDz declaration for Open XML is somehow different than other JTC 1 RANDz declarations. It is not. The same rules apply to all specifications – uniformly. ODF and PDF and others are under the same terms. The assertion that Microsoft could somehow “wield” the JTC 1 declaration in a means different from any other contributor to an ISO spec is false. What’s more, the Open Specification Promise goes significantly further than the JTC 1 RANDz declaration and was created to enable the full spectrum of implementations. (Notice Gnumeric has included Open XML support even though it is GPL licensed.)
Vendor Promises – OSP/ISP/CNS
The vendors who are making promises, or covenants, on their IP separate from the terms directly associated with the specification are doing so to build the bridge I spoke of earlier between the traditional IP-holder structures and the Free Software model. We can (and probably should) debate the merits and drawbacks of each of these, but you should first take a step back and recognize that these promises are a positive step in the direction of enabling the highly divergent licensing models to coexist. It is also important to note that while a few of the big players have taken this step (logical because they are the ones holding more patents or who have more directly involved product interests), it is not common practice in the software industry. There are thousands of rights holders who participate in standards, whose contributions merit great respect, and who wish to maintain control of their intellectual property. For smaller software vendors whose business model is dependent upon the direct commercialization of their software, a mandate to exhaust their patent(s) (forget royalties – there are other issues worth considering here) will act as a disincentive for contribution.
Is the OSP from Microsoft global?
I saw this questioned a bunch of times so I think it is worth clarifying. The OSP is a global promise – to everyone, in every country, and in every line of business or personal interest. People are confusing whether or not there is legal recognition of software patents with the reach of something like the OSP. Those are different concepts and worth separating in your thinking.
Should standards orgs change their policies to accommodate free software?
This is a decision that each and every one of the hundreds of standards organizations who handle software standardization will need to consider. There is absolutely nothing inherently bad about working with it or not – it is a choice based upon the charter and membership of that organization.
In many ways, my answer there is a punt, but it is true. My opinion is that effective bridges need to be found, and done in such a way that things remain fair for all parties. Companies that sell software directly must clear their product for patent royalties and other IP considerations before selling it into the marketplace. The standards bodies have IP policies so that their output too is copasetic in regards to IP before people begin to use the specifications (thus the concern about trolls). There is no reason that orgs commercializing Free Software should not respect other’s IP as well.
I think an interesting way to consider this is to take a logical extreme of the argument – what if every standards body mandated Free Software-compliant (not MPL, not EPL, not MsPL...only GPL) licensing terms. What would happen? Some might say we would be one step closer to nirvana as a race. Some might choose to drop completely out of the standards game and seek individual licensing agreements and/or cross-payments etc. to bring their product to market with interop features. Certainly there would be those who would be forced to fracture their product (again, good/bad...all depends) and ship some components separate from others to stay compliant with the source license. Others might pursue a whole raft of SIGs (special interest groups) that are exclusionary and outside of the standards world. Still others...I could go on. To me, that is not a good outcome. I think we are in a better state if standard bodies continue to serve their purpose and be a place with highly competitive parties can come to the table to collaborate on specifications even if they have diametrically opposed business/licensing models. Ultimately, the marketplace will speak louder than licensing mandates.
Should there be multiple licensing schemes?
This is an extrapolation on my part from what I’ve been reading in the comments of my last blog. I’ll first say that it is a moot question because there are and will be multiple licensing schemes. How many OSI licenses are there? And why is that? Because IP holders all have strong opinions about how their IP should be handled. Secondly, I am always a fan of choice...and am nervous when zealotry begins to suggest that any alternate choice is heresy. This leads to a very scary place.
Conflict of reciprocal licenses – was I speaking correctly?
I spoke of the fact that Linux ships with code that has conflicting licensing agreements. And many people asked me to “prove” it. I’ll let you all tell me if I’m nuts. All reciprocal licenses by definition conflict with each other. The GPL claims to cover the “aggregate” product, the CPL/EPL the “component,” and the MPL the “file.” In all cases though, if there are conflicting terms they all say you can’t distribute. So – is there any mingling of GPL, MPL, EPL code in Linux? How about the rest of the licenses purported to conflict with the GPL?
By the way, this is also true for the point that I made about RAND terms on code shipped with Linux today – how about Unicode for example? Last I check, IEEE 1394 Firewire was similarly licensed. There are literally THOUSANDS of RAND-covered specs out there used commonly in operating systems throughout the industry.
Now, on to the leap of faith on the part of my critics – I did not raise this point to spread FUD about Linux. Why can I say that? Because this point has been raised in public events in the past...and it continues to not matter. So my point is something else entirely.
Legal snags like the ones I mentioned only matter if someone presses it in a court case. No one can say if these issues will ever become an issue but that has never stopped a single person from using Linux. So, when people then say that the MS OSP, or IBM’s ISP, or RAND terms, or whatever means that Free Software developers can’t develop something, I find it hard to take seriously when the intent, and all of the materials surrounding these actions speak of building bridges and enabling...not shutting down or threatening. Those same developers are willing to take those exact same issues as no concern on one hand and then scream foul on the other. It’s worth thinking about a bit.
Ending this long post...
Too much here already – thanks again folks for the good comments. We are at an inflection point in the industry...and that is exciting to be a part of. If you are going to comment – let’s shy away from the zealotry, and stay focused on lucid arguments.