|
|
@@ -1,246 +0,0 @@
|
|
|
-Copyright (c) 2011-2013 TapQuo S.L.
|
|
|
-site: http://tapquo.com
|
|
|
-mail: hello@tapquo.com
|
|
|
-
|
|
|
-===============================================================================
|
|
|
-===============================================================================
|
|
|
-
|
|
|
-OPEN SOURCE LICENSE FOR LUNGOJS
|
|
|
-Version 2.2
|
|
|
-
|
|
|
-LungoJS is an avid supporter of open source software. This is the appropriate
|
|
|
-option if you are creating an open source application with a license compatible
|
|
|
-with the GNU GPL license v3 (http://www.gnu.org/copyleft/gpl.html). Although
|
|
|
-the GPLv3 has many terms, the most important is that you must provide the
|
|
|
-source code of your application to your users so they can be free to modify
|
|
|
-your application for their own needs.
|
|
|
-
|
|
|
-View the license terms: http://www.gnu.org/copyleft/gpl.html
|
|
|
-
|
|
|
-THIS DOCUMENT IS A LEGAL AGREEMENT (the “License Agreement”) BETWEEN TAPQUO INC.
|
|
|
-(“We,” “Us”) AND YOU OR THE ORGANIZATION ON WHOSE BEHALF YOU ARE UNDERTAKING
|
|
|
-THE LICENSE DESCRIBED BELOW (“You”) IN RELATION TO THE LUNGOJS SOFTWARE
|
|
|
-LIBRARY (THE “Software”), AND/OR ALL RELATED MATERIALS. BY DOWNLOADING,
|
|
|
-INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE, YOU ACCEPT THE FOLLOWING
|
|
|
-TERMS AND CONDITIONS. IF YOU DO NOT AGREE WITH ANY OF THE TERMS OR CONDITIONS
|
|
|
-OF THIS LICENSE AGREEMENT, DO NOT PROCEED WITH THE DOWNLOADING, COPYING,
|
|
|
-INSTALLATION OR ANY OTHER USE OF THE SOFTWARE OR ANY PORTION THEREOF. THE
|
|
|
-SOFTWARE IS PROTECTED BY UNITED STATES COPYRIGHT LAWS AND INTERNATIONAL
|
|
|
-COPYRIGHT LAWS, AS WELL AS OTHER INTELLECTUAL PROPERTY LAWS AND TREATIES.
|
|
|
-THE SOFTWARE IS LICENSED, NOT SOLD.
|
|
|
-
|
|
|
-===============================================================================
|
|
|
-===============================================================================
|
|
|
-
|
|
|
-OPEN SOURCE LICENSE FAQ
|
|
|
-Version 2.2
|
|
|
-
|
|
|
-This document is for guidance purposes only and is not a legal document and is
|
|
|
-not legally binding. We encourage you to read the GPL v3 and the Quick Guide to
|
|
|
-the GPLv3 in their entirety and consult legal counsel if you require additional
|
|
|
-advice.
|
|
|
-
|
|
|
-===============================================================================
|
|
|
-===============================================================================
|
|
|
-
|
|
|
-LUNGOJS AND THE GPL v3
|
|
|
-Version 2.2
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What is the GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-The GNU General Public License(GPL) is the most widely used free and open
|
|
|
-source software (FOSS) license in the world. The GPL was created and sponsored
|
|
|
-by the Free Software Foundation (FSF). Read the GPL v3 license
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What are the advantages of GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-The GPL is the most widely used open source license in the world. Linux, MySQL,
|
|
|
-Wordpress and other major open source projects are all licensed under the GPL.
|
|
|
-The GPL is designed to ensure that you have the freedom to modify the software
|
|
|
-you use as you see fit. In return, you are asked to ensure that any users of
|
|
|
-software that you have built using GPL software receive the same freedom to
|
|
|
-modify your software in turn. Licensing under GPLv3 ensures the highest amount
|
|
|
-of availability in the open source community.
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What LungoJS products are available under the GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-LungoJS Core, LungoJS Sugars and LungoJS Themes are all available under GPL v3.
|
|
|
-
|
|
|
-===============================================================================
|
|
|
-===============================================================================
|
|
|
-
|
|
|
-The GPL v3
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What am I not allowed to do with code that is released under the GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-You can download the code base, install it, and modify it as needed. If you
|
|
|
-modify the code, we encourage you to contribute it back to the LungoJS community
|
|
|
-by contributing your modifications under GPL v3 in the LungoJS forums. If you
|
|
|
-convey your modifications (under the GPL definition of conveyance) then you
|
|
|
-must make your modifications available in source form to the users to whom you
|
|
|
-distributed your software. More information about what the GPL license allows
|
|
|
-is available in the GPL license itself, the Quick Guide to the GPLv3 and the
|
|
|
-official GPL FAQ.
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What is a modification?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-The simple rule to follow is if you modify any functionality or file in a Lungo
|
|
|
-product for a purpose other than configuration, then you have created a
|
|
|
-modification. All modifications of a GPLv3 licensed products are subject to the
|
|
|
-GPL v3 license. Additional information is available in the official GPL FAQ.
|
|
|
-
|
|
|
-The following are examples of modifications:
|
|
|
- Modify JavaScript, LESS or CSS source file
|
|
|
- Extend LungoJS class or override any LungoJS functions or methods
|
|
|
- Modifying an LungoJS API
|
|
|
-
|
|
|
-The following are not modifications:
|
|
|
- Creating a new theme in a new CSS file
|
|
|
- Creating or applying a locale/language pack
|
|
|
- Overriding property defaults on class prototypes (configuration)
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What licenses are compatible with GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-A list of compatible licenses is available on gnu.org. This compatiblity list
|
|
|
-includes licenses that can be included in a GPL’ed work. The diagram below
|
|
|
-shows the directions of compatibility for some common licenses:
|
|
|
-
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-Where can I find additional information about the GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-The best sources are the GPL license itself, the Quick Guide to the GPLv3” and
|
|
|
-the official GPL FAQ.
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-What is the LungoJS interpretation of “conveyance” under the GPL v3?
|
|
|
--------------------------------------------------------------------------------
|
|
|
-The short answer to this question is that when a non-employee of the
|
|
|
-organization that created the modifications to GPL v3, uses those modifications,
|
|
|
-then the program has been “conveyed”.
|
|
|
-
|
|
|
-The long answer to this question is unfortunately, quite complicated,due to the
|
|
|
-complex wording of the GPL, the ambiguity of certain terms in copyright law and
|
|
|
-the nature of JavaScript programs. Here is our interpretation of what
|
|
|
-constitutes “conveyance” under the languages of the GPL v3.
|
|
|
-
|
|
|
-Derived Works
|
|
|
-When a software program calls code that is licensed under the GPLv3, then that
|
|
|
-software program becomes a derived work of the GPL’d code and hence subject to
|
|
|
-the GPLv3 copyright license. If the software program is then “conveyed” to a
|
|
|
-user, the GPLv3 requires that the source code to that software program also be
|
|
|
-“conveyed.” “Conveyance” for a web application is triggered when a user outside
|
|
|
-the legal entity that created the application uses the application.
|
|
|
-
|
|
|
-The Definition of a Software Program
|
|
|
-Since the boundaries defining an individual software program can be hazy in
|
|
|
-modern app architectures, we follow the rule “when determining what constitutes
|
|
|
-the software program, follow the main principle of the GPL v3, which states
|
|
|
-that users should be free to modify the entire software program that
|
|
|
-incorporates GPL’d code for their own purposes”. For software programs built
|
|
|
-using today’s web architectures that use remote network-based service
|
|
|
-interfaces for internal communication instead of traditional static or dynamic
|
|
|
-linking, the relevant software program is the totality of the application code,
|
|
|
-including code executed on the server and code executed on the client, provided
|
|
|
-that the server code is integral to the application. We exclude from the
|
|
|
-definition of “software program”, software incorporated into the software
|
|
|
-program via a service interface that provides functionality ancillary to the
|
|
|
-main purpose of the program, functionality un-related to application logic, or
|
|
|
-functionality that is used by a number of separate applications other than the
|
|
|
-application in question. With this caveat, please remember that the use of any
|
|
|
-specific technical approach in and of itself does not guarantee that
|
|
|
-“derivation” will not be held to have occurred.
|
|
|
-
|
|
|
-Example
|
|
|
-For example: let’s take a mortgage processing software program. Let’s say that
|
|
|
-the application has a front-end (that generates web pages linked to LungoJS
|
|
|
-JavaScript) that communicates over JSON/HTTP with a backend service. This
|
|
|
-backend service contains approval and validation logic for this application
|
|
|
-alone. Even if only the front-end uses LungoJS code, you should consider that
|
|
|
-the combination of front and back ends constitutes the application, and the
|
|
|
-source code for both back and front end would need to be provided to the
|
|
|
-application’s end users under GPLv3 if the application is used by an end-user
|
|
|
-who is not part of the same legal entity that holds the GPLv3 license to the
|
|
|
-LungoJS code.
|
|
|
-
|
|
|
-Next, let’s assume that the mortgage application web-pages also offer
|
|
|
-functionality that allows users to search current interest rates, and file a
|
|
|
-customer support ticket (functionality ancillary to the purpose of the
|
|
|
-application) and those functions are provided by separate server-side services.
|
|
|
-We do not consider those programs to compose part of the software program for
|
|
|
-the purposes of the GPLv3. For example, in all cases we would not consider a
|
|
|
-database that provides data interfaces to the application over standard
|
|
|
-interfaces to be part of the application.
|
|
|
-
|
|
|
-Reasonableness Test
|
|
|
-As mentioned above, in many cases, there can be ambiguity about the exact
|
|
|
-boundaries of a software program. In these cases, we apply a “reasonableness”
|
|
|
-test to establish application boundaries. Following the principles of the GPL
|
|
|
-v3, we should ask “what would a user who is conveyed a copy of the application
|
|
|
-reasonably expect to receive in source code form in order to modify the
|
|
|
-application for his or her needs.”
|
|
|
-
|
|
|
-Certain Technical Strategies
|
|
|
-Our interpretation is that the use of technical strategies that store and
|
|
|
-transmit LungoJS code as data (for example by storing JavaScript libraries as
|
|
|
-data-files within a database which are then transmitted as data files to the
|
|
|
-browser and only then converted into a program through the use of eval()) does
|
|
|
-not change the above definition of software program under the GPLv3 definitions.
|
|
|
-
|
|
|
-Definition of License Holder
|
|
|
-Following GPL v3 guidelines, we consider the holder of the GPL v3 license to be
|
|
|
-the legal entity that owns the rights to the work product of the developer who
|
|
|
-writes the software code that calls LungoJS functions. For example, a developer
|
|
|
-that downloads LungoJS and uses it to build an application that is copied to
|
|
|
-multiple offices within their company and serves web pages to employees across
|
|
|
-the country, has not triggered “conveyance” of the program since the containing
|
|
|
-corporate entity is the licensee, not the individual developer. However if a
|
|
|
-contractor, agent, employee of another subsidiary or other non-employee uses
|
|
|
-that software, then conveyance has occurred.
|
|
|
-
|
|
|
-In addition, if a copy of the software program is provided by the developer to
|
|
|
-a person in another legal entity, then we consider that “conveyance”, as
|
|
|
-defined by the GPLv3, has occurred, and that person must be provided with a
|
|
|
-copy of the source for the software program. Further conveyance by the
|
|
|
-recipient would only be permitted under the GPL v3.
|
|
|
-
|
|
|
-Conveyance vs. Propagation
|
|
|
-Since LungoJS are software programs that can run within the browser while
|
|
|
-disconnected from the network or the rest of a server program; when a LungoJS
|
|
|
-based interface is embedded in a web-page served to a user who does not have an
|
|
|
-employee relationship with the original licensed entity, we consider that
|
|
|
-“conveyance” rather than simple web page “propagation” as defined by the GPL v3
|
|
|
-has occurred, and the source code of the whole application must be provided to
|
|
|
-the user. Users who are not entitled to use the software under the original
|
|
|
-license grant to the recipient legal entity (whose developer downloaded and
|
|
|
-wrote to the LungoJS libraries) include contractors, agents, and distributors
|
|
|
-of the original legal entity, as well as employees of related corporate
|
|
|
-subsidiaries or parents. In these cases, a user who is a contractor must be
|
|
|
-provided with a copy of the source code of the application with further
|
|
|
-conveyance by the contractor permitted only under the GPL v3. This also applies
|
|
|
-to web development firms who create software programs under contract for a
|
|
|
-client.
|
|
|
-
|
|
|
-In the case of the GPLv3 licensed entities, our interpretation is that the
|
|
|
-distribution of abstraction/intermediary libraries to contractors or users
|
|
|
-outside the licensed legal entity for development purposes also falls under
|
|
|
-the definition of “conveyance.”
|
|
|
-
|
|
|
--------------------------------------------------------------------------------
|
|
|
-GPL v3 Is The Official License
|
|
|
--------------------------------------------------------------------------------
|
|
|
-While this is our best attempt to characterize our interpretation of the GPL v3,
|
|
|
-relatively little of this interpretation has been confirmed in law due to the
|
|
|
-limited case law surrounding GPL v3. In all cases, the GPL v3 text itself
|
|
|
-constitutes the actual legal agreement between LungoJS and our GPL v3 licensees.
|
|
|
-This FAQ does not constitute legal advice, but reflects our position on the
|
|
|
-responsibilities of users who use our software licensed under the GPLv3. We do
|
|
|
-not provide legal advice to current or potential users of our GPLv3 licensed
|
|
|
-programs, so we ask you to consult your own legal counsel if you have further
|
|
|
-questions.
|