Slashdot Mirror


Are There Problems with the Perforce Open Source License?

troed asks: "Anyone signing up to be the maintainer of an Open Source project and wishing to use the Perforce revision control server under their Open Source license seems to agree to being financially liable for the actions of others. The penalty is steep - a project consisting of 20 developers would mean that the person running the Perforce server might have to shell out $15000, if one of the developers release the code in an unfinished state. Read on for more details."

"I've recently put some work into an Open Source project, and since a lot of other people displayed interest in participating I volunteered to set up a source control system. Having worked with Perforce at a previous employer I knew that there are systems a lot better than CVS out there, and since I had also heard about Perforce being free for Open Source development I decided to give it a shot.

Installation went almost without a hitch, you do notice it's a very professional package. I had the evaluation version up and running in no time on my Red Hat 9 server, and I happily checked in the code and the revisions I had already made as well as opening up the second evaluation account for a friend. All was well.

Next day at work I printed out their Open Source License (.pdf) and started filling it in. However, I do read what I sign, and after a while I became quite worried. What I read suggests that, if this license was sent in, I would suddenly become personally responsible (with hefty economic penalties) for what other developers or even other read-only users (which I am forced to give access to according to the license) would do with the source. I decided to write a mail to opensource@perforce.com voicing my concerns. I was quite sure that this Open Source thing was new to them and that we would have no problems reaching a revised license agreement.

Not! Their reaction to my questions was not what I had expected. The CEO answered, and basically said that yes - if I want to use their server, I have to accept the responsibility. That's ok with me - when it's about stuff I can control. In this case however, that's what I feel is missing. While developing Open Source it's not that uncommon to be non-compliant towards the chosen license (GPL, as an example) for brief times during the development. This is not something Perforce allows. According to them the software has to be 'released' at all times, and it has to be compliant to the chosen license at all times. If a rogue developer, or someone at Perforce, releases a non-compliant build the person responsible for running the Perforce server is in breach of the contract with Perforce.

The paragraphs in the license that I base my arguments on are:

  • 6B - distributing the software in a non-OS way is a breach of the agreement.,
    6C - I must give read-only rights to anyone who uses a Perforce connection.
    13A - Here's where the figure $750 times number of users comes from.
From these, I've deduced that Perforce cannot be used for Open Source development. I know (Perforce has told me) that it is, and that's why I've brought this topic to your attention. Am I wrong in refusing to sign this license? My fear is that someone I give access to (this is Open Source development, I fully intend to let anyone who wants to branch off my development tree) will redistribute the software and not fully check that it's GPL compliant (it's not in its current state - I intend to change that).

My main objection is being economically responsible for the actions of others, and I also think that by requiring the application to be 'distributed' as soon as it enters Perforce a lot of valid Open Source projects cannot abide by this license since they at some point, even if just for a short while, might not qualify for the Open Source license the agreement with Perforce states (like, including BSD code temporarily in a GPL project with the intent of doing a rewrite before release).

Am I paranoid, or is this something Perforce need to go through in detail with the Open Source community, if they want us to use their software? They are of course doing this as a form of advertisment, and I applaud that. I do want to use Perforce for this project - but I don't want to create a license agreement between myself and each and everyone I can control using the server (do remember that I have no control over what people using Perforce computers might do) regulating what they can do and that they would be liable towards me, in the same way Perforce forces me to be liable to them. I do not want Perforce to feel that their gift to the Open Source community isn't appreciated, but I'm not at ease signing their license agreement - and if other Open Source projects have done it, I want to know if I'm the only one.

The mail from me to Perforce, and the answer from their CEO, can be viewed here until my ADSL-connected server melts down."

4 of 29 comments (clear)

  1. Free hosting on slashdot by gmhowell · · Score: 4, Informative

    Why melt your modem. Ctrl-C...Ctrl-V:

    From: Troed
    To: Perforce

    I've now printed out the license and filled it in - but I feel that I need
    to make you aware of wordings that make it a bit troublesome for private
    persons like myself developing Open Source software to use it.

    1) You do not recognize FSF/GNU as an authority on what is and what is not
    an Open Source license. While the initial product we are developing indeed
    is licensed under GPL, additional planned products might use other OS
    licenses. You do state that the licenses listed on opensource.org are good
    candidates, but it would simplify OS-development a lot if it was possible
    to just comply to those in your license instead of having to send you new
    contracts for each new OS license we might use.

    2) Being the maintainer of an OS project and responsible for running the
    revision control server (Perforce in this case) is not usually a role that
    comes with economic responsibility. If someone ("rogue developer") use the
    software we develop in a way that wouldn't comply with OS-licenses I would
    not be responsible in any way - that developer would. However, signing
    your license agreement makes me responsible for $750*noUsers economically
    towards you if someone _else_ does something! Is this really your
    intention? This is not how Open Source development is run.

    3) "Loophole". The GPL (et al) are licenses that "force" the person who
    releases software outside of the organisation to also deliver the source.
    Any project is "GPL compliant" as long as it never releases any software
    publically. Are you aware of this? It would be possible for me to develop
    whatever software I like as long as I don't make public releases. Since
    you force me to have read-only accounts set up someone _else_ can release
    the software though - and thus I would again be in breach of contract with
    you - even though I never intended to release the software in the state it
    was in at that time. (It's quite common in the OS-world to be
    non-compliant with the license for development purpose, but with the
    intention of becoming compliant before the release. If you don't believe
    me, look up OpenOffice.org. It's actually not GPL-compliant in it's
    current state!)

    ***

    From: Perforce CEO
    To: Troed

    1. You want a pre-blessing on some set of licenses.

    We can certainly pre-bless a license before they start developing under
    it, but there are too many potential candidates for us to enumerate,
    and some of them change over time. We do not, in fact, recognize FSF/GNU
    as the authority on what constitutes "open source" for our purposes.
    We do suggest the GPL and FreeBSD licenses are likely to meet quick
    approval, but we need to see each and every license for source code
    being managed by Perforce with one of our EULA for OSSD.

    2. You want us to give up the provision that if someone uses your free
    Perforce licenses for commercial purposes, we can go after you for the
    value of commercial Perforce licenses. It appears that you want to
    be completely free and clear if these free licenses happen to end up
    getting used for commercial purposes; the comment about "running Perforce
    is not a role that comes with financial responsibility" suggests that
    you're not willing to be on the hook for anything whatsoever in case
    the restricted terms of the open source license are violated.

    The software you develop can be used commercially under our EULA for OSSD.
    Perl certainly is. Our basic requirement is that the software is not
    proprietary, i.e. it is distributed as open source.

    The provision here is to keep people from signing up for a EULA for OSSD,
    and then selling it to someone for commercial (proprietary) software
    development.

    3. You don't like letting us access your Perforce depot to keep an eye on
    what you're doing, based on the idea that software that's never released
    outside the developer'

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  2. FYI, BSD+GPL = GPL is perfectly okay by molo · · Score: 3, Informative

    a lot of valid Open Source projects cannot abide by this license since they at some point, even if just for a short while, might not qualify for the Open Source license the agreement with Perforce states (like, including BSD code temporarily in a GPL project with the intent of doing a rewrite before release).

    Including BSD licensed code with a GPL project is not in any way violating either license. The BSD code remains under the BSD license and the project as a whole under the GPL. There is plenty of BSD-licensed code in the Linux kernel for example.

    The GPL says that any license may be used as long as there are no ADDITIONAL restrictions (such as the BSD+advertising clause).

    This is tangential from your cause for concern, but I thought this should be clarified.

    -molo

    --
    Using your sig line to advertise for friends is lame.
  3. There are other free (libre) alternative to CVS by Circuit+Breaker · · Score: 2, Informative

    darcs, monotone, cvscc, mcvs, subversion, GNU arch.
    Use them, and help the free software community improve the tool. Yes, at the moment Perforce is (probably) better. But Subversion with RapidSVN and (if using windows) TortoiseSVN are more than adequate. And with time (and _users_), the free solution may be much better than the commercial alternatives.

  4. Re:There is a fine distinction here... by angel'o'sphere · · Score: 2, Informative

    I read the license and the letter of the CEO exactly as you say. I wonder how one can understand that wrong.
    I mean, the perforce agreement pretty well states what YOU are expected to do if you want to use perforce in OSS development. There is nothing in the license agreemtn where YOU are expected to take over rsponsibility for what your codevelopers do.
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.