License.java [src/csip/annotations] Revision:   Date:
/*
 * $Id$
 *
 * This file is part of the Cloud Services Integration Platform (CSIP),
 * a Model-as-a-Service framework, API and application suite.
 *
 * 2012-2022, Olaf David and others, OMSLab, Colorado State University.
 *
 * OMSLab licenses this file to you under the MIT license.
 * See the LICENSE file in the project root for more information.
 */

package csip.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Service License. This annotation provides a list of popular open source
 * license. You can specify your own license as string.
 *
 * @author od
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface License {

  /**
   * GNU General Public License version 3.
   */
  public static final String GPL3 = "https://opensource.org/licenses/GPL-3.0";

  /**
   * GNU General Public License version 2.
   */
  public static final String GPL2 = "https://opensource.org/licenses/GPL-2.0";

  /**
   * Apache License, Version 2.0.
   */
  public static final String APACHE2 = "https://opensource.org/licenses/Apache-2.0";

  /**
   * The 3-Clause BSD License.
   */
  public static final String BSD3 = "https://opensource.org/licenses/BSD-3-Clause";

  /**
   * The 2-Clause BSD License.
   */
  public static final String BSD2 = "https://opensource.org/licenses/BSD-2-Clause";

  /**
   * GNU Library General Public License version 3.
   */
  public static final String LGPL2 = "https://opensource.org/licenses/LGPL-2.0";

  /**
   * GNU Lesser General Public License version 2.1.
   */
  public static final String LGPL21 = "https://opensource.org/licenses/LGPL-2.1";

  /**
   * GNU Lesser General Public License version 3.
   */
  public static final String LGPL3 = "https://opensource.org/licenses/LGPL-3";

  /**
   * The MIT License.
   */
  public static final String MIT = "https://opensource.org/licenses/MIT";

  /**
   * Mozilla Public License 2.0 (MPL-2.0).
   */
  public static final String MPL2 = "https://opensource.org/licenses/MPL-2.0";

  /**
   * Common Development and Distribution License 1.0.
   */
  public static final String CDDL1 = "https://opensource.org/licenses/CDDL-1.0";

  /**
   * Eclipse Public License version 2.0.
   */
  public static final String EPL2 = "https://opensource.org/licenses/EPL-2.0";


  /**
   * The license for the service.
   *
   * @return the license string, should be a URL.
   */
  String value();
}