Why I would not sign a Harmony Agreement

Jos blog post today reminded me that I had a look at the Harmony Agreements and tried to decide for me whether I would consider to sign such a CA. To make it short: signing a Harmony Copyright Assignment is for me unacceptable. I think it could be valuable to others why I would not sign such an agreement. As a note: I have signed the KDE Fiduciary Licensing Agreement, so I am not in general opposed to licensing agreements.

Issue 1: The Name

The name “Harmony” is really bad. Not only as there is already a relevant FOSS project called Apache Harmony, it is also the meaning of the name. The name implies that you have to sign it to have harmony. Harmony between whom? Obviously the company who wants the CA being signed and the developer who should sign it. So without the CA there would not be harmony? Why shouldn’t there be harmony? If the developer chooses to develop to a company driven FOSS project under a given license (e.g. GPL) I do not see any reason why there should not be harmony between developer and other corporate partners. So given the aim of the Harmony Agreements to standardize CAs, I only see one possibility to destroy the harmony: requiring a CA from the developers. If the CA is an obvious problem then I do not understand how the Harmony Agreements are going to fix this. To me the name just sounds like an euphemism or worse like Newspeak.

Issue 2: Written by a Company

The Harmony Agreements have been written under the lead of Canonical, a corporate institution. Personally I doubt that a corporation has the individual developer’s best interest in their mind. Especially in the case of Canonical I am very doubtfull since the Banshee incident. If I cannot trust that the other party does not fleece me, I cannot sign such an agreement without consulting a legal expert in that field. This means quite a monetary factor on my side just to contribute something for free. If I have to pay to donate, I rather do not donate. I would feel way more open to the agreements if they would have been written by the FSFE, an organization I as a developer can trust and do trust.

Issue 3: Patents

Disclaimer: I’m neither a lawyer nor is English my native tongue, I might just be missreading it (see Issue 2). The agreement contains the following sentence:

(b) You own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.

To me this sounds like I have to state that I own all possible patent claims for the code I contribute. I would not have a problem with that for Germany (where patents on Software are not allowed), but worldwide? Considering the completely broken American software patent situation I would be sure that for any code I write there is at least one trivial patent claim for it. This is a point in the agreement I cannot sign without calling myself extremely stupid. As far as I remember my law term at university as a private, non-corporate developer no company could sue me for patent claims. By signing such an agreement patents become a serious issue for me as an individual developer. If donating code results in a threat to my monetary future I rather not donate source code.

Issue 4: Copyright in Germany

Germany has a “Copyright” very different to the rest of the world. There is no fitting translation for Copyright into the German langue and vice versa. In Germany (and some German influenced contries) you are the author (“Urheber”) and you will always be it. There is no possibility to assign your authorship to someone else. There is also nothing you have to do to become the “Urheber”, when you do creative work you are automatically the “Urheber”. Being a German, living in Germany and have been educated with this in my mind, I consider the authorship as something very important and I am very respectful for the author.
Obviously a Copyright Assignment is not possible if you are German. The Harmony Agreements handle this case:

(b) To the extent that any of the rights in Section 2.1(a) cannot be assigned by You to Us, You grant to Us a perpetual, worldwide, exclusive, royalty-free, transferable, irrevocable license under such non-assigned rights, with rights to sublicense through multiple tiers of sublicensees, to practice such non-assigned rights, including, but not limited to, the right to reproduce, modify, display, perform and distribute the Contribution; provided that this license is conditioned upon compliance with Section 2.3.

The agreement is just reduced to what the Contributor License Agreement is about. But it leaves me in legal doubt. What if I am at a conference outside Germany? Is the code I write there covered under the License Agreement or the Copyright Assignment? What if I move into another country where Copyright Assignment is possible? Given my German background it is for me unacceptable to assign the Copyright to anyone as nomatter where I live or work I consider myself as the “Urheber”. This is again a case of Issue 2. If it is just a license agreement in practice, why am I not allowed to just sign the license agreement? If the company is interested in controlling the copyright worldwide, wouldn’t it be a subsequent step to say that they don’t accept contributions from Germans due to the legal situation? How can a company know what parts of the code they have the copyright and for what they don’t?

Issue 5: Termination

There is plain simple no way to terminate the assignment. This is clearly in the interest of the company, but not neccessarily in mine. I am not sure if a could sign a treatment legaly binding for the rest of my life without the possibility to change my mind. Again compare issue 2.

Issue 6: Who benefits?

Why does a FLOSS centered company require CAs? I don’t have an answer for it and if I try to find one I can only come up with one solution. The company in question wants to improve the corporate value by having the option to make the software they develop in a community process proprietary. Or that the owner of the company considers to sell the company in future and wants to make it as profitible as possible. I hope there are better reasons for it and I am looking forward to the Panel discussion, but I fear my thoughts could be right. I personally would not give a company the right to turn my contributions to free software, and by that to mankind, into proprieatary software or even worse to sell it to $evil_company I would never want to work for, neither directly nor indirectly.
Overall there are just too many issues for me that I would consider signing it. As a note again, I do not in general consider copyright licensing as harmful and would also sign other agreements in case I am convinced that I can trust them. E.g. I would sign the FSF CA and would also contribute to Qt as the free software state is ensured by the KDE Free Qt Foundation.

=-=-=-=-=
Powered by Blogilo

11 Replies to “Why I would not sign a Harmony Agreement”

  1. Fortunately, you are mistaken when you say that the “Urheber” institution is German-only, but it’s true that to translate civil law concepts (like Germany, and Chile, my country) into common law concepts is sometimes impossible. It’s not only German and English, this is about two completely different legal languages. Germany, Latin America, France, and other countries are ruled by civil law systems, and English-spoken countries are ruled by common law systems.

    The Urheber concept is accurately translated to Spanish as “derechos morales”, rights exclusive to the author (the person who made something, not the wide author concept some seem to manage). It would be great for Canonical guys to learn some civil law, and some concepts foreign to their law tradition.

    1. The concept of moral rights is not exclusive to civil law, and it exists in many common law jurisdictions (although it does not exist in the US). Moral rights are seperate from copyright, and represent a different bundle of rights Generally moral rights cannot be assigned, but they can be waived by the original author.

  2. I veto with your claim on German law. The UrhG distinguishes Urheberrecht (creator’s right) and Verwertungsrecht (copyright). Copyright can be reassigned through contracts; this is how collecting companies (GEMA, VG Wort etc.) and publishers work.

    The main difference between German and e.g. American copyright law is IMHO that the German Urheberrecht is an inalienable property of the creator; which creates an unbreakable bond between creator and work. On this foundation lies e.g. the Urheberpersönlichkeitsrecht (moral rights): For example, the creator of some work may permit that his work be defaced.

    The usual disclaimer: IANAL (I am not a lawyer).

  3. With that CA one company, one distributor, one single person has full control. There is no guarantee that he doesn’t use that to go for his competitors by changing the license. Imagine a world where only Ubuntu can ship the “FLOSS” software any longer while noone else is allowed to. Imagine a world where you as developer have to pay to use your software. A dream for some, a nightmare for others. No guarantee, Project Harm-ony.

  4. Very nice post, I completely agree with your opinion, and it looks like (if you look at the GNOME side too) that there is not a single FLOSS developer out there who thinks that project Harmony is really needed.
    In fact, it only creates lots of problems, as seen with the Ubuntu Software Center AppStream effort. (Canonical’s CLA is the one and only thing which makes development and collaboration harder there…)
    I’m really looking forward to the panel on copyright assignment at DS – I really want to know what Shuttleworth has to say! 🙂
    Thanks for your post!

  5. > E.g. I would sign the FSF CA and would also contribute to Qt as
    > the free software state is ensured by the KDE Free Qt Foundation.

    I agree with the post in general including the trust issue, and as a KDE user and regular on a couple KDE lists, I definitely have no problem with either KDE or Qt. However, the implication of the above statement (and of “my 1 cent” in his comment) is that Canonical can take its FLOSS-licensed projects private without community recourse, while Nokia/Qt cannot. I believe that’s an invalid statement, because there’s recourse in both cases, assuming the project license in question is standard FLOSS, defined here as OSI/FSF approved (or should be approvable under current policy).

    In both cases, there’s nothing stopping the company from taking further releases proprietary. In the Qt case, the KDE Free Qt Foundation agreement (as I understand it) DOES trigger at that point, effectively putting the last FLOSS version under a BSD/MIT style license (the choice apparently to be made at that time)), but as Qt has been moving gradually in that direction anyway, that’s not going to make anywhere near the difference it once would have.

    Meanwhile, the release of past and current versions under the existing licenses can’t be undone, and if the project is important enough to the community, development will fork from the last free version and pick up from there, if necessary.. For a true Free(dom) Software or OSS (Copyleft or BSD/MIT style, equally) advocate, that’s the important thing.

    In fact, there’s various examples of exactly that happening, perhaps the most well known and highly successful of which might be SSH/OpenSSH. (More current examples would include the Sun/Oracle debacle and what it has done to the various former SUN sponsored FLOSS projects. How successful some of those will be remains to be seen, but it’s important to note that the choice is there BECAUSE they were FLOSS licensed in the first place. Otherwise, Oracle would “have its way” with the projects of the former company, just as has been the case with however many other companies and proprietary projects, with little story and little if any recourse for those affected. Too bad, so sad, for them, but FLOSS licensed projects *DO* have recourse!)

    There is one potential difference, copy-lefted-but-single-owner project vs MIT/commercial-free-for-all licensed project. But, that coin has two sides. Copy-lefted-but-single-owner projects (like MySQL, and Qt, were it not for the KDE Free Qt Foundation agreement, and what most of the Harmony Agreement coverage would be as it makes less sense for MIT style licenced projects) CAN rely on being the only one able to sell proprietary licenses. However, as the OpenOffice.org/LibreOffice case demonstrates, should circumstances warrant, contributors CAN fork and keep the copy-left license ONLY, without the proprietary rights assignment bit, thus creating problems for would-be proprietary code licensees, for newly contributed bits after the fork. That very nicely mirrors the case for would be FLOSS users of updated code found in the newe proprietary versions. =:^)

    The other side has similar positives/negatives. An MIT style license effectively allows a proprietary free-for-all, allowing anyone to take their version of the code private, thus preventing the single proprietary licenser monopoly situation of copy-lefted-but-single-owner. That /could/ be seen as a good thing. And in theory, a FLOSS community could still go copy-left with their own improvements, again nicely mirroring what the proprietary folks are doing with theirs. However, in practice, once the project is established with a MIT/BSD/Apache style license, it is seldom taken copy-left, tho forks of the code may be and occasionally are. So this prevents the single company proprietary licensing monopoly situation, but it also means there’s no nicely mirroring copy-lefted code with improvements as unaccessible to the proprietary folks as are the proprietary improvements to the FLOSS folks.

    What the KDE Free Qt Foundation agreement does is simply provide that in the absence of free copy-lefted releases, in *ADDITION* to the fork the last free version and continue as copy-lefted, which is *ALWAYS* an option, the agreement then triggers a clause causing the entire source to be released under an MIT-style license, effectively denying Qt the proprietary-licensing-monopoly that the single-owner-copyleft status currently affords. That’s ACTUALLY more of interest to those that would take Qt proprietary if they could and that may be buying a proprietary license now, than it is for freedomware folks, since they can continue development from the last freedomware version in any case. And while there was arguably a deterrent effect for Trolltech, since they depended on the proprietary license revenues and if they quite releasing a copylefted version that would have allowed other proprietary developers to avoid paying, it has rather less deterrent effect on Nokia, who has been steering Qt toward ever more liberal licensing since the purchase, and who might well end up with the license loading the KDE Free Qt Foundation trigger, regardless.

    OK, so what does all that /say/? Basically this:

    1) Once free, existing versions cannott be un-freed. The community is always free to fork from the last free version and keep improving from there, should they need to, and there’s historic precedent for just that. The implication of the quote is therefore incorrect since this applies to FLOSS licensed code in general, regardless of whether it’s the Qt project or some other, perhaps a Canonical sponsored project.

    That’s a critically important point that a lot of folks seem to miss, but its existence is a game changer for the others.

    2) As a result of #1, the debate isn’t about the continued freedom of currently FLOSS licenced code, since that’s already settled. While for some people the debate might be about the possibility of their contributed-as-free code appearing in proprietary apps, that’s clearly not the case here, since you clearly stated that you have no problem with Qt, which just as clearly does exactly that, allow proprietary devs to use it in proprietary apps and keep the changes, provided they pay the license fee to do so. Further, the KDE Free Qt Foundation agreement which you refer to so approvingly, if triggered, would cause the release of the code under a non-copyleft license allowing a proprietary free-for-all, so if you /at/ /all/ understand that, it’s transparently not a problem for you.

    3) Similarly, there can be little debate over BSD/MIT/Apache style licenses, since due to their liberalness, a contributor agreement (other than, possibly, a simple I believe I have the rights necessary to legally contribute this code for use in the project under the project license and hereby do just that, something some but not all projects are willing to take as an implied assumption, so some but not all projects require this explicitly) isn’t particularly necessary — anyone proprietary or FLOSS can take the code, use it, and modify it to their needs.

    4) The debate is therefore confined to only a single narrow category, copy-left-licensed projects, and the ability or lack thereof of a potential single-code-owner to hold a monopoly over proprietary licensing, along with the specific terms under which those licenses may be granted for that portion of code not original to the single-owner but instead contributed by others. Again, points #2 and 3 preclude the possibility of the debate being about the ability to take the code proprietary at all, so that’s settled, and the debate can only be about under what terms a proprietary license is to be allowed.

    It’s obvious Mark and Co. believe it necessary to maintain flexibility in this regard, thus their driving this whole debate forward in the first place. I’ve seen some coverage of his previous presentations. LWN did a feature article on one of them, one week, so I’m familiar with his basic position and know that it’s logical enough — he’s not insane. But logically consistent and morally /right/ are two different things, and even if he IS correct about FLOSS not every making it “big” if it doesn’t accept this compromise (I don’t know that I can judge that, tho I DO know he has WAY more experience in the field of big business and has been WAY more successful at it than most of us could anticipate happening to us, so it’s a view not to be taken lightly), there’s quite some debate over whether it’s worth paying that price.

    The obvious answer to /that/ question, for /much/ of the community, would seem to be “No, it’s NOT worth paying that price.” And I believe both you and I agree with that. But if there’s one thing big businessmen like Mark have demonstrated by virtue of the fact that they /are/ big businessmen, is that they know how to negotiate and negotiate and often ultimately come up with a deal that’s seen as of enough benefit to BOTH sides to get it signed, sealed, and (hopefully) delivered. And Mark has specifically stated that he does NOT see the current versions as perfect, or necessarily fully acceptable as they are. So what he has done is staked out his negotiating position. It’s going to be interesting to watch as the negotiations continue. It’s obvious that he believes there’s a high enough chance of a position to be found in the middle that’s mutually satisfactory to at least /enough/ of the community to be well worth the time and trouble he’s investing in it, or a successful businessman like him wouldn’t be taking the time.

    Meanwhile, the community is right to believe that all the cards aren’t out on the table yet, too, tho Mark HAS stated that he believes some such compromise is necessary if Linux is ever to supplant MS as market leader in the desktop (or whatever replaces it) domain, and Android’s success doesn’t exactly do anything to negate that position, by far. But even assuming he’s right about that, will enough of the community buy in for it to happen as Mark envisions, and can he play the great negotiator finally bringing the sides together? Only time will tell.

    And is it worth it? That’s a question every FLOSS community individual will have to settle for himself, regardless of where the community as a whole goes. RMS can certainly tell you how lonely it gets when you’re considered an insane idealist by many, but to his credit, he also demonstrates how unwavering one can be in the face of what would seem the entire community going otherwise, if one believes strongly enough. So an individual decision it can, must, and will be.

    But meanwhile, there’s the community behavior as a whole or as major segments thereof, to be considered. So break out the beverages and the popcorn, as watching this one play out could be almost as entertaining as watching the SCO case play out… and could well take comparable time…

  6. There is little doubt that one has to be prepared going into such negotiations.

    Part of the problem is the greed that permeates the development culture. Everyone, it seems, has the dream of creating something wonderful, then selling it for some fortune, and being rich ever after.

    The other part of the problem is that these people coming to buy your property are much more savvy than you. They may see a host of possible uses for your software, and of course keep this secret. So if they can buy this lock, stock, and barrel, all the better.

    So you must retain interests. You might retain an interest in buying back your work before they can sell it to someone else. You might suggest that any reselling give consideration for you receiving a percentage of any profit they make from such a sale. You might indicate that your selling of the work can only be applied to one particular scenario, and that you retain rights for any other sort of usage.

    They of course will not suggest any of these items. Why should they? But when someone is waving 5, 6, 7 figures at you, you must keep a clear head. Think about what it is that you understand you are selling, and find ways to restrict the sale to just what it is that you wish to let go.

    1. Part of the problem is the greed that permeates the development culture. Everyone, it seems, has the dream of creating something wonderful, then selling it for some fortune, and being rich ever after

      I strongly disagree. If you read my post carefully, you see that I speak of “donating code”. It is clearly not in my (and I think for most FLOSS developers) mind to develop software to sell it.

Comments are closed.