A Quick Word On Dojo and Patents

A relatively light-on-data article is up at Slashdot right now, and it casts aspersions both on the IBMers who contribute to Dojo and on the Foundation itself based on the Free Software party line that all software patents are inherently evil.

I won’t address the background point regarding software patents here. I’ll only to say that reasonable people can disagree on this, particularly when it comes to proposed solutions. What I would like to focus some attention on is the background that this patent filing is made against.

IBM has executed a CCLA with the Dojo Foundation. This agreement gives Dojo (and the rest of the OSS community) a license to whatever patent rights may be embodied in contributions of code. While IBM may file patents on things they build and contribute to Dojo, there’s no risk to any users regarding use of that code or “submarine” issues of patent infringement. As a result of the Dojo Foundation’s insistence that ALL code come with CLAs, Dojo is more trustable in terms of IP than most of the JavaScript you can choose to use. A similar patent claim in a less rigorously developed toolkit would indeed be apocalyptic, but the Dojo community has adopted a mature process for dealing with IP that both makes the concerns plain and then works to eliminate them, step-by-step. That’s what licensing agreements are, after all: links in the chain that together help you trust that your anchor is indeed set.

It’s clear to me that IBM filed this patent fully aware that they were giving away all follow-on rights to enforce it in anything but a defensive way for the benefit of the Foundation and users of Dojo. After watching IBM counsel decimate SCO in court, does anyone in the OSS world really think that IBM’s lawyers are fools? And if so, to what end?

It’s sad that Slashdot hasn’t, for a decade of coverage of IP issues, learned that licensing is harder than the zealots would have you believe and that malice isn’t always the intent of those who participate in communities with a commercial interest.

The good news here, of course, is that IBM is just as generous today toward the OSS and Dojo communities as they were yesterday. We have the legal documents to prove it.

14 Comments

  1. Rey Bango
    Posted May 26, 2009 at 12:55 pm | Permalink

    You know Alex, we go to great lengths on the jQuery project to avoid disparaging any aspect of Dojo. In fact, I personally recommend Dojo on many occasions and help to dispel many common misconceptions about the library on a regular basis. We do it out of respect for the friendships we’ve developed with the Dojo core team & the hard work that Dylan & Peter have done to forge a strong relationship between the projects.

    How about focusing on Dojo’s business without including jQuery into your discussions. Between remarks about Sizzle and your opinions of “apocalyptic” happenings, I’m starting to feel that you have some type of problem with us.

  2. Posted May 26, 2009 at 1:25 pm | Permalink

    Rey:

    The patent policy implications are what they are. I’ll revise the post, but the point is the same. Other buckets of code that aren’t Dojo (or more recently YUI) don’t enjoy the same protections. We offered to help jQuery avoid these legal issues multiple times but were constantly rebuffed. I’m sad that it is the way it is, but, well, it is.

    Regards

  3. Posted May 26, 2009 at 1:35 pm | Permalink

    @Rey: ouch, from the sounds of it that was a good/satisfiying kick back to the author of this post. I personally don’t know if what you have said about name dropping jQuery alongside slightly negative comments is true outside of this article but I’m definitely interested to see what the response is to your comment.

  4. Posted May 26, 2009 at 2:12 pm | Permalink

    Mark:

    Note that I didn’t say anything negative, I posed a hypothetical. The same hypothetical holds for, e.g., Prototype, Moo, and many other libraries. jQuery (as the jQuery camp likes to note) is wildly popular, and so using it as an illustration of the potential harm seemed both innocuous and fair. Rey objected, so I reworded the post.

    Regardless, the point stands.

    Regards

  5. Posted May 26, 2009 at 2:21 pm | Permalink

    I haven’t read your CCLA but from your comments here it appears that the CCLA only grants patent relief to the Dojo Foundation and code with copyright owned by the Dojo Foundation (and by extension it’s users) and not to derivative works.

    If someone takes Dojo code and uses it in another project and those change’s/extension’s copyright are *not* owned by the Dojo Foundation, is that derivative protected from patent claims by contributors to Dojo?

    Also, I think it’s a little exaggerated to assert that any patent owner might go after a user of software instead of the software itself. Attempts to do so have consistently ended badly (see SCO).

  6. Posted May 26, 2009 at 2:27 pm | Permalink

    mikeal:

    This is where the other link of the licensing chain comes in: the license we distribute the work *outward* with. The [C]CLA helps accrue rights to the Foundation, the license the Foundation publishes code with passes those rights to you. Dojo dual-licenses everything under BSD and AFL licenses. BSD is somewhat ambiguous in this regard (although, as with all of these things, it comes down to intent and IBM has shown clear intent to do the right thing here). The other license, AFL, clearly spells out the patent aspects of the license, thereby extending to you all of the rights that were extended to us.

    It’s that set of interlocking agreements that guarantee your rights, and the Dojo Foundation has, like the ASF and other OSS Foundations, been working hard to ensure that what you get is what you actually think you’re getting.

    Regards

  7. Posted May 26, 2009 at 2:35 pm | Permalink

    Alex:

    Thanks, i wasn’t familiar with the AFL so I didn’t know it had a patent clause. It looks identical to the patent clause in the Apache License 2.

    -Mikeal

  8. Tom
    Posted May 26, 2009 at 10:25 pm | Permalink

    The issue you have failed to mention/explain is the actual issue. The fact that IBM is attempting to patent this, and can and will use the patent to attack other developers is the problem.

    I’ve been writing regex based form validators for at least 10 years. I’ve written them in javascript for the last 6. I haven’t worked on a single web based project that didn’t have some form of javascript form validation since at least 2000.

    None of these projects were open source or protected by this dojo license agreement. Until recently (last 2 years) we didn’t even use a third party javascript library, we had a pretty extensive in house javascript library. The fact that if this patent is granted all of my clients and all of the work I’ve done for the last 10 years will suddenly be a huge liability to myself and my clients is a HUGE POTENTIAL ISSUE.

    That is why people are up in arms, because this should not be a valid patent, its been invented thousands if not millions of times in the last 10-15 years. Unfortunately, with IBM’s clout and the ineptitude of the USPTO, its a pretty forgone conclusion that this patent will be granted, and then the ONLY javascript library you can legally use to do form validation will be dojo. Which is a pretty arrogant and offensive stance to take to just about every developer in the world. Developers (especially open source developers) want choice. This patent would deny developers choice, so yes, we don’t like it.

  9. Posted May 26, 2009 at 10:27 pm | Permalink

    @Rey: ouch, from the sounds of it that was a good/satisfiying kick back to the author of this post. I personally don’t know if what you have said about name dropping jQuery alongside slightly negative comments is true outside of this article but I’m definitely interested to see what the response is to your comment.

  10. Posted May 27, 2009 at 7:42 am | Permalink

    Tom:

    You probably don’t read patents often, and that’s OK. They have a specific form and context that’s not straightforward. Fundamentally, patents are limited to *the most specific claims* embodied in the patent. All the “wherein” and “whereupon” stuff in the claims section is a way of *limiting* the scope of a patent, which means that if you go back and read the patent, they’re claiming much less than you say they’re claiming.

    Is it the world’s greatest patent? Lets just say I wouldn’t have filed it, but that doesn’t mean that your analysis is accurate, nor is it accurate to suggest that IBM is now going to go around suing everyone who validates forms. Sheesh.

    Regards

  11. Posted May 28, 2009 at 9:39 am | Permalink

    Alex,

    The smug arrogance you display does not really hide your ignorance. Software patents are not an intellectual exercise on which opinions vary, like counting the number of angels on a pin head. They are simply a device to exclude competition, dating from the days when rulers thought that borders and taxes were necessary to stimulate trade. Today we know better, and FOSS developers really, really should be better informed about the dangers of software patents.

    To claim that this matter is open to debate is like saying that evolution and creationism both deserve equal space in schools. Bzzt! Wrong! Software patents are good for large firms that want to control competition, and trolls that want to tax it. Period. This is not a complicated thing, it’s only complex because people like you lie about the simple truth and are complicit in the maintenance of a system that destroys.

    The GPLv3 does it right: patents are licensed for all, or not at all. By licensing a patent, stupid or not, exclusively for your software, you are using an anti-competitive tool to attack your competition. This is completely poisonous to a FOSS community.

    What will happen, partly because of this patent but partly because of the astonishing way you have responded, is that Dojo will be considered ‘tainted’ by the community, and rejected as unsafe.

    If you accept contributors and – obviously, from the self-satisfied smirk on your face – their cash for a FOSS project, you must understand the GPLv3 and its treatment of software patents, and apply that.

    IBM invented software patents, and use them for one reason: to control the software market. This includes FOSS, and it makes IBM an enemy of free competition in this market.

  12. Posted May 29, 2009 at 7:49 pm | Permalink

    Pieter:

    It’s really hard to respond to the vitriol in your comment in a constructive way, but I’ll burn a bit of my Friday night and give it a shot.

    First, note that *all* patents are a way of controlling competition. That’s what the patent system is designed for. By creating excludable, rival goods where only partially excludable goods previously existed, patents create scarcity around knowledge. The tradeoff which society makes in order to grant this exclusivity is twofold: first, we want to create some form of rivalry in order to further the cause of invention. Next, we want to provide incentive to those who would invent. In return for exclusivity (loaning out our system of justice), society takes in return the commons (eventually) and any progress created by the scarcity mechanism. There are a lot of fuzzy things in there: how long should the terms be? What about compulsory licensing? etc. Those are all economic decisions which advanced societies can and should find ways to reason about. It’s that process of collective bargaining that may, indeed, be broken. It doesn’t take a lot of thinking to know that the term of patent is too long for software…but what other remedies might be useful here? Are patents the best solution? Maybe not. But that’s a discussion that needs to start from a discussion about what outcomes are better for society at large than other outcomes.

    So long as you believe that people are motivated by the incentives which they might be rewarded with, and so long as you think that the entire set of solutions to all the worlds problems are not yet exhausted, and so long as you are willing to believe that having new (better) solutions to old problems is better for society, then perhaps there is room for protection of IP TO SOME DEGREE.

    It seems to me that you can’t really argue your own point here without similarly arguing that the entire logic of patents is wrong. It’s a hard argument to make, and I dare say you didn’t even give it a stab. Instead, you reverted to personal attacks and cheap shots.

    By your dismissal of me and my statement that reasonable people can have a discussion about this, you are suggesting that by entertaining a discussion of the economics of software and patents which ascribes to new techniques a non-zero societal (and therefore, possibly individual) value, I am denying the cause of science. You’re well off the cliff at this point.

    Do I think that the current terms of software patents strike the right balance? Hell no. That doesn’t put me in your fundamentalist camp, though. I refuse to yield the center of this debate, not because you’re wrong, but because neither side (apparently) has it totally right.

    It’s distressing (but not surprising) to me that while you mostly agree with my perspective, you are completely willing to impugn my reputation, deny any logic in my argument (or even standing in the debate), and suggest that my motives are the result of some money-mad greed-binge. IIRC, IBM has never donated any cash to the Dojo Foundation (there might have been some pitched in to help liberate the Grid component from the Turbo Ajax guys, but I forget the details…the money for that never went to the Foundation anyway and SitePen took a monetary hit doing the coordination work and filling in the gaps). Instead, IBM has contributed time, effort, goodwill, good lawyering, and a lot of patience to Dojo.

    All of this, then, makes you a zealot. In case it’s not clear by the intonation from my keyboard, that’s a bad thing.

    You’ll forgive me if I won’t join your religion. I find the economics of the situation much more interesting than the faith-based arguments you’ve made.

    Regards

  13. Posted May 30, 2009 at 5:03 pm | Permalink

    The arguments against software patents have a fundamental flaw. As any electrical engineer knows, solutions to problems implemented in software can also be realized in hardware, i.e., electronic circuits. The main reason for choosing a software solution is the ease in implementing changes, the main reason for choosing a hardware solution is speed of processing. Therefore, a time critical solution is more likely to be implemented in hardware. While a solution that requires the ability to add features easily will be implemented in software. As a result, to be intellectually consistent those people against software patents also have to be against patents for electronic circuits. For more information on patents and innovation see http://www.hallingblog.com.

  14. Posted May 31, 2009 at 2:31 pm | Permalink

    Dale:

    I’m not sure the flaw is where you think it is. Imagine we ship a program to any sufficiently fast turing machine…what value do the techniques embodied in the software have with relationship to their possible “captured” value in hardware? Would the same thing be “worth more” in hardware? It strikes me that in an particular quantum of time (the depreciation lifecycle of a chip, for instance), there might be some marginal value to having the thing reduced to hardware, but on the scale of time which patents are currently governed, that effect is dominated by Moore’s Law (or whatever it has decayed to of late). The only thing we might be able to say is that some technique can save us some number of “Moore’s Law units”…e.g., the incremental cost of buying more chips to fill the gap between the old and the new approach.

    My sense of the problem with the current patent system is that the cost to distribute software is so low the the lack of excludability in distribution causes the logic of patents as has been laid out for physical goods to bend to a preposterous degree. The contortions required to make thinking about a software technique “valuable” to the same degree in each passing year as it was in the previous one don’t fit with how we value software (thanks, again, to Moore’s Law). The value captured in incremental years seems more and more unfair as time goes by. We therefore don’t have a good way (yet) of lending *part* of the system of justice to the cause of excludability…and we certainly don’t have a good way of doing it in a decreasing way over time. Or at least none has presented itself under the current system.

    Regards

One Trackback

  1. […] about IBM and Dojo, based on what Slashdot had published. It turns out that Slashdot was wrong and the Dojo community actually appreciates rather than worries about what IBM did. It’s sad that Slashdot hasn’t, for a decade of coverage of IP issues, learned that licensing […]