Metasploit mailing list archives
Framework License
From: hdm at metasploit.com (H D Moore)
Date: Mon, 23 Jan 2006 09:25:34 -0600
The License Randy refers to is the new Metasploit Framework License that applies to version 3.0 and up only. The entire text of the draft license is attached, this is still not final. This license was posted to the framework-beta list over the weekend and will be run by the lawyers this week. On Monday 23 January 2006 08:55, Randy Flood wrote:
0. What is the overall goal of the license?
1) Allow the Framework to remain open-source, free to use, and free to distribute. 2) Allow module and plugin developers to choose their own licensing terms. 3) Prevent the Framework from being sold in any form or bundled with a commercial product (software, appliance, or otherwise). 4) Ensure that any patches made to the Framework by a third-party are made available to all users. 5) Provide legal support and indemnification for Framework contributors.
Is it to make the framework easy to commercialize?
Exact opposite.
It kind of sucks to think that Microsoft or whoever could buy the framework, and kill it, and no one could fork off an Open Source version of it.
The license allows you to continue redistributing unmodified versions of the Framework, along with a patch set that contains your modifications, regardless of who 'owns' the Framework. So you can't fork it, but a commercial buy out can't prevent you from using it and continuing to improve it. There is no easy way to allow for the 'fork' issue without negating the other terms (prevent modified versions from being distributed, etc).
I'd prefer to see a license where any modifications had to be provided back to the project, but where new versions of the framework could be made and distributed.
Patches can be distributed along with the unmodified version, this isn't perfect, but any further rights make enforcement of the other items really difficult.
1. When you say that the license is permanent until terminated, that implies that you can terminate the license at any time for anyone.
The termination clause needs some work. The goal is to terminate the license only if the terms of the license have been violated.
2. The definition of software is circular. Don't you want to define it more along the lines of source code, executables, libraries, (documentation?) etc? But, be careful, many people would like to generate shellcode using the Framework and then distribute it in other applications. I'd like to see exploits called out specifically as modifiable and redistributable under either the Creative Commons License, or the license specified by the component developer.
Exploits, payloads, and plugins are defined as 'Extensions' and have a separate clause that defines their terms. The licensing decision is left entirely to the developer.
Specifically, at least one exploit was released under the GPL which I think prohibits you from making additional restrictions on its distribution.
The authors of all third-party contributions are being contacted about the new license. The choices they have are: 1) Allow us to place their work under the new license. 2) Allow us to distribute their work with the Framework under the license of their choice. 3) State that they do not want their work to be included with the Framework distribution. Something to keep in mind is that during the 'port' process, we are actually rewriting most of the modules, in many cases from scratch.
I want the ability to customize any exploit in the framework, so that I can try to make them less likely to be detected by IDS systems or whatever. Can I do that?
Of course. You can do anything you want to with the Framework, provided that you don't release a modified version of the Framework in a way to violates the license for the core Framework or the module you modified. If your modification kicks ass, send us a patch and we will include it in the next release or update.
3. What if I want to develop an alternative user interface or enhancement, but find that the framework itself would need modified in order to do so?
You may develop the UI and distribute as a patch, at least until we include that in the core Framework.
It would be nice to be able to do this, but it appears to be prohibited, or at the very least cumbersome to implement under the license.
Distribution is prohibited, not internal development. The 'cvs diff' command is easy to use :-)
4. I think you should permit people to make modifications, but prohibit them from distributing them.
That is exactly the intent, if that isn't clear, we need to modify the license so it is.
5. I think that rather than relying on the License being imposed when you use the software, you should rely on it being imposed for anyone who distributes the software.
The definition of "Use" at the top of the license covers this.
6. You need something that says if any one section of the license is deemed illegal, or unenforeble or whatever, that the remaining provisions are still binding.
Done. You may have seen an older version of the license, the latest draft is attached. -HD PS. The term 'Metasploit' is now a registered trademark. This is a defensive measure to prevent commercial products from using this name for marketing purposes. -------------- next part -------------- The Metasploit Framework License v1.0 Copyright (C) 2006 METASPLOIT.COM Definitions a. "License" means this particular version of this document. b. "Software" means any software that is distributed under the terms of this License. c. "Extension" means any enhancement to the Software that does not require modification of the Software itself. Extensions include any module or plugin that can be dynamically loaded by the Software. d. "Developer" means the copyright holders of the Software, including, but not limited to, the Metasploit Project staff, and any third-party contributors. e. "Documentation" means any manuals, tutorials, or code samples provided with the Software. f. "Use" means to download, install, access, copy, execute, sell, or otherwise benefit from the Software. g. "You" means the individual or organization that is using the Software under the conditions of the License. h. "Interface" means to execute, parse, or otherwise benefit from the of the Software. i. "Software Component" means any program or library that interfaces with the Software. License Grants 1. You are granted the non-exclusive rights set forth in the License provided you agree to and comply with any and all conditions in the License. Use of the Software, in any form, signifies acceptance of the License. If you do not agree to these terms, do not use the Software and immediately remove all copies of the Software, the Documentation, and any other items provided under the License. 2. You may copy and distribute the Software provided that the following conditions are met: a. The entire package is distributed unmodified, including - but not restricted to - copyright, trademark notices and disclaimers, as released by the Developer. b. The Software is distributed without any charge beyond the costs of data transfer or storage media. You may not sell the Software, include any component of the Software in a commercial application, or sell an appliance that includes any component of the Software. 3. You may use the Software to provide a service and charge for this service, provided that the the recipient of the service is clearly informed of the use of the Software in relation to the service and where they may obtain a copy of the Software. 4. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches. The following restrictions apply to modifications: a. Modifications must not alter or remove any copyright notices or licensing terms displayed or provided with the Software. b. When modifications to the Software are released under this license, a non-exclusive royalty-free right is granted to the Developer to distribute your modification in future versions of the Software provided such versions remain available under these terms in addition to any other license(s) of the Developer. 5. You may develop Extensions to the Software and distribute these Extensions under any license you see fit, as long as the following conditions are met: a. The Extension, when installed with the Software, must not modify the behavior of the Software until the user requests that the Extension should be activated. b. The Extension may programatically execute code provided by this Software, but may not include copies of the Software (modified or otherwise) in the Extension itself. c. The Extension may not modify the user interface or output of the Software such that the Software copyrights, licensing terms, or title of the Software are no longer visible to the user. 6. You may develop software components that interface with the Software and distribute these components, provided that the following conditions are met: a. The software component is distributed without any charge beyond the costs of data transfer or storage media. You may not sell the software component or sell an appliance that includes the software component. b. The software component clearly indicates to the user, via the user interface or program output, the role of the Software in the component and where the user may obtain a copy of the Software. c. The software component does not modify the user interface or output of the Software such that the title of the Software, the copyrights and trademark notices in the Software, or the licensing terms of the Software are removed. Online Updates The Software has the ability to download updates from the Developer's servers. These updates may contain bug fixes, new functionality, updated Documentation, or Extensions. When retrieving these updates, the Software may transmit the software version and operating system information to the update server. The server may record this information, in conjunction with the IP address of the user, in order to maintain accurate statistics. By using the online update feature, you hereby agree to allow this information to be transmitted and recorded by the Developer. Proper Use You agree that you will use the Software in compliance with all applicable local, state, national, and international laws, rules and regulations, including any laws regarding the transmission of technical data exported from your country of residence. Violation of any of the foregoing may result in immediate termination of this License, and may subject you to state, national and/or international penalties and other legal consequences. Copyright and Trademark Product names, words or phrases mentioned in this agreement may be trademarks or servicemarks of the Developer. You may not alter or change the copyright or trademark notices as contained in the Software. License Termination This License is effective until terminated. This License will terminate immediately without notice from the Developer if you fail to comply with any provision of this License. Upon such termination you must destroy the Software, all accompanying written materials, and all copies thereof. Limitations of Liability In no event will the Developer be liable to you for any consequential, incidental, indirect or special damages whatsoever (including, without limitation, loss of expected savings, loss of confidential information, presence of viruses, damages for loss of profits, business interruption, loss of business information and the like), whether foreseeable or not, arising out of the use of or inability to use the Software or accompanying materials, regardless of the basis of the claim and even if the Developer or a Developer's representative has been advised of the possibility of such damage. No Warranty The Software and this license document are provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Indemnification You agree to indemnify, hold harmless, and defend the Developer from and against any and all claims or actions, including legal expenses, that arise or result from your use of the Software. Miscellaneous If any part of this License is found void and unenforceable, it will not affect the validity of the balance of the License, which shall remain valid and enforceable according to its terms. Choice of Law The License will be construed, interpreted and governed by the laws of Travis County, Texas, USA, without regard to its conflict of law provisions. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <http://mail.metasploit.com/pipermail/framework/attachments/20060123/a490b54f/attachment.pgp>
Current thread:
- I have a problem with cmd_interact PAYLOAD Alexey Romanov (Jan 12)
- I have a problem with cmd_interact PAYLOAD H D Moore (Jan 12)
- Framework License Randy Flood (Jan 23)
- Framework License H D Moore (Jan 23)
- Framework License Randy Flood (Jan 23)
- I have a problem with cmd_interact PAYLOAD H D Moore (Jan 12)