diff options
author | pacien | 2018-11-10 15:12:33 +0100 |
---|---|---|
committer | pacien | 2018-11-10 15:12:33 +0100 |
commit | 45ad627570ce08efd6ebec1cd0c723438d856894 (patch) | |
tree | cf2fce6cc065be59448de034b1c993504b11be0f | |
download | gziplike-45ad627570ce08efd6ebec1cd0c723438d856894.tar.gz |
Init project
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | alagzip.nimble | 14 | ||||
-rw-r--r-- | license.md | 660 | ||||
-rw-r--r-- | readme.md | 32 | ||||
-rw-r--r-- | src/main.nim | 5 |
5 files changed, 717 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9992b50 --- /dev/null +++ b/.gitignore | |||
@@ -0,0 +1,6 @@ | |||
1 | *.swp | ||
2 | *~ | ||
3 | nimcache/ | ||
4 | |||
5 | /main | ||
6 | |||
diff --git a/alagzip.nimble b/alagzip.nimble new file mode 100644 index 0000000..bc39a34 --- /dev/null +++ b/alagzip.nimble | |||
@@ -0,0 +1,14 @@ | |||
1 | # Package | ||
2 | |||
3 | version = "0.1.0" | ||
4 | author = "pacien" | ||
5 | description = "a-la-gzip LZSS compressor" | ||
6 | license = "AGPL-3.0-or-later" | ||
7 | srcDir = "src" | ||
8 | bin = @["main"] | ||
9 | |||
10 | |||
11 | # Dependencies | ||
12 | |||
13 | requires "nim >= 0.19.0" | ||
14 | |||
diff --git a/license.md b/license.md new file mode 100644 index 0000000..cba6f6a --- /dev/null +++ b/license.md | |||
@@ -0,0 +1,660 @@ | |||
1 | ### GNU AFFERO GENERAL PUBLIC LICENSE | ||
2 | |||
3 | Version 3, 19 November 2007 | ||
4 | |||
5 | Copyright (C) 2007 Free Software Foundation, Inc. | ||
6 | <https://fsf.org/> | ||
7 | |||
8 | Everyone is permitted to copy and distribute verbatim copies of this | ||
9 | license document, but changing it is not allowed. | ||
10 | |||
11 | ### Preamble | ||
12 | |||
13 | The GNU Affero General Public License is a free, copyleft license for | ||
14 | software and other kinds of works, specifically designed to ensure | ||
15 | cooperation with the community in the case of network server software. | ||
16 | |||
17 | The licenses for most software and other practical works are designed | ||
18 | to take away your freedom to share and change the works. By contrast, | ||
19 | our General Public Licenses are intended to guarantee your freedom to | ||
20 | share and change all versions of a program--to make sure it remains | ||
21 | free software for all its users. | ||
22 | |||
23 | When we speak of free software, we are referring to freedom, not | ||
24 | price. Our General Public Licenses are designed to make sure that you | ||
25 | have the freedom to distribute copies of free software (and charge for | ||
26 | them if you wish), that you receive source code or can get it if you | ||
27 | want it, that you can change the software or use pieces of it in new | ||
28 | free programs, and that you know you can do these things. | ||
29 | |||
30 | Developers that use our General Public Licenses protect your rights | ||
31 | with two steps: (1) assert copyright on the software, and (2) offer | ||
32 | you this License which gives you legal permission to copy, distribute | ||
33 | and/or modify the software. | ||
34 | |||
35 | A secondary benefit of defending all users' freedom is that | ||
36 | improvements made in alternate versions of the program, if they | ||
37 | receive widespread use, become available for other developers to | ||
38 | incorporate. Many developers of free software are heartened and | ||
39 | encouraged by the resulting cooperation. However, in the case of | ||
40 | software used on network servers, this result may fail to come about. | ||
41 | The GNU General Public License permits making a modified version and | ||
42 | letting the public access it on a server without ever releasing its | ||
43 | source code to the public. | ||
44 | |||
45 | The GNU Affero General Public License is designed specifically to | ||
46 | ensure that, in such cases, the modified source code becomes available | ||
47 | to the community. It requires the operator of a network server to | ||
48 | provide the source code of the modified version running there to the | ||
49 | users of that server. Therefore, public use of a modified version, on | ||
50 | a publicly accessible server, gives the public access to the source | ||
51 | code of the modified version. | ||
52 | |||
53 | An older license, called the Affero General Public License and | ||
54 | published by Affero, was designed to accomplish similar goals. This is | ||
55 | a different license, not a version of the Affero GPL, but Affero has | ||
56 | released a new version of the Affero GPL which permits relicensing | ||
57 | under this license. | ||
58 | |||
59 | The precise terms and conditions for copying, distribution and | ||
60 | modification follow. | ||
61 | |||
62 | ### TERMS AND CONDITIONS | ||
63 | |||
64 | #### 0. Definitions. | ||
65 | |||
66 | "This License" refers to version 3 of the GNU Affero General Public | ||
67 | License. | ||
68 | |||
69 | "Copyright" also means copyright-like laws that apply to other kinds | ||
70 | of works, such as semiconductor masks. | ||
71 | |||
72 | "The Program" refers to any copyrightable work licensed under this | ||
73 | License. Each licensee is addressed as "you". "Licensees" and | ||
74 | "recipients" may be individuals or organizations. | ||
75 | |||
76 | To "modify" a work means to copy from or adapt all or part of the work | ||
77 | in a fashion requiring copyright permission, other than the making of | ||
78 | an exact copy. The resulting work is called a "modified version" of | ||
79 | the earlier work or a work "based on" the earlier work. | ||
80 | |||
81 | A "covered work" means either the unmodified Program or a work based | ||
82 | on the Program. | ||
83 | |||
84 | To "propagate" a work means to do anything with it that, without | ||
85 | permission, would make you directly or secondarily liable for | ||
86 | infringement under applicable copyright law, except executing it on a | ||
87 | computer or modifying a private copy. Propagation includes copying, | ||
88 | distribution (with or without modification), making available to the | ||
89 | public, and in some countries other activities as well. | ||
90 | |||
91 | To "convey" a work means any kind of propagation that enables other | ||
92 | parties to make or receive copies. Mere interaction with a user | ||
93 | through a computer network, with no transfer of a copy, is not | ||
94 | conveying. | ||
95 | |||
96 | An interactive user interface displays "Appropriate Legal Notices" to | ||
97 | the extent that it includes a convenient and prominently visible | ||
98 | feature that (1) displays an appropriate copyright notice, and (2) | ||
99 | tells the user that there is no warranty for the work (except to the | ||
100 | extent that warranties are provided), that licensees may convey the | ||
101 | work under this License, and how to view a copy of this License. If | ||
102 | the interface presents a list of user commands or options, such as a | ||
103 | menu, a prominent item in the list meets this criterion. | ||
104 | |||
105 | #### 1. Source Code. | ||
106 | |||
107 | The "source code" for a work means the preferred form of the work for | ||
108 | making modifications to it. "Object code" means any non-source form of | ||
109 | a work. | ||
110 | |||
111 | A "Standard Interface" means an interface that either is an official | ||
112 | standard defined by a recognized standards body, or, in the case of | ||
113 | interfaces specified for a particular programming language, one that | ||
114 | is widely used among developers working in that language. | ||
115 | |||
116 | The "System Libraries" of an executable work include anything, other | ||
117 | than the work as a whole, that (a) is included in the normal form of | ||
118 | packaging a Major Component, but which is not part of that Major | ||
119 | Component, and (b) serves only to enable use of the work with that | ||
120 | Major Component, or to implement a Standard Interface for which an | ||
121 | implementation is available to the public in source code form. A | ||
122 | "Major Component", in this context, means a major essential component | ||
123 | (kernel, window system, and so on) of the specific operating system | ||
124 | (if any) on which the executable work runs, or a compiler used to | ||
125 | produce the work, or an object code interpreter used to run it. | ||
126 | |||
127 | The "Corresponding Source" for a work in object code form means all | ||
128 | the source code needed to generate, install, and (for an executable | ||
129 | work) run the object code and to modify the work, including scripts to | ||
130 | control those activities. However, it does not include the work's | ||
131 | System Libraries, or general-purpose tools or generally available free | ||
132 | programs which are used unmodified in performing those activities but | ||
133 | which are not part of the work. For example, Corresponding Source | ||
134 | includes interface definition files associated with source files for | ||
135 | the work, and the source code for shared libraries and dynamically | ||
136 | linked subprograms that the work is specifically designed to require, | ||
137 | such as by intimate data communication or control flow between those | ||
138 | subprograms and other parts of the work. | ||
139 | |||
140 | The Corresponding Source need not include anything that users can | ||
141 | regenerate automatically from other parts of the Corresponding Source. | ||
142 | |||
143 | The Corresponding Source for a work in source code form is that same | ||
144 | work. | ||
145 | |||
146 | #### 2. Basic Permissions. | ||
147 | |||
148 | All rights granted under this License are granted for the term of | ||
149 | copyright on the Program, and are irrevocable provided the stated | ||
150 | conditions are met. This License explicitly affirms your unlimited | ||
151 | permission to run the unmodified Program. The output from running a | ||
152 | covered work is covered by this License only if the output, given its | ||
153 | content, constitutes a covered work. This License acknowledges your | ||
154 | rights of fair use or other equivalent, as provided by copyright law. | ||
155 | |||
156 | You may make, run and propagate covered works that you do not convey, | ||
157 | without conditions so long as your license otherwise remains in force. | ||
158 | You may convey covered works to others for the sole purpose of having | ||
159 | them make modifications exclusively for you, or provide you with | ||
160 | facilities for running those works, provided that you comply with the | ||
161 | terms of this License in conveying all material for which you do not | ||
162 | control copyright. Those thus making or running the covered works for | ||
163 | you must do so exclusively on your behalf, under your direction and | ||
164 | control, on terms that prohibit them from making any copies of your | ||
165 | copyrighted material outside their relationship with you. | ||
166 | |||
167 | Conveying under any other circumstances is permitted solely under the | ||
168 | conditions stated below. Sublicensing is not allowed; section 10 makes | ||
169 | it unnecessary. | ||
170 | |||
171 | #### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. | ||
172 | |||
173 | No covered work shall be deemed part of an effective technological | ||
174 | measure under any applicable law fulfilling obligations under article | ||
175 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or | ||
176 | similar laws prohibiting or restricting circumvention of such | ||
177 | measures. | ||
178 | |||
179 | When you convey a covered work, you waive any legal power to forbid | ||
180 | circumvention of technological measures to the extent such | ||
181 | circumvention is effected by exercising rights under this License with | ||
182 | respect to the covered work, and you disclaim any intention to limit | ||
183 | operation or modification of the work as a means of enforcing, against | ||
184 | the work's users, your or third parties' legal rights to forbid | ||
185 | circumvention of technological measures. | ||
186 | |||
187 | #### 4. Conveying Verbatim Copies. | ||
188 | |||
189 | You may convey verbatim copies of the Program's source code as you | ||
190 | receive it, in any medium, provided that you conspicuously and | ||
191 | appropriately publish on each copy an appropriate copyright notice; | ||
192 | keep intact all notices stating that this License and any | ||
193 | non-permissive terms added in accord with section 7 apply to the code; | ||
194 | keep intact all notices of the absence of any warranty; and give all | ||
195 | recipients a copy of this License along with the Program. | ||
196 | |||
197 | You may charge any price or no price for each copy that you convey, | ||
198 | and you may offer support or warranty protection for a fee. | ||
199 | |||
200 | #### 5. Conveying Modified Source Versions. | ||
201 | |||
202 | You may convey a work based on the Program, or the modifications to | ||
203 | produce it from the Program, in the form of source code under the | ||
204 | terms of section 4, provided that you also meet all of these | ||
205 | conditions: | ||
206 | |||
207 | - a) The work must carry prominent notices stating that you modified | ||
208 | it, and giving a relevant date. | ||
209 | - b) The work must carry prominent notices stating that it is | ||
210 | released under this License and any conditions added under | ||
211 | section 7. This requirement modifies the requirement in section 4 | ||
212 | to "keep intact all notices". | ||
213 | - c) You must license the entire work, as a whole, under this | ||
214 | License to anyone who comes into possession of a copy. This | ||
215 | License will therefore apply, along with any applicable section 7 | ||
216 | additional terms, to the whole of the work, and all its parts, | ||
217 | regardless of how they are packaged. This License gives no | ||
218 | permission to license the work in any other way, but it does not | ||