Perforce and Open Source FAQ

I work on an open source project. I've heard that perforce offers no-cost licenses for open source projects. What do I have to do to see if we qualify?

Please read the End User License Agreement for Open Source Software Development. If you can abide by these terms, and if the license agreement under which you will distribute your software meets our definition of Open Source (basically, the Open Source Definition, then you qualify).


Based on the above, I think we qualify for a no-cost Perforce license for use on our open source project. What do I do next to get one?

The next step is for you to complete a copy of our Open Source license agreement, and send it to us, either via physical mail, or FAX. (Please see our contact information for addresses and FAX numbers).

Upon approval of your agreement, we'll issue the license via email.

Note: no-cost licenses for open source development are issued for a term of one year, and must be renewed each year for continued use. At renewal time, we'll ask that you resubmit a complete new agreement (this simplifies the process for us, should we need to change the agreement from year to year). Therefore, we recommend that you keep a copy of your license agreement handy, as it will simplify the process at renewal time.


The End User License Agreement for Open Source Software Development calls for my server IP address, but my server uses a dynamically assigned IP address. What do I do?

Fill in the hostname instead of the IP address, if you will be using a service such as

In addition to the standard agreement, you must also submit a completed "IP-less Server Request" form. Please contact for more information.


The End User License Agreement for Open Source Software Development requires that Perforce Software be granted read-only access to the Perforce server. What do I need to do to comply?

We will assume, unless otherwise notified, that we will be able to access your server at the server's licensed IP address, port 1666, using the Perforce user name "anonymous". When this is not true, you should include information for contacting your server when you fill out the license agreement.

For example, if your system lives behind a device that does Network Address Translation, you should let us know what the external IP address (and port, if other than 1666) will be at which we can contact your server.

Or, if you have implemented a restrictive Protections table, you may choose to create a special user, e.g., "perforce", for us to use when accessing your server. In such cases, you should note the username that we should use when contacting your server on your agreement.