Skip to content

How is Mach II licensed?

thofrey edited this page Apr 1, 2014 · 6 revisions

Table of Contents

  1. Mach-II 1.8.0 and higher
  2. Mach-II 1.5.0, 1.6.0 and 1.6.1
  3. Mach-II 1.1.1 and lower

Mach-II 1.8.0 and higher

With the release of Mach-II version 1.8, the license under which Mach-II is distributed is changed from the Apache 2.0 License to the GNU General Public License Version 3 (GPLv3) with a Classpath Exception.

Given the plans we have for upcoming versions of Mach-II, we feel that this license change is best for the future of the project and for our users. You can use Mach-II on any commercial application as long as you abide by the license. For more details, please see the NOTICE, COPYING and LICENSE files that are shipped with the version of the framework you intend to use. Each version of the framework ships with a README file that lists of "public" interfaces where the classpath exception applies.

    Mach-II - A framework for object oriented MVC web applications in CFML
    Copyright (C) 2003-2010 GreatBizTools, LLC

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    Linking this library statically or dynamically with other modules is
    making a combined work based on this library.  Thus, the terms and
    conditions of the GNU General Public License cover the whole
    combination.

    As a special exception, the copyright holders of this library give you
    permission to link this library with independent modules to produce an
    executable, regardless of the license terms of these independent
    modules, and to copy and distribute the resultant executable under
    the terms of your choice, provided that you also meet, for each linked
    independent module, the terms and conditions of the license of that
    module.  An independent module is a module which is not derived from
    or based on this library and communicates with Mach-II solely through
    the public interfaces* (see definition below). If you modify this library,
    but you may extend this exception to your version of the library,
    but you are not obligated to do so. If you do not wish to do so,
    delete this exception statement from your version.


    * An independent module is a module which not derived from or based on
    this library with the exception of independent module components that
    extend certain Mach-II public interfaces (see README for list of public
    interfaces).

Why did Mach-II change to a different license?

Changing to the GPLv3 License with Classpath Exception allowed us to:

  • Ensure that changes made to Mach-II are contributed back to the project. We hope this will help foster and grow the community around the Mach-II project, which will benefit all Mach-II users.
  • Allow us to leverage additional existing open source libraries when needed. The GPL license and its variants are the most predominant licenses used in open source projects. With an Apache 2.0 License, Mach-II is not able to take advantage of any existing GPL code. With the GPL License, Mach-II will be able to leverage open source code released under practically any license.
  • Reduce the potential for forks and derivative projects. The development of Mach-II has required more than nine man years and nearly $2.4 million of effort (based on COCOMO - 32 man years at $75k per year) to date as of 11/2010. We want to protect that investment for the benefit of the project and our users.

In addition, we feel that the Apache 2.0 License is more appropriate for complete applications than it is for frameworks and libraries such as Mach-II. In our opinion, the GPLv3 License with Classpath Exception is a more sensible license to use for a framework.

Does this license change affect Mach-II users?

No. You may continue to use Mach-II free of charge and without restriction in all of your projects.

Does the GPLv3 License mean I have to open source my application code that uses Mach-II?

Absolutely not. The GPLv3 License is itself a copyleft license, but due to the Classpath Exception included in the new Mach-II license, you are free to use unmodified versions of Mach-II in any project, whether it be open source or closed source, free or commercial.

I have a Mach-II application that I distribute. Can I still distribute my application bundled with Mach-II?

Yes. If you are using an unmodified version of Mach-II, your application may be distributed as part of the GPLv3 + Classpath Exception License.

If I make changes to the Mach-II core for my own or my company's use and don't distribute the changes, do I have to make these changes available as open source?

If you make changes to the Mach-II core and do not distribute the changes as either a standalone modified version of Mach-II or bundled with an application, you are not required to make these changes available as open source under the terms of the license.

We strongly encourage you, however, to share your new features in Mach-II and ideas for changes with the project so that they can be considered for inclusion in a future version of Mach-II. This benefits the Mach-II project and all its users.

If I make changes to the Mach-II core and distribute these changes either as a modified version of Mach-II or as part of an application, do I have to make these changes available as open source?

Yes. Under the terms of the GPLv3 License, any changes made to the Mach-II core that are distributed either as a modified version of the Mach-II core or as part of an application must be made available as open source. This does not mean, however, that the application being bundled with the modified version of Mach-II must be made open source. Only the changes to the Mach-II core itself would fall under the copyleft provisions of the GPLv3 License.

How does this affect the licensing of previous versions of Mach-II?

Previous versions of Mach-II will remain licensed under the Apache 2.0 License that was applicable at the time of their release.

Where can I get more information?

If you have concerns about how this license change affects your Mach-II projects or have general questions that are not addressed here, please send an email to team AT mach-ii.com or post to the  Mach-II Google Group and we will be more than happy to assist you. If you want to learn more about the  GPLv3 License, please refer to the  GPLv3 license page, the  GPLv3 FAQ page, and the  Classpath Exception page on the  GNU Project web site.

Mach-II 1.5.0, 1.6.0 and 1.6.1

Mach-II 1.5.0, 1.6.0 and 1.6.1 were released under the Apache 2.0 license. You can use Mach-II on any commercial application as long as you abide by the license. For more details, please see the NOTICE and LICENSE files that are shipped with the version of the framework you intend to use.

    Copyright 2008 GreatBizTools, LLC

    Licensed 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.

    Documentation and logos are not licensed under the Apache 2.0 documentation:
    Copright 2008 GreatBizTools, LLC All rights reserved.

Mach-II 1.1.1 and lower

Mach-II 1.1.1 and lower were released under the Apache 1.0 license. You can use Mach-II on any commercial application as long as you abide by the license. For more details, please see the NOTICE and LICENSE files that are shipped with the version of the framework you intend to use.

Back to FAQs

Clone this wiki locally