Apereo Licensing & Intellectual Property Practices

To properly apply the Apereo Licensing & Intellectual Policy to an open source software project, the following major items must be addressed:

  1. All Contributors must complete appropriate Contributor Agreements
  2. The License must be properly included with the project
  3. Notices must be properly maintained for the project
  4. All Apereo source files must carry a proper Source Header
  5. All Third-Party Content must be handled properly

Note: These practices assume the outbound license on projects is either the Apache License, Version 2.0, or the Educational Community License, Version 2.0. Any other license must first be approved by the Licensing & Intellectual Property Committee and by the Apereo Foundation Board of Directors, and must be implemented according to the requirements and best practices of that outbound license.

Contributor Agreements

All current (and preferably former) individual contributors to the project must complete and submit the Individual Contributor License Agreement (ICLA).

Any individuals working on the project on behalf of an employer must also get their employer to complete and submit a Corporate Contributor License Agreement (CCLA).

If there is a significant pre-existing body of work being contributed to the project, an explicit Software Grant License Agreement (SGLA) should be completed as well.

License

Place a plain-text copy of the license into a file named "LICENSE" in the root directory of the software distribution. This applies to both source and binary distributions of any kind. Use the following link for the contents of this file:

Apache License, Version 2.0:
http://www.apache.org/licenses/LICENSE-2.0.txt

Educational Community License, Version 2.0:
https://opensource.org/licenses/ECL-2.0

Notices

In the same directory as the "LICENSE" file (the root of every distribution), place a plain-text file named "NOTICE". This file must also be included in every source and binary distribution of the project.

The top of the NOTICE file must include the following text, suitably modified to reflect the project name and year(s) of distribution of the current and past versions of the project.

The NOTICE file may include copyright notices from contributors, if desired, in the indicated area. Contributors should not place individual copyright notices directly into source code files. Instead, all copyright assertions should be collected here in this one file.

The last section of the NOTICE file should contain all required third-party notices.

Here is the template for the file when using the Apache License:

Copyright <Year>, The Apereo Foundation
This project includes software developed by The Apereo Foundation.
http://www.apereo.org/

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this software except in compliance with the License.
You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

===========================================================================

[additional contributor copyright notices]

===========================================================================

[third-party legal notices as required]

===========================================================================

Here is the template for the file when using the Educational Community License:

Copyright <Year>, The Apereo Foundation
This project includes software developed by The Apereo Foundation.
http://www.apereo.org/

Licensed under the Educational Community License, Version 2.0
(the "License"); you may not use this software except in compliance
with the License. You may obtain a copy of the License at:

https://opensource.org/licenses/ECL-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

===========================================================================

[additional contributor copyright notices]

===========================================================================

[third-party legal notices as required]

===========================================================================

Source Header

Every source file (including all code and documentation, excluding the LICENSE and NOTICE files) that is a direct part of the project should include a short license header at the beginning of the file, commented out using the appropriate comment markers for the type of file. This includes all files covered by an ICLA, CCLA, or SGLA. Any third-party files (such as libraries) should not be modified (see the next section).

Any copyright notices in source files should either be moved to the NOTICE file or removed completely. Once properly modified, there should not be any copyright notices in any of the source files.

Many development platforms have build tools that can automatically maintain appropriate source code headers throughout a codebase, and should be used for consistency wherever possible.

The following text should be used in the source file header when using the Apache License:

Licensed to The Apereo Foundation under one or more contributor license
agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership.

The Apereo Foundation licenses this file to you under the Apache License,
Version 2.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and
limitations under the License.

The following text should be used in the source file header when using the Educational Community  License:

Licensed to The Apereo Foundation under one or more contributor license
agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership.

The Apereo Foundation licenses this file to you under the Educational
Community License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the
License at:

https://opensource.org/licenses/ECL-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Third-Party Content

Third-party content (source code, binary artifacts like libraries, documentation, etc.) is anything that was not submitted directly to Apereo or that is not covered under an ICLA, CCLA, or SGLA. Apereo projects can use third-party content as long as the project is in compliance with the license under which the content is acquired, and as long as use of the third-party content does not violate Apereo's own licensing and policies. Use of any third-party content not available under one of the licenses on ASF's "Category A" list must first be reviewed by the project’s governance body since this has implications for how the derivative work can be used. See the Apereo documentation on Third-Party Licenses for more details.

Third-party content should be handled much differently from Apereo content. Copyright and license notices inside source files should not be modified and the standard Apereo source header should not be added. Licenses for the third-party content should be included with the distribution and appropriate notices should be included in the NOTICE file. Minor modifications to third-party sources should be licensed under the same terms as the original third-party source, while major modifications to third-party sources should be handed on a case-by-cases by the project's governance body.

Notes

It is acceptable to name the required files as "LICENSE.txt" and "NOTICE.txt", but the version without the file extensions is preferred.