Show More
The requested changes are too big and content was truncated. Show full diff
@@ -0,0 +1,5 b'' | |||||
|
1 | [bumpversion] | |||
|
2 | current_version = 4.0.0 | |||
|
3 | message = release: Bump version {current_version} to {new_version} | |||
|
4 | ||||
|
5 | [bumpversion:file:rhodecode/VERSION] |
@@ -0,0 +1,18 b'' | |||||
|
1 | [run] | |||
|
2 | ||||
|
3 | branch = True | |||
|
4 | ||||
|
5 | include = | |||
|
6 | rhodecode/lib/* | |||
|
7 | rhodecode/model/* | |||
|
8 | rhodecode/controllers/* | |||
|
9 | ||||
|
10 | omit = | |||
|
11 | rhodecode/lib/vcs/remote/* | |||
|
12 | rhodecode/lib/dbmigrate/* | |||
|
13 | ||||
|
14 | [report] | |||
|
15 | ||||
|
16 | exclude_lines = | |||
|
17 | raise NotImplementedError | |||
|
18 |
@@ -0,0 +1,38 b'' | |||||
|
1 | { | |||
|
2 | /* | |||
|
3 | * ENVIRONMENTS | |||
|
4 | * ================= | |||
|
5 | */ | |||
|
6 | ||||
|
7 | // Define globals exposed by modern browsers. | |||
|
8 | "browser": true, | |||
|
9 | ||||
|
10 | // Define globals exposed by jQuery. | |||
|
11 | "jquery": true, | |||
|
12 | ||||
|
13 | /* | |||
|
14 | * ENFORCING OPTIONS | |||
|
15 | * ================= | |||
|
16 | */ | |||
|
17 | ||||
|
18 | // Prohibit use of == and != in favor of === and !==. | |||
|
19 | "eqeqeq": true, | |||
|
20 | ||||
|
21 | // Enforce tab width of 2 spaces. | |||
|
22 | "indent": 2, | |||
|
23 | ||||
|
24 | // Prohibit use of a variable before it is defined. | |||
|
25 | "latedef": true, | |||
|
26 | ||||
|
27 | // Enforce line length to 100 characters | |||
|
28 | "maxlen": 100, | |||
|
29 | ||||
|
30 | // Require capitalized names for constructor functions. | |||
|
31 | "newcap": true, | |||
|
32 | ||||
|
33 | // Enforce placing 'use strict' at the top function scope | |||
|
34 | "strict": true, | |||
|
35 | ||||
|
36 | // Prohibit use of explicitly undeclared variables. | |||
|
37 | "undef": true | |||
|
38 | } |
@@ -0,0 +1,31 b'' | |||||
|
1 | [DEFAULT] | |||
|
2 | done = false | |||
|
3 | ||||
|
4 | [task:fixes_on_stable] | |||
|
5 | done = true | |||
|
6 | ||||
|
7 | [task:changelog_updated] | |||
|
8 | done = true | |||
|
9 | ||||
|
10 | [task:nix_dependencies_moved] | |||
|
11 | done = true | |||
|
12 | ||||
|
13 | [task:bump_version] | |||
|
14 | done = true | |||
|
15 | ||||
|
16 | [task:generate_js_routes] | |||
|
17 | done = true | |||
|
18 | ||||
|
19 | [task:generate_api_docs] | |||
|
20 | done = true | |||
|
21 | ||||
|
22 | [release] | |||
|
23 | state = prepared | |||
|
24 | version = 3.8.3 | |||
|
25 | ||||
|
26 | [task:updated_translation] | |||
|
27 | ||||
|
28 | [task:updated_trial_license] | |||
|
29 | ||||
|
30 | [task:generate_oss_licenses] | |||
|
31 |
@@ -0,0 +1,18 b'' | |||||
|
1 | [main] | |||
|
2 | host = https://www.transifex.com | |||
|
3 | ||||
|
4 | [RhodeCode.pot] | |||
|
5 | source_file = rhodecode/i18n/rhodecode.pot | |||
|
6 | source_lang = en | |||
|
7 | type = PO | |||
|
8 | ||||
|
9 | trans.be = rhodecode/i18n/be/LC_MESSAGES/rhodecode.po | |||
|
10 | trans.de = rhodecode/i18n/de/LC_MESSAGES/rhodecode.po | |||
|
11 | trans.es = rhodecode/i18n/es/LC_MESSAGES/rhodecode.po | |||
|
12 | trans.fr = rhodecode/i18n/fr/LC_MESSAGES/rhodecode.po | |||
|
13 | trans.it = rhodecode/i18n/it/LC_MESSAGES/rhodecode.po | |||
|
14 | trans.ja = rhodecode/i18n/ja/LC_MESSAGES/rhodecode.po | |||
|
15 | trans.pl = rhodecode/i18n/pl/LC_MESSAGES/rhodecode.po | |||
|
16 | trans.pt = rhodecode/i18n/pt/LC_MESSAGES/rhodecode.po | |||
|
17 | trans.ru = rhodecode/i18n/ru/LC_MESSAGES/rhodecode.po | |||
|
18 | trans.zh = rhodecode/i18n/zh/LC_MESSAGES/rhodecode.po |
@@ -0,0 +1,1 b'' | |||||
|
1 | .. include:: docs/release-notes/release-notes.rst No newline at end of file |
@@ -0,0 +1,137 b'' | |||||
|
1 | module.exports = function(grunt) { | |||
|
2 | grunt.initConfig({ | |||
|
3 | ||||
|
4 | dirs: { | |||
|
5 | css: "rhodecode/public/css", | |||
|
6 | js: { | |||
|
7 | "src": "rhodecode/public/js/src", | |||
|
8 | "dest": "rhodecode/public/js" | |||
|
9 | } | |||
|
10 | }, | |||
|
11 | ||||
|
12 | concat: { | |||
|
13 | dist: { | |||
|
14 | src: [ | |||
|
15 | // Base libraries | |||
|
16 | '<%= dirs.js.src %>/jquery-1.11.1.min.js', | |||
|
17 | '<%= dirs.js.src %>/logging.js', | |||
|
18 | '<%= dirs.js.src %>/bootstrap.js', | |||
|
19 | '<%= dirs.js.src %>/mousetrap.js', | |||
|
20 | '<%= dirs.js.src %>/moment.js', | |||
|
21 | '<%= dirs.js.src %>/appenlight-client-0.4.1.min.js', | |||
|
22 | ||||
|
23 | // Plugins | |||
|
24 | '<%= dirs.js.src %>/plugins/jquery.pjax.js', | |||
|
25 | '<%= dirs.js.src %>/plugins/jquery.dataTables.js', | |||
|
26 | '<%= dirs.js.src %>/plugins/flavoured_checkbox.js', | |||
|
27 | '<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js', | |||
|
28 | '<%= dirs.js.src %>/plugins/jquery.autocomplete.js', | |||
|
29 | '<%= dirs.js.src %>/plugins/jquery.debounce.js', | |||
|
30 | '<%= dirs.js.src %>/plugins/jquery.timeago.js', | |||
|
31 | '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js', | |||
|
32 | ||||
|
33 | // Select2 | |||
|
34 | '<%= dirs.js.src %>/select2/select2.js', | |||
|
35 | ||||
|
36 | // Code-mirror | |||
|
37 | '<%= dirs.js.src %>/codemirror/codemirror.js', | |||
|
38 | '<%= dirs.js.src %>/codemirror/codemirror_loadmode.js', | |||
|
39 | '<%= dirs.js.src %>/codemirror/codemirror_hint.js', | |||
|
40 | '<%= dirs.js.src %>/codemirror/codemirror_overlay.js', | |||
|
41 | '<%= dirs.js.src %>/codemirror/codemirror_placeholder.js', | |||
|
42 | // TODO: mikhail: this is an exception. Since the code mirror modes | |||
|
43 | // are loaded "on the fly", we need to keep them in a public folder | |||
|
44 | '<%= dirs.js.dest %>/mode/meta.js', | |||
|
45 | '<%= dirs.js.dest %>/mode/meta_ext.js', | |||
|
46 | '<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js', | |||
|
47 | ||||
|
48 | // Rhodecode utilities | |||
|
49 | '<%= dirs.js.src %>/rhodecode/utils/array.js', | |||
|
50 | '<%= dirs.js.src %>/rhodecode/utils/string.js', | |||
|
51 | '<%= dirs.js.src %>/rhodecode/utils/pyroutes.js', | |||
|
52 | '<%= dirs.js.src %>/rhodecode/utils/ajax.js', | |||
|
53 | '<%= dirs.js.src %>/rhodecode/utils/autocomplete.js', | |||
|
54 | '<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js', | |||
|
55 | '<%= dirs.js.src %>/rhodecode/utils/ie.js', | |||
|
56 | '<%= dirs.js.src %>/rhodecode/utils/os.js', | |||
|
57 | ||||
|
58 | // Rhodecode widgets | |||
|
59 | '<%= dirs.js.src %>/rhodecode/widgets/multiselect.js', | |||
|
60 | ||||
|
61 | // Rhodecode components | |||
|
62 | '<%= dirs.js.src %>/rhodecode/pyroutes.js', | |||
|
63 | '<%= dirs.js.src %>/rhodecode/codemirror.js', | |||
|
64 | '<%= dirs.js.src %>/rhodecode/comments.js', | |||
|
65 | '<%= dirs.js.src %>/rhodecode/constants.js', | |||
|
66 | '<%= dirs.js.src %>/rhodecode/files.js', | |||
|
67 | '<%= dirs.js.src %>/rhodecode/followers.js', | |||
|
68 | '<%= dirs.js.src %>/rhodecode/menus.js', | |||
|
69 | '<%= dirs.js.src %>/rhodecode/notifications.js', | |||
|
70 | '<%= dirs.js.src %>/rhodecode/permissions.js', | |||
|
71 | '<%= dirs.js.src %>/rhodecode/pjax.js', | |||
|
72 | '<%= dirs.js.src %>/rhodecode/pullrequests.js', | |||
|
73 | '<%= dirs.js.src %>/rhodecode/settings.js', | |||
|
74 | '<%= dirs.js.src %>/rhodecode/select2_widgets.js', | |||
|
75 | '<%= dirs.js.src %>/rhodecode/tooltips.js', | |||
|
76 | '<%= dirs.js.src %>/rhodecode/users.js', | |||
|
77 | '<%= dirs.js.src %>/rhodecode/appenlight.js', | |||
|
78 | ||||
|
79 | // Rhodecode main module | |||
|
80 | '<%= dirs.js.src %>/rhodecode.js' | |||
|
81 | ], | |||
|
82 | dest: '<%= dirs.js.dest %>/scripts.js', | |||
|
83 | nonull: true | |||
|
84 | } | |||
|
85 | }, | |||
|
86 | ||||
|
87 | less: { | |||
|
88 | development: { | |||
|
89 | options: { | |||
|
90 | compress: false, | |||
|
91 | yuicompress: false, | |||
|
92 | optimization: 0 | |||
|
93 | }, | |||
|
94 | files: { | |||
|
95 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less" | |||
|
96 | } | |||
|
97 | }, | |||
|
98 | production: { | |||
|
99 | options: { | |||
|
100 | compress: true, | |||
|
101 | yuicompress: true, | |||
|
102 | optimization: 2 | |||
|
103 | }, | |||
|
104 | files: { | |||
|
105 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less" | |||
|
106 | } | |||
|
107 | } | |||
|
108 | }, | |||
|
109 | ||||
|
110 | watch: { | |||
|
111 | less: { | |||
|
112 | files: ["<%= dirs.css %>/*.less"], | |||
|
113 | tasks: ["less:production"] | |||
|
114 | }, | |||
|
115 | js: { | |||
|
116 | files: ["<%= dirs.js.src %>/**/*.js"], | |||
|
117 | tasks: ["concat:dist"] | |||
|
118 | } | |||
|
119 | }, | |||
|
120 | ||||
|
121 | jshint: { | |||
|
122 | rhodecode: { | |||
|
123 | src: '<%= dirs.js.src %>/rhodecode/**/*.js', | |||
|
124 | options: { | |||
|
125 | jshintrc: '.jshintrc' | |||
|
126 | } | |||
|
127 | } | |||
|
128 | } | |||
|
129 | }); | |||
|
130 | ||||
|
131 | grunt.loadNpmTasks('grunt-contrib-less'); | |||
|
132 | grunt.loadNpmTasks('grunt-contrib-concat'); | |||
|
133 | grunt.loadNpmTasks('grunt-contrib-watch'); | |||
|
134 | grunt.loadNpmTasks('grunt-contrib-jshint'); | |||
|
135 | ||||
|
136 | grunt.registerTask('default', ['less:production', 'concat:dist']); | |||
|
137 | }; |
This diff has been collapsed as it changes many lines, (690 lines changed) Show them Hide them | |||||
@@ -0,0 +1,690 b'' | |||||
|
1 | This program is free software: you can redistribute it and/or modify | |||
|
2 | it under the terms of the GNU Affero General Public License, version 3 | |||
|
3 | (only), as published by the Free Software Foundation. | |||
|
4 | ||||
|
5 | ||||
|
6 | This program incorporates work covered by the following copyright and | |||
|
7 | permission notice: | |||
|
8 | ||||
|
9 | Copyright (c) 2014-2016 - packaging | |||
|
10 | file: | |||
|
11 | Copyright (c) 2008-2011 - msgpack-python | |||
|
12 | file:licenses/msgpack_license.txt | |||
|
13 | ||||
|
14 | Both licensed under the Apache License, Version 2.0 (the "License"); | |||
|
15 | you may not use this file except in compliance with the License. | |||
|
16 | You may obtain a copy of the License at | |||
|
17 | ||||
|
18 | http://www.apache.org/licenses/LICENSE-2.0 | |||
|
19 | ||||
|
20 | Unless required by applicable law or agreed to in writing, software | |||
|
21 | distributed under the License is distributed on an "AS IS" BASIS, | |||
|
22 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
|
23 | See the License for the specific language governing permissions and | |||
|
24 | imitations under the License. | |||
|
25 | ||||
|
26 | ||||
|
27 | Below is the full text of GNU Affero General Public License, version 3 | |||
|
28 | ||||
|
29 | ||||
|
30 | GNU AFFERO GENERAL PUBLIC LICENSE | |||
|
31 | Version 3, 19 November 2007 | |||
|
32 | ||||
|
33 | Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> | |||
|
34 | Everyone is permitted to copy and distribute verbatim copies | |||
|
35 | of this license document, but changing it is not allowed. | |||
|
36 | ||||
|
37 | Preamble | |||
|
38 | ||||
|
39 | The GNU Affero General Public License is a free, copyleft license for | |||
|
40 | software and other kinds of works, specifically designed to ensure | |||
|
41 | cooperation with the community in the case of network server software. | |||
|
42 | ||||
|
43 | The licenses for most software and other practical works are designed | |||
|
44 | to take away your freedom to share and change the works. By contrast, | |||
|
45 | our General Public Licenses are intended to guarantee your freedom to | |||
|
46 | share and change all versions of a program--to make sure it remains free | |||
|
47 | software for all its users. | |||
|
48 | ||||
|
49 | When we speak of free software, we are referring to freedom, not | |||
|
50 | price. Our General Public Licenses are designed to make sure that you | |||
|
51 | have the freedom to distribute copies of free software (and charge for | |||
|
52 | them if you wish), that you receive source code or can get it if you | |||
|
53 | want it, that you can change the software or use pieces of it in new | |||
|
54 | free programs, and that you know you can do these things. | |||
|
55 | ||||
|
56 | Developers that use our General Public Licenses protect your rights | |||
|
57 | with two steps: (1) assert copyright on the software, and (2) offer | |||
|
58 | you this License which gives you legal permission to copy, distribute | |||
|
59 | and/or modify the software. | |||
|
60 | ||||
|
61 | A secondary benefit of defending all users' freedom is that | |||
|
62 | improvements made in alternate versions of the program, if they | |||
|
63 | receive widespread use, become available for other developers to | |||
|
64 | incorporate. Many developers of free software are heartened and | |||
|
65 | encouraged by the resulting cooperation. However, in the case of | |||
|
66 | software used on network servers, this result may fail to come about. | |||
|
67 | The GNU General Public License permits making a modified version and | |||
|
68 | letting the public access it on a server without ever releasing its | |||
|
69 | source code to the public. | |||
|
70 | ||||
|
71 | The GNU Affero General Public License is designed specifically to | |||
|
72 | ensure that, in such cases, the modified source code becomes available | |||
|
73 | to the community. It requires the operator of a network server to | |||
|
74 | provide the source code of the modified version running there to the | |||
|
75 | users of that server. Therefore, public use of a modified version, on | |||
|
76 | a publicly accessible server, gives the public access to the source | |||
|
77 | code of the modified version. | |||
|
78 | ||||
|
79 | An older license, called the Affero General Public License and | |||
|
80 | published by Affero, was designed to accomplish similar goals. This is | |||
|
81 | a different license, not a version of the Affero GPL, but Affero has | |||
|
82 | released a new version of the Affero GPL which permits relicensing under | |||
|
83 | this license. | |||
|
84 | ||||
|
85 | The precise terms and conditions for copying, distribution and | |||
|
86 | modification follow. | |||
|
87 | ||||
|
88 | TERMS AND CONDITIONS | |||
|
89 | ||||
|
90 | 0. Definitions. | |||
|
91 | ||||
|
92 | "This License" refers to version 3 of the GNU Affero General Public License. | |||
|
93 | ||||
|
94 | "Copyright" also means copyright-like laws that apply to other kinds of | |||
|
95 | works, such as semiconductor masks. | |||
|
96 | ||||
|
97 | "The Program" refers to any copyrightable work licensed under this | |||
|
98 | License. Each licensee is addressed as "you". "Licensees" and | |||
|
99 | "recipients" may be individuals or organizations. | |||
|
100 | ||||
|
101 | To "modify" a work means to copy from or adapt all or part of the work | |||
|
102 | in a fashion requiring copyright permission, other than the making of an | |||
|
103 | exact copy. The resulting work is called a "modified version" of the | |||
|
104 | earlier work or a work "based on" the earlier work. | |||
|
105 | ||||
|
106 | A "covered work" means either the unmodified Program or a work based | |||
|
107 | on the Program. | |||
|
108 | ||||
|
109 | To "propagate" a work means to do anything with it that, without | |||
|
110 | permission, would make you directly or secondarily liable for | |||
|
111 | infringement under applicable copyright law, except executing it on a | |||
|
112 | computer or modifying a private copy. Propagation includes copying, | |||
|
113 | distribution (with or without modification), making available to the | |||
|
114 | public, and in some countries other activities as well. | |||
|
115 | ||||
|
116 | To "convey" a work means any kind of propagation that enables other | |||
|
117 | parties to make or receive copies. Mere interaction with a user through | |||
|
118 | a computer network, with no transfer of a copy, is not conveying. | |||
|
119 | ||||
|
120 | An interactive user interface displays "Appropriate Legal Notices" | |||
|
121 | to the extent that it includes a convenient and prominently visible | |||
|
122 | feature that (1) displays an appropriate copyright notice, and (2) | |||
|
123 | tells the user that there is no warranty for the work (except to the | |||
|
124 | extent that warranties are provided), that licensees may convey the | |||
|
125 | work under this License, and how to view a copy of this License. If | |||
|
126 | the interface presents a list of user commands or options, such as a | |||
|
127 | menu, a prominent item in the list meets this criterion. | |||
|
128 | ||||
|
129 | 1. Source Code. | |||
|
130 | ||||
|
131 | The "source code" for a work means the preferred form of the work | |||
|
132 | for making modifications to it. "Object code" means any non-source | |||
|
133 | form of a work. | |||
|
134 | ||||
|
135 | A "Standard Interface" means an interface that either is an official | |||
|
136 | standard defined by a recognized standards body, or, in the case of | |||
|
137 | interfaces specified for a particular programming language, one that | |||
|
138 | is widely used among developers working in that language. | |||
|
139 | ||||
|
140 | The "System Libraries" of an executable work include anything, other | |||
|
141 | than the work as a whole, that (a) is included in the normal form of | |||
|
142 | packaging a Major Component, but which is not part of that Major | |||
|
143 | Component, and (b) serves only to enable use of the work with that | |||
|
144 | Major Component, or to implement a Standard Interface for which an | |||
|
145 | implementation is available to the public in source code form. A | |||
|
146 | "Major Component", in this context, means a major essential component | |||
|
147 | (kernel, window system, and so on) of the specific operating system | |||
|
148 | (if any) on which the executable work runs, or a compiler used to | |||
|
149 | produce the work, or an object code interpreter used to run it. | |||
|
150 | ||||
|
151 | The "Corresponding Source" for a work in object code form means all | |||
|
152 | the source code needed to generate, install, and (for an executable | |||
|
153 | work) run the object code and to modify the work, including scripts to | |||
|
154 | control those activities. However, it does not include the work's | |||
|
155 | System Libraries, or general-purpose tools or generally available free | |||
|
156 | programs which are used unmodified in performing those activities but | |||
|
157 | which are not part of the work. For example, Corresponding Source | |||
|
158 | includes interface definition files associated with source files for | |||
|
159 | the work, and the source code for shared libraries and dynamically | |||
|
160 | linked subprograms that the work is specifically designed to require, | |||
|
161 | such as by intimate data communication or control flow between those | |||
|
162 | subprograms and other parts of the work. | |||
|
163 | ||||
|
164 | The Corresponding Source need not include anything that users | |||
|
165 | can regenerate automatically from other parts of the Corresponding | |||
|
166 | Source. | |||
|
167 | ||||
|
168 | The Corresponding Source for a work in source code form is that | |||
|
169 | same work. | |||
|
170 | ||||
|
171 | 2. Basic Permissions. | |||
|
172 | ||||
|
173 | All rights granted under this License are granted for the term of | |||
|
174 | copyright on the Program, and are irrevocable provided the stated | |||
|
175 | conditions are met. This License explicitly affirms your unlimited | |||
|
176 | permission to run the unmodified Program. The output from running a | |||
|
177 | covered work is covered by this License only if the output, given its | |||
|
178 | content, constitutes a covered work. This License acknowledges your | |||
|
179 | rights of fair use or other equivalent, as provided by copyright law. | |||
|
180 | ||||
|
181 | You may make, run and propagate covered works that you do not | |||
|
182 | convey, without conditions so long as your license otherwise remains | |||
|
183 | in force. You may convey covered works to others for the sole purpose | |||
|
184 | of having them make modifications exclusively for you, or provide you | |||
|
185 | with facilities for running those works, provided that you comply with | |||
|
186 | the terms of this License in conveying all material for which you do | |||
|
187 | not control copyright. Those thus making or running the covered works | |||
|
188 | for you must do so exclusively on your behalf, under your direction | |||
|
189 | and control, on terms that prohibit them from making any copies of | |||
|
190 | your copyrighted material outside their relationship with you. | |||
|
191 | ||||
|
192 | Conveying under any other circumstances is permitted solely under | |||
|
193 | the conditions stated below. Sublicensing is not allowed; section 10 | |||
|
194 | makes it unnecessary. | |||
|
195 | ||||
|
196 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. | |||
|
197 | ||||
|
198 | No covered work shall be deemed part of an effective technological | |||
|
199 | measure under any applicable law fulfilling obligations under article | |||
|
200 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or | |||
|
201 | similar laws prohibiting or restricting circumvention of such | |||
|
202 | measures. | |||
|
203 | ||||
|
204 | When you convey a covered work, you waive any legal power to forbid | |||
|
205 | circumvention of technological measures to the extent such circumvention | |||
|
206 | is effected by exercising rights under this License with respect to | |||
|
207 | the covered work, and you disclaim any intention to limit operation or | |||
|
208 | modification of the work as a means of enforcing, against the work's | |||
|
209 | users, your or third parties' legal rights to forbid circumvention of | |||
|
210 | technological measures. | |||
|
211 | ||||
|
212 | 4. Conveying Verbatim Copies. | |||
|
213 | ||||
|
214 | You may convey verbatim copies of the Program's source code as you | |||
|
215 | receive it, in any medium, provided that you conspicuously and | |||
|
216 | appropriately publish on each copy an appropriate copyright notice; | |||
|
217 | keep intact all notices stating that this License and any | |||
|
218 | non-permissive terms added in accord with section 7 apply to the code; | |||
|
219 | keep intact all notices of the absence of any warranty; and give all | |||
|
220 | recipients a copy of this License along with the Program. | |||
|
221 | ||||
|
222 | You may charge any price or no price for each copy that you convey, | |||
|
223 | and you may offer support or warranty protection for a fee. | |||
|
224 | ||||
|
225 | 5. Conveying Modified Source Versions. | |||
|
226 | ||||
|
227 | You may convey a work based on the Program, or the modifications to | |||
|
228 | produce it from the Program, in the form of source code under the | |||
|
229 | terms of section 4, provided that you also meet all of these conditions: | |||
|
230 | ||||
|
231 | a) The work must carry prominent notices stating that you modified | |||
|
232 | it, and giving a relevant date. | |||
|
233 | ||||
|
234 | b) The work must carry prominent notices stating that it is | |||
|
235 | released under this License and any conditions added under section | |||
|
236 | 7. This requirement modifies the requirement in section 4 to | |||
|
237 | "keep intact all notices". | |||
|
238 | ||||
|
239 | c) You must license the entire work, as a whole, under this | |||
|
240 | License to anyone who comes into possession of a copy. This | |||
|
241 | License will therefore apply, along with any applicable section 7 | |||
|
242 | additional terms, to the whole of the work, and all its parts, | |||
|
243 | regardless of how they are packaged. This License gives no | |||
|
244 | permission to license the work in any other way, but it does not | |||
|
245 | invalidate such permission if you have separately received it. | |||
|
246 | ||||
|
247 | d) If the work has interactive user interfaces, each must display | |||
|
248 | Appropriate Legal Notices; however, if the Program has interactive | |||
|
249 | interfaces that do not display Appropriate Legal Notices, your | |||
|
250 | work need not make them do so. | |||
|
251 | ||||
|
252 | A compilation of a covered work with other separate and independent | |||
|
253 | works, which are not by their nature extensions of the covered work, | |||
|
254 | and which are not combined with it such as to form a larger program, | |||
|
255 | in or on a volume of a storage or distribution medium, is called an | |||
|
256 | "aggregate" if the compilation and its resulting copyright are not | |||
|
257 | used to limit the access or legal rights of the compilation's users | |||
|
258 | beyond what the individual works permit. Inclusion of a covered work | |||
|
259 | in an aggregate does not cause this License to apply to the other | |||
|
260 | parts of the aggregate. | |||
|
261 | ||||
|
262 | 6. Conveying Non-Source Forms. | |||
|
263 | ||||
|
264 | You may convey a covered work in object code form under the terms | |||
|
265 | of sections 4 and 5, provided that you also convey the | |||
|
266 | machine-readable Corresponding Source under the terms of this License, | |||
|
267 | in one of these ways: | |||
|
268 | ||||
|
269 | a) Convey the object code in, or embodied in, a physical product | |||
|
270 | (including a physical distribution medium), accompanied by the | |||
|
271 | Corresponding Source fixed on a durable physical medium | |||
|
272 | customarily used for software interchange. | |||
|
273 | ||||
|
274 | b) Convey the object code in, or embodied in, a physical product | |||
|
275 | (including a physical distribution medium), accompanied by a | |||
|
276 | written offer, valid for at least three years and valid for as | |||
|
277 | long as you offer spare parts or customer support for that product | |||
|
278 | model, to give anyone who possesses the object code either (1) a | |||
|
279 | copy of the Corresponding Source for all the software in the | |||
|
280 | product that is covered by this License, on a durable physical | |||
|
281 |