| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- Copyright (c) 2011-2013 TapQuo S.L.
- site: http://tapquo.com
- mail: hello@tapquo.com
- ===============================================================================
- ===============================================================================
- OPEN SOURCE LICENSE FOR LUNGOJS
- Version 2.1
- 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.1
- 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.1
- -------------------------------------------------------------------------------
- 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.
|