Propeller Object License Information

All software on the Parallax Propeller Object Exchange is provided under the MIT License (what the Free Software Foundation calls the X11 License). This license supersedes any license which may be stated by the individual author and any other statements of licensing made by Parallax (the 2007 and 2008 catalogs state the code on the Object Exchange is provided as public domain). Submission of objects to and downloading of objects from the Object Exchange constitutes the understanding of the MIT License and acceptance of its terms and use. The license template is presented below and should be included in all newly submitted and revised objects:

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

License Placement and Template

We recommend placing the copyright line at the top of the source code followed by the statement "See end of file for terms of use." Then place the remaining license text at the end of the file. We recommend this to reduce clutter at the beginning of the file.

MIT License Paraphrased in Layman's Terms

Whoever uses this code may use it free of charge in any manner they choose, both for commercial and non-commercial uses, so long as the copyright of the code is maintained. The copyright holder assumes no liability for any use of the code.

Licensing Frequently Asked Questions

Q.I am submitting a new object or resubmitting an existing object to the Object Exchange; do I need to include the MIT License in my code?

A.Yes, all objects submitted, whether new or revised, must include the MIT License in the source code.

Q.My object submission uses one or more unmodified objects from the Object Exchange; do I need to include the MIT License of these included object(s) in my parent object?

A.No, each object should contain its own license. There is no need to have the child object's license in the parent object. However if the child object is redistributed along with the parent object and the MIT License is not already in the child object, it must be added in the child object as described in question 7.

Q.Instead of placing the license in every object, can I include a separate license file in the package or provide link to the License Agreement on the OBEX site?

A. No, the license should be in the same file as the code so that if an individual object is removed from the package it will still have the license contained within. A link to this page may break at some point in the future, so it should not be relied upon to communicate the License Agreement.

Q.I want to use a few lines of code from an object on the Object Exchange; am I required to insert the original License Agreement in my code?

A.No, the point of the Object Exchange is to share and learn programming techniques between users. As long as the few lines do not constitute a "substantial portion of the Software", no indication of copyright is required. However, acknowledgement of the source is recommended and encouraged.

Q.Do I need to include a copy of the license in the binary image of my application?

A. No, only the source needs to contain the license.

Q.I need to modify an object I obtained from the Object Library and would like to redistribute the modified object; am I required to release the modified object under the MIT License?

A.No, you may release the modified object under any licensing agreement which is compatible with the MIT License. The code must still contain the MIT License for the base code. The modified code under a different license should be clearly indicated so that a user can determine which code belongs to which license. However, if the modified object is submitted to the Object Exchange then it will be redistributed under the MIT License as the Object Exchange's terms of use require.

Q.I developed an application using objects from the Object Exchange before the MIT License was applied to all objects in the Object Exchange; am I required to modify my application in any way?

A. No, prior to the posting of this License Agreement on 02/26/2008 all code on the Object Exchange was provided as public domain, meaning no assertion of copyright has been made. Objects previously downloaded are still public domain. The only significant difference between public domain and the MIT License is that under the MIT License the author maintains their copyright (but waives all other rights).

Q.I have downloaded an object from the Object Exchange and the object does not contain the license in the code; what should I do?

A.It depends on your use of the object. If you are using the object for a personal project and not publishing your source code, you may use the object as-is. If you are developing a commercial product or redistributing the code in original or modified form, you must insert the licensing template into the object and fill in the copyright date and author's name (or screen name if that is the only information on the author's identity, though for commercial applications an attempt should be made to contact the author to obtain their real name).

Q.Is the MIT License compatible with the GNU GPL?

A.Yes, you may incorporate MIT licensed code and GNU GPL code within the same application. The MIT License is retained on that code which uses the license, but GPL rules for the overall application apply, such as the requirement to release the application under GPL. However, since the application must be released under GPL, it may not be submitted to the Object Exchange.

Q.I have created an object which uses code released under GPL; can I submit my object to the Object Exchange?

A.No, all work derived from GPL code must itself be GPL. Since GPL prohibits proprietary use, it may not be released under the MIT License which is a requirement for all objects on the Object Exchange.

Q.I have submitted an object to the Object Exchange; if I make the object available through an alternate means am I required to release it under the MIT License as well?

A.No, you may distribute your object under whatever license you would like; only those objects on the Object Exchange have the requirement for being released under the MIT License.

Q.I have read elsewhere that Parallax Inc. provides the code on the Object Exchange as public domain and has no copyright, is this correct?

A.No, while this used to be the case, as of 02/26/2008 all code has been re-licensed under the MIT License.