EPICS is not a single monolithic piece of software, but a collection of software tools that work together to help create a control system. Different parts of the EPICS toolkit were developed by different people at different times and places, and may be distributed under different licenses depending on the originators of the software, which in turn will usually depend on the requirements and policy of the laboratory or other organization that sponsored the work.
All of the code that was written as part of the collaboration between Argonne National Laboratory, Los Alamos National Laboratory and other DOE Labs and distributed by the EPICS community is now licensed under the EPICS Open license. This license includes some wording that was required by the the US Department of Energy, which is why we couldn’t just use something like the modified BSD license. It is intended to comply with the Open Source Definition, but has not been submitted for approval to the OSI panel.
Using and Redistributing EPICS
The EPICS Open license is quite liberal and was designed to allow for commercial use, modification and redistribution of the code in either source or binary form, without requiring that any changes be contributed back to the community (although we do encourage and recommend doing that if possible). There are some requirements in the license about retaining and publishing copyright notices and describing code changes that must be followed if you do redistribute the software, but they are not onerous.
As mentioned above though, individual EPICS modules may have different licenses; some common modules are covered by the LGPL and others by the GPL, so if you wish to incorporate software from the EPICS toolkit into some other distribution or into a commercial product make sure you understand all the licenses that apply to the code you wish to use.
Contributing to the Core EPICS Code-base
For the EPICS developers to be able to distribute software that was written elsewhere, the licensing terms for the contributed software must be explicitly stated, and they must permit us to redistribute it without limits. Modifications to EPICS Base can only be accepted if licensed under the EPICS Open License or a similar and compatible Open Source license. Modifications to any EPICS-related code that are donated to the community will be treated as having been licensed under the EPICS Open license unless some other license terms have been explicitly included.
Applying the EPICS Open License to your software
If you develop EPICS software as part of your job, your software is probably owned by your employer, and as a result you’ll probably have to get approval from your management to license and distribute it. If any part of the code was developed elsewhere and does not already have the EPICS license attached to it then you probably need to obtain permission for licensing from the original author. If any code you’re using is already licensed under a different license such as the GNU GPL or LPGL then you’ll need to consult that license and probably a legal expert about what you can and can’t do with it. This section assumes that you have already done that. This is not legal advice, I am not a lawyer.
To use the EPICS Open License for your own programs, download and copy the LICENSE Text file into the top level directory of your distribution and edit the five words inside <CHEVRONS> as appropriate for your project. You should also download the license header file, edit it as before and insert a copy of this into every significant source file to which the license should apply.
Questions about the licensing or other related administrivia should be emailed to Andrew Johnson <anj.at.anl.dot.gov> (replace .at. and .dot. with the appropriate symbols in that email address).
The old EPICS Base license
EPICS Base versions between 3.13.7 and 3.14.4 were originally distributed under a close-source license called the EPICS Base License Agreement. This was a legal agreement between the Licensee and the copyright holders which allowed Argonne to control who could obtain copies of the EPICS Base software, as required under the EAR-99 classification which EPICS received several years before. As of February 2004 this EAR-99 classification was withdrawn, and we changed the terms of the license to distribute EPICS under the new Open license.