Loading ...
Sorry, an error occurred while loading the content.
 

The story of the JUnit license

Expand Messages
  • Kent Beck
    All, Since the question about the JUnit license came up recently, I thought I d clarify the story of why the license is the way it is. Pre-license For the
    Message 1 of 6 , Jan 14, 2011
      All,

      Since the question about the JUnit license came up recently, I thought I'd clarify the story of why the license is the way it is.

      Pre-license

      For the first year or so of JUnit's existence we didn't have a license at all. The code was out there, people used it, nobody worried.

      CPL

      After a while it became clear that JUnit was going to be popular. At the same time IBM's lawyers discovered open source. Since Erich and I had been equally involved in the project from the first, we needed to have a license and it needed to be one that the IBM lawyers approved of. This was roughly the time that the CPL came out, I believe with IBM's support. We adopted the CPL, more or less by default.

      I want to be clear on this point. The CPL isn't a cunning trick or a political statement. It's just the license that made sense at the time.

      Commercial licenses

      About five years ago I began receiving questions from company lawyers about the CPL. They object to the patent provisions for reasons I cannot explain because I have never received an explanation that made sense to me. In these cases I offer to write a commercial license for JUnit with terms that meet their needs. Sometimes the inquirer purchases the license. Sometimes they don't.

      Re-licensing

      One of the options is to issue JUnit under a new license that no one would object to. I don't have any plans to do this. The costs of the conversion are considerable, and would be paid by me. The benefits of the conversion would accrue to large corporations with big legal staffs. It doesn't make sense to me to spend my time for free to make their lives easier. From my perspective, if a company can afford the lawyers to object to the CPL, then they can afford a commercial license. The vast majority of users have no concerns with the current license.

      I suppose there is a fantasy scenario where Large Corp. decides to sponsor JUnit for a bazillion dollars a year and as part of the deal I change the license, but that doesn't seem likely at this point.

      Conclusion

      I can see that from the outside my position looks a bit like extortion: you (big company) don't want bad things to happen, you'd better pay up. From my perspective, though, my position makes sense. If you can pay to object, you can pay to make the objection go away. I have donated many thousands of hours of my time to my community. Should I donate more of my time so lawyers can sleep better at night and give up a source of revenue in the process? That's the part that doesn't make sense to me. I can see the conflict between the two perspectives but I don't have a resolution.

      Anyway, that's the story of the JUnit license. I'd be glad to engage in followup discussions here if folks have any questions or comments.
    • Malte Finsterwalder
      Just an idea that popped up in my mind: Would it solve the problem if someone sponsored the move of JUnit to another licence, instead of bying a commercial
      Message 2 of 6 , Jan 14, 2011
        Just an idea that popped up in my mind:
        Would it solve the problem if someone sponsored the move of JUnit to
        another licence, instead of bying a commercial license?
        As such this sponsor would invest in the community to make JUnit even
        more accessible to others.

        Greetings,
        Malte
      • Bill Shannon
        ... If you don t understand why people object to the patent litigation clause, well, then you re like me a few days ago, or like most of the people who use
        Message 3 of 6 , Jan 14, 2011
          Kent Beck wrote on 01/14/11 07:37 AM:
          > Commercial licenses
          >
          > About five years ago I began receiving questions from company lawyers about the
          > CPL. They object to the patent provisions for reasons I cannot explain because I
          > have never received an explanation that made sense to me. In these cases I offer
          > to write a commercial license for JUnit with terms that meet their needs.
          > Sometimes the inquirer purchases the license. Sometimes they don't.

          If you don't understand why people object to the patent litigation clause,
          well, then you're like me a few days ago, or like most of the people who
          use JUnit - you've been completely fooled by the implications of the
          license. Start here:
          http://en.wikipedia.org/wiki/Eclipse_Public_License#cite_note-patent_litigation_change-2

          As I now understand it (IANAL), the CPL provides a huge disincentive to anyone
          who depends on JUnit to enforce their patent rights with a contributor to
          JUnit *for software completely unrelated to JUnit*. CPL (and EPL) contains
          a similar patent retaliation clause limited to the licensed program (e.g.,
          JUnit), but it's this broader clause in CPL that is problematic.

          As licensor, you might think this is a good thing.

          If you believe software patents are evil, you might think this is a good thing.

          As licensee, if you have a significant software patent portfolio, you should
          be concerned.

          Ask IBM if they're willing to use someone else's software under the terms
          of the CPL license.

          I fully understand why you would want to offer commercial licenses for JUnit,
          and why changes that reduce your ability to make money that way would not
          be attractive.

          And I understand that changing the license has some cost to you, for no
          apparent benefit to *you*.

          I just think it's important for you to understand why others object to the
          license you've chosen, even if you don't want to change it. (Given the
          history you've described, it's clear that you didn't choose this license
          *because* of this clause.) I understand that you need to balance changes
          in the license that might further promote use and distribution of JUnit
          with the cost to you of doing so and with your ability to make money by
          selling commercial licenses.

          Do you now understand why others have an issue with the license you're using?
        • Kent Beck
          Bill, I can understand why Oracle lawyers object to the patent provisions of the CPL. It makes sense to me to work out a business arrangement to address the
          Message 4 of 6 , Jan 17, 2011
            Bill,

            I can understand why Oracle lawyers object to the patent provisions of the CPL. It makes sense to me to work out a business arrangement to address the JUnit license to their satisfaction.

            Regards,

            Kent
          • Kent Beck
            Malte, That sounds ideal to me. I would love to have a stable source of support for JUnit so it can continue to evolve. Regards, Kent ... [Non-text portions of
            Message 5 of 6 , Jan 17, 2011
              Malte,

              That sounds ideal to me. I would love to have a stable source of support for JUnit so it can continue to evolve.

              Regards,

              Kent

              On Jan 14, 2011, at 8:09 AM, Malte Finsterwalder wrote:

              > Just an idea that popped up in my mind:
              > Would it solve the problem if someone sponsored the move of JUnit to
              > another licence, instead of bying a commercial license?
              > As such this sponsor would invest in the community to make JUnit even
              > more accessible to others.
              >
              > Greetings,
              > Malte
              >



              [Non-text portions of this message have been removed]
            • Frederic Jean
              Kent, Please leave JUnit under the CPL. We need something to keep Oracle s aggressiveness in check. On an unrelated note, Google uses and extends JUnit to test
              Message 6 of 6 , Jan 17, 2011
                Kent,

                Please leave JUnit under the CPL. We need something to keep Oracle's aggressiveness in check.

                On an unrelated note, Google uses and extends JUnit to test the Dalvik VM. Oracle might have already triggered the CPL patent clauses (which may explain in great part why they are focussing on this right now.). A lawyer should look into it.

                Fred
                Former Staff Engineer, SW at Sun Microsystem

                On Jan 17, 2011, at 8:42 AM, Kent Beck wrote:

                > Bill,
                >
                > I can understand why Oracle lawyers object to the patent provisions of the CPL. It makes sense to me to work out a business arrangement to address the JUnit license to their satisfaction.
                >
                > Regards,
                >
                > Kent
                >
                >



                [Non-text portions of this message have been removed]
              Your message has been successfully submitted and would be delivered to recipients shortly.