hello 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (9) hide show
  1. data/AUTHORS +1 -0
  2. data/CHANGELOG +9 -0
  3. data/COPYING +728 -0
  4. data/LICENSE +58 -0
  5. data/README +121 -0
  6. data/Rakefile +85 -0
  7. data/TODO +8 -0
  8. data/lib/hello.rb +0 -0
  9. metadata +52 -0
data/AUTHORS ADDED
@@ -0,0 +1 @@
1
+ Tim Becker (tim@kuriositaet.de)
@@ -0,0 +1,9 @@
1
+
2
+ = Version 0.0
3
+ === Wed Sep 13 23:37:13 CEST 2006
4
+ * added gem task
5
+ * clean
6
+ === Fri Sep 8 13:59:26 CEST 2006
7
+
8
+ * Started development
9
+ * Directory structure, README and CHANGELOG
data/COPYING ADDED
@@ -0,0 +1,728 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content='text/html; charset=utf-8' />
8
+ <link rel="stylesheet" type="text/css" href="/gnu.css" />
9
+ <link rev="made" href="mailto:webmasters@gnu.org" />
10
+ <link rel="icon" type="image/png" href="/graphics/gnu-head-mini.png" />
11
+
12
+
13
+ <title>GNU General Public License - GNU Project - Free Software Foundation (FSF)</title>
14
+
15
+ <style type="text/css" media="screen">
16
+
17
+ /* import core GNU styles */
18
+
19
+ @import url('/gnu.css');
20
+
21
+ /* import new GNU styles */
22
+
23
+ @import url('/gnu-new.css');
24
+
25
+ </style>
26
+
27
+ </head>
28
+
29
+ <body id="foo">
30
+
31
+ <div id="wrapper">
32
+
33
+ <p class="netscape4"><a href="#content">Skip to content</a></p>
34
+
35
+ <div id="top2">
36
+
37
+ <div id="banner">
38
+
39
+ <div id="gnulogo"><a href="/" title="Go to the GNU project homepage"><img src="/graphics/gnu-head-banner.png" alt="" /></a></div>
40
+
41
+ <div id="dbdlogo"><a href="http://www.defectivebydesign.org/join/gnu" title="Join the fight against Digital Restrictions Management"><img src="/graphics/campaigns.png" alt="" /></a></div>
42
+
43
+ <h1>GNU's Not Unix! - Free Software, Free Society</h1>
44
+
45
+ <ul id="links">
46
+ <li><a href="http://www.fsf.org/philosophy/free-sw.html">What is Free Software?</a></li>
47
+ <li><a href="http://www.fsf.org/join" title="Become an associate member today!">Join the Free Software Foundation</a></li>
48
+ <li><a href="http://www.fsf.org/register_form" title="Register to receive regular postal and electronic updates">Get the FSF alert</a></li>
49
+
50
+ </ul>
51
+
52
+ </div>
53
+
54
+ <h5 class="netscape4">Site Navigation</h5>
55
+
56
+ <div id="header">
57
+ <ul>
58
+ <li><a href="/">Home</a></li>
59
+ <li><a href="/software/">Software</a></li>
60
+ <li><a href="/philosophy/">Philosophy</a></li>
61
+ <li><a href="/licenses/">Licenses</a></li>
62
+ <li><a href="/doc/">Documentation</a></li>
63
+ <li><a href="/help/">Help GNU</a></li>
64
+ <li><a href="/contact/">Contact Us</a></li>
65
+ <li><a href="http://gplv3.fsf.org/">GPL v3</a></li>
66
+ </ul>
67
+ </div>
68
+
69
+
70
+ </div>
71
+ <div id="columns">
72
+ <div id="content">
73
+
74
+ <body>
75
+
76
+ <h2>GNU General Public License</h2>
77
+
78
+ <div>
79
+ <a href="/graphics/philosophicalgnu.html"><img src="/graphics/philosophical-gnu-sm.jpg"
80
+ alt=" [image of a Philosophical GNU] "
81
+ width="160" height="200" /></a>
82
+ </div>
83
+
84
+ <!-- Please keep this list alphabetical -->
85
+ <!-- tower, gpl.ja.html is Japanese translation of THIS PAGE, -->
86
+ <!-- NOT translation of GPL itself(gpl.ja.html contains the original -->
87
+ <!-- English version). So please do not remove the following. -->
88
+ <!-- Thanks -mhatta -->
89
+ <!-- The same for the Czech page. The entire text of GPL is not -->
90
+ <!-- translated on this page. Thanks Sisao -->
91
+
92
+ <div>
93
+ [
94
+ <a href="/licenses/gpl.cs.html">Czech</a>
95
+ | <a href="/licenses/gpl.html">English</a>
96
+ | <a href="/licenses/gpl.ja.html">Japanese</a>
97
+ ]
98
+ </div>
99
+
100
+
101
+ <!-- It is best to not enumerate the translations here in a menu bar, -->
102
+ <!-- It is best to have the users follow this link, so they have the FSF' -->
103
+ <!-- explanation about translations being unofficial, etc. -->
104
+
105
+ <ul>
106
+ <li><a href="/licenses/gpl-violation.html"><em>What to do if you see a
107
+ possible GPL violation</em></a></li>
108
+ <li><a href="/licenses/translations.html"><em>Translations
109
+ of the GPL</em></a></li>
110
+ <li><a href="/licenses/gpl-faq.html"><em>GPL Frequently Asked Questions</em></a></li>
111
+ <li>The GNU General Public License (GPL)
112
+ <a href="/licenses/gpl.txt">in plain text format</a></li>
113
+ <li>The GNU General Public License (GPL)
114
+ <a href="/licenses/gpl.texi">in Texinfo format</a></li>
115
+ <li>The GNU General Public License (GPL)
116
+ <a href="/licenses/gpl-2.0.tex">in LaTeX format</a></li>
117
+ <li>The GNU General Public License (GPL)
118
+ <a href="/licenses/gpl.dbk">as an appendix in DocBook format</a></li>
119
+ </ul>
120
+
121
+ <hr />
122
+
123
+ <h3>Table of Contents</h3>
124
+ <ul>
125
+
126
+ <li><a name="TOC1" href="gpl.html#SEC1">GNU GENERAL PUBLIC LICENSE</a></li>
127
+ <li>
128
+ <ul>
129
+ <li><a name="TOC2" href="gpl.html#SEC2">Preamble</a></li>
130
+ <li><a name="TOC3" href="gpl.html#SEC3">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></li>
131
+ <li><a name="TOC4" href="gpl.html#SEC4">How to Apply These Terms to Your New Programs</a></li>
132
+ </ul>
133
+ </li>
134
+ </ul>
135
+
136
+ <hr />
137
+
138
+ <h3><a name="SEC1" href="gpl.html#TOC1">GNU GENERAL PUBLIC LICENSE</a></h3>
139
+ <p>
140
+ Version 2, June 1991
141
+ </p>
142
+
143
+ <pre>
144
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
145
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
146
+
147
+ Everyone is permitted to copy and distribute verbatim copies
148
+ of this license document, but changing it is not allowed.
149
+ </pre>
150
+
151
+ <h3><a name="SEC2" href="gpl.html#TOC2">Preamble</a></h3>
152
+
153
+ <p>
154
+ The licenses for most software are designed to take away your
155
+ freedom to share and change it. By contrast, the GNU General Public
156
+ License is intended to guarantee your freedom to share and change free
157
+ software--to make sure the software is free for all its users. This
158
+ General Public License applies to most of the Free Software
159
+ Foundation's software and to any other program whose authors commit to
160
+ using it. (Some other Free Software Foundation software is covered by
161
+ the GNU Lesser General Public License instead.) You can apply it to
162
+ your programs, too.
163
+ </p>
164
+
165
+ <p>
166
+ When we speak of free software, we are referring to freedom, not
167
+ price. Our General Public Licenses are designed to make sure that you
168
+ have the freedom to distribute copies of free software (and charge for
169
+ this service if you wish), that you receive source code or can get it
170
+ if you want it, that you can change the software or use pieces of it
171
+ in new free programs; and that you know you can do these things.
172
+ </p>
173
+
174
+ <p>
175
+ To protect your rights, we need to make restrictions that forbid
176
+ anyone to deny you these rights or to ask you to surrender the rights.
177
+ These restrictions translate to certain responsibilities for you if you
178
+ distribute copies of the software, or if you modify it.
179
+ </p>
180
+
181
+ <p>
182
+ For example, if you distribute copies of such a program, whether
183
+ gratis or for a fee, you must give the recipients all the rights that
184
+ you have. You must make sure that they, too, receive or can get the
185
+ source code. And you must show them these terms so they know their
186
+ rights.
187
+ </p>
188
+
189
+ <p>
190
+ We protect your rights with two steps: (1) copyright the software, and
191
+ (2) offer you this license which gives you legal permission to copy,
192
+ distribute and/or modify the software.
193
+ </p>
194
+
195
+ <p>
196
+ Also, for each author's protection and ours, we want to make certain
197
+ that everyone understands that there is no warranty for this free
198
+ software. If the software is modified by someone else and passed on, we
199
+ want its recipients to know that what they have is not the original, so
200
+ that any problems introduced by others will not reflect on the original
201
+ authors' reputations.
202
+ </p>
203
+
204
+ <p>
205
+ Finally, any free program is threatened constantly by software
206
+ patents. We wish to avoid the danger that redistributors of a free
207
+ program will individually obtain patent licenses, in effect making the
208
+ program proprietary. To prevent this, we have made it clear that any
209
+ patent must be licensed for everyone's free use or not licensed at all.
210
+ </p>
211
+
212
+ <p>
213
+ The precise terms and conditions for copying, distribution and
214
+ modification follow.
215
+ </p>
216
+
217
+
218
+ <h3><a name="SEC3" href="gpl.html#TOC3">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></h3>
219
+
220
+
221
+ <p>
222
+ <strong>0.</strong>
223
+ This License applies to any program or other work which contains
224
+ a notice placed by the copyright holder saying it may be distributed
225
+ under the terms of this General Public License. The "Program", below,
226
+ refers to any such program or work, and a "work based on the Program"
227
+ means either the Program or any derivative work under copyright law:
228
+ that is to say, a work containing the Program or a portion of it,
229
+ either verbatim or with modifications and/or translated into another
230
+ language. (Hereinafter, translation is included without limitation in
231
+ the term "modification".) Each licensee is addressed as "you".
232
+ </p>
233
+
234
+ <p>
235
+ Activities other than copying, distribution and modification are not
236
+ covered by this License; they are outside its scope. The act of
237
+ running the Program is not restricted, and the output from the Program
238
+ is covered only if its contents constitute a work based on the
239
+ Program (independent of having been made by running the Program).
240
+ Whether that is true depends on what the Program does.
241
+ </p>
242
+
243
+ <p>
244
+ <strong>1.</strong>
245
+ You may copy and distribute verbatim copies of the Program's
246
+ source code as you receive it, in any medium, provided that you
247
+ conspicuously and appropriately publish on each copy an appropriate
248
+ copyright notice and disclaimer of warranty; keep intact all the
249
+ notices that refer to this License and to the absence of any warranty;
250
+ and give any other recipients of the Program a copy of this License
251
+ along with the Program.
252
+ </p>
253
+
254
+ <p>
255
+ You may charge a fee for the physical act of transferring a copy, and
256
+ you may at your option offer warranty protection in exchange for a fee.
257
+ </p>
258
+
259
+ <p>
260
+ <strong>2.</strong>
261
+ You may modify your copy or copies of the Program or any portion
262
+ of it, thus forming a work based on the Program, and copy and
263
+ distribute such modifications or work under the terms of Section 1
264
+ above, provided that you also meet all of these conditions:
265
+ </p>
266
+
267
+ <dl>
268
+ <dt></dt>
269
+ <dd>
270
+ <strong>a)</strong>
271
+ You must cause the modified files to carry prominent notices
272
+ stating that you changed the files and the date of any change.
273
+ </dd>
274
+ <dt></dt>
275
+ <dd>
276
+ <strong>b)</strong>
277
+ You must cause any work that you distribute or publish, that in
278
+ whole or in part contains or is derived from the Program or any
279
+ part thereof, to be licensed as a whole at no charge to all third
280
+ parties under the terms of this License.
281
+ </dd>
282
+ <dt></dt>
283
+ <dd>
284
+ <strong>c)</strong>
285
+ If the modified program normally reads commands interactively
286
+ when run, you must cause it, when started running for such
287
+ interactive use in the most ordinary way, to print or display an
288
+ announcement including an appropriate copyright notice and a
289
+ notice that there is no warranty (or else, saying that you provide
290
+ a warranty) and that users may redistribute the program under
291
+ these conditions, and telling the user how to view a copy of this
292
+ License. (Exception: if the Program itself is interactive but
293
+ does not normally print such an announcement, your work based on
294
+ the Program is not required to print an announcement.)
295
+ </dd>
296
+ </dl>
297
+
298
+ <p>
299
+ These requirements apply to the modified work as a whole. If
300
+ identifiable sections of that work are not derived from the Program,
301
+ and can be reasonably considered independent and separate works in
302
+ themselves, then this License, and its terms, do not apply to those
303
+ sections when you distribute them as separate works. But when you
304
+ distribute the same sections as part of a whole which is a work based
305
+ on the Program, the distribution of the whole must be on the terms of
306
+ this License, whose permissions for other licensees extend to the
307
+ entire whole, and thus to each and every part regardless of who wrote it.
308
+ </p>
309
+
310
+ <p>
311
+ Thus, it is not the intent of this section to claim rights or contest
312
+ your rights to work written entirely by you; rather, the intent is to
313
+ exercise the right to control the distribution of derivative or
314
+ collective works based on the Program.
315
+ </p>
316
+
317
+ <p>
318
+ In addition, mere aggregation of another work not based on the Program
319
+ with the Program (or with a work based on the Program) on a volume of
320
+ a storage or distribution medium does not bring the other work under
321
+ the scope of this License.
322
+ </p>
323
+
324
+ <p>
325
+ <strong>3.</strong>
326
+ You may copy and distribute the Program (or a work based on it,
327
+ under Section 2) in object code or executable form under the terms of
328
+ Sections 1 and 2 above provided that you also do one of the following:
329
+ </p>
330
+
331
+ <!-- we use this doubled UL to get the sub-sections indented, -->
332
+ <!-- while making the bullets as unobvious as possible. -->
333
+
334
+ <dl>
335
+ <dt></dt>
336
+ <dd>
337
+ <strong>a)</strong>
338
+ Accompany it with the complete corresponding machine-readable
339
+ source code, which must be distributed under the terms of Sections
340
+ 1 and 2 above on a medium customarily used for software interchange; or,
341
+ </dd>
342
+ <dt></dt>
343
+ <dd>
344
+ <strong>b)</strong>
345
+ Accompany it with a written offer, valid for at least three
346
+ years, to give any third party, for a charge no more than your
347
+ cost of physically performing source distribution, a complete
348
+ machine-readable copy of the corresponding source code, to be
349
+ distributed under the terms of Sections 1 and 2 above on a medium
350
+ customarily used for software interchange; or,
351
+ </dd>
352
+ <dt></dt>
353
+ <dd>
354
+ <strong>c)</strong>
355
+ Accompany it with the information you received as to the offer
356
+ to distribute corresponding source code. (This alternative is
357
+ allowed only for noncommercial distribution and only if you
358
+ received the program in object code or executable form with such
359
+ an offer, in accord with Subsection b above.)
360
+ </dd>
361
+ </dl>
362
+
363
+ <p>
364
+ The source code for a work means the preferred form of the work for
365
+ making modifications to it. For an executable work, complete source
366
+ code means all the source code for all modules it contains, plus any
367
+ associated interface definition files, plus the scripts used to
368
+ control compilation and installation of the executable. However, as a
369
+ special exception, the source code distributed need not include
370
+ anything that is normally distributed (in either source or binary
371
+ form) with the major components (compiler, kernel, and so on) of the
372
+ operating system on which the executable runs, unless that component
373
+ itself accompanies the executable.
374
+ </p>
375
+
376
+ <p>
377
+ If distribution of executable or object code is made by offering
378
+ access to copy from a designated place, then offering equivalent
379
+ access to copy the source code from the same place counts as
380
+ distribution of the source code, even though third parties are not
381
+ compelled to copy the source along with the object code.
382
+ </p>
383
+
384
+ <p>
385
+ <strong>4.</strong>
386
+ You may not copy, modify, sublicense, or distribute the Program
387
+ except as expressly provided under this License. Any attempt
388
+ otherwise to copy, modify, sublicense or distribute the Program is
389
+ void, and will automatically terminate your rights under this License.
390
+ However, parties who have received copies, or rights, from you under
391
+ this License will not have their licenses terminated so long as such
392
+ parties remain in full compliance.
393
+ </p>
394
+
395
+ <p>
396
+ <strong>5.</strong>
397
+ You are not required to accept this License, since you have not
398
+ signed it. However, nothing else grants you permission to modify or
399
+ distribute the Program or its derivative works. These actions are
400
+ prohibited by law if you do not accept this License. Therefore, by
401
+ modifying or distributing the Program (or any work based on the
402
+ Program), you indicate your acceptance of this License to do so, and
403
+ all its terms and conditions for copying, distributing or modifying
404
+ the Program or works based on it.
405
+ </p>
406
+
407
+ <p>
408
+ <strong>6.</strong>
409
+ Each time you redistribute the Program (or any work based on the
410
+ Program), the recipient automatically receives a license from the
411
+ original licensor to copy, distribute or modify the Program subject to
412
+ these terms and conditions. You may not impose any further
413
+ restrictions on the recipients' exercise of the rights granted herein.
414
+ You are not responsible for enforcing compliance by third parties to
415
+ this License.
416
+ </p>
417
+
418
+ <p>
419
+ <strong>7.</strong>
420
+ If, as a consequence of a court judgment or allegation of patent
421
+ infringement or for any other reason (not limited to patent issues),
422
+ conditions are imposed on you (whether by court order, agreement or
423
+ otherwise) that contradict the conditions of this License, they do not
424
+ excuse you from the conditions of this License. If you cannot
425
+ distribute so as to satisfy simultaneously your obligations under this
426
+ License and any other pertinent obligations, then as a consequence you
427
+ may not distribute the Program at all. For example, if a patent
428
+ license would not permit royalty-free redistribution of the Program by
429
+ all those who receive copies directly or indirectly through you, then
430
+ the only way you could satisfy both it and this License would be to
431
+ refrain entirely from distribution of the Program.
432
+ </p>
433
+
434
+ <p>
435
+ If any portion of this section is held invalid or unenforceable under
436
+ any particular circumstance, the balance of the section is intended to
437
+ apply and the section as a whole is intended to apply in other
438
+ circumstances.
439
+ </p>
440
+
441
+ <p>
442
+ It is not the purpose of this section to induce you to infringe any
443
+ patents or other property right claims or to contest validity of any
444
+ such claims; this section has the sole purpose of protecting the
445
+ integrity of the free software distribution system, which is
446
+ implemented by public license practices. Many people have made
447
+ generous contributions to the wide range of software distributed
448
+ through that system in reliance on consistent application of that
449
+ system; it is up to the author/donor to decide if he or she is willing
450
+ to distribute software through any other system and a licensee cannot
451
+ impose that choice.
452
+ </p>
453
+
454
+ <p>
455
+ This section is intended to make thoroughly clear what is believed to
456
+ be a consequence of the rest of this License.
457
+ </p>
458
+
459
+ <p>
460
+ <strong>8.</strong>
461
+ If the distribution and/or use of the Program is restricted in
462
+ certain countries either by patents or by copyrighted interfaces, the
463
+ original copyright holder who places the Program under this License
464
+ may add an explicit geographical distribution limitation excluding
465
+ those countries, so that distribution is permitted only in or among
466
+ countries not thus excluded. In such case, this License incorporates
467
+ the limitation as if written in the body of this License.
468
+ </p>
469
+
470
+ <p>
471
+ <strong>9.</strong>
472
+ The Free Software Foundation may publish revised and/or new versions
473
+ of the General Public License from time to time. Such new versions will
474
+ be similar in spirit to the present version, but may differ in detail to
475
+ address new problems or concerns.
476
+ </p>
477
+
478
+ <p>
479
+ Each version is given a distinguishing version number. If the Program
480
+ specifies a version number of this License which applies to it and "any
481
+ later version", you have the option of following the terms and conditions
482
+ either of that version or of any later version published by the Free
483
+ Software Foundation. If the Program does not specify a version number of
484
+ this License, you may choose any version ever published by the Free Software
485
+ Foundation.
486
+ </p>
487
+
488
+ <p>
489
+ <strong>10.</strong>
490
+ If you wish to incorporate parts of the Program into other free
491
+ programs whose distribution conditions are different, write to the author
492
+ to ask for permission. For software which is copyrighted by the Free
493
+ Software Foundation, write to the Free Software Foundation; we sometimes
494
+ make exceptions for this. Our decision will be guided by the two goals
495
+ of preserving the free status of all derivatives of our free software and
496
+ of promoting the sharing and reuse of software generally.
497
+ </p>
498
+
499
+ <p><strong>NO WARRANTY</strong></p>
500
+
501
+ <p>
502
+ <strong>11.</strong>
503
+ BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
504
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
505
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
506
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
507
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
508
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
509
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
510
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
511
+ REPAIR OR CORRECTION.
512
+ </p>
513
+
514
+ <p>
515
+ <strong>12.</strong>
516
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
517
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
518
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
519
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
520
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
521
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
522
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
523
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
524
+ POSSIBILITY OF SUCH DAMAGES.
525
+ </p>
526
+
527
+ <h3>END OF TERMS AND CONDITIONS</h3>
528
+
529
+ <h3><a name="SEC4" href="gpl.html#TOC4">How to Apply These Terms to Your New Programs</a></h3>
530
+
531
+ <p>
532
+ If you develop a new program, and you want it to be of the greatest
533
+ possible use to the public, the best way to achieve this is to make it
534
+ free software which everyone can redistribute and change under these terms.
535
+ </p>
536
+
537
+ <p>
538
+ To do so, attach the following notices to the program. It is safest
539
+ to attach them to the start of each source file to most effectively
540
+ convey the exclusion of warranty; and each file should have at least
541
+ the "copyright" line and a pointer to where the full notice is found.
542
+ </p>
543
+
544
+ <pre>
545
+ <var>one line to give the program's name and an idea of what it does.</var>
546
+ Copyright (C) <var>yyyy</var> <var>name of author</var>
547
+
548
+ This program is free software; you can redistribute it and/or
549
+ modify it under the terms of the GNU General Public License
550
+ as published by the Free Software Foundation; either version 2
551
+ of the License, or (at your option) any later version.
552
+
553
+ This program is distributed in the hope that it will be useful,
554
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
555
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
556
+ GNU General Public License for more details.
557
+
558
+ You should have received a copy of the GNU General Public License
559
+ along with this program; if not, write to the Free Software
560
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
561
+ </pre>
562
+
563
+ <p>
564
+ Also add information on how to contact you by electronic and paper mail.
565
+ </p>
566
+
567
+ <p>
568
+ If the program is interactive, make it output a short notice like this
569
+ when it starts in an interactive mode:
570
+ </p>
571
+
572
+ <pre>
573
+ Gnomovision version 69, Copyright (C) <var>year</var> <var>name of author</var>
574
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
575
+ type `show w'. This is free software, and you are welcome
576
+ to redistribute it under certain conditions; type `show c'
577
+ for details.
578
+ </pre>
579
+
580
+ <p>
581
+ The hypothetical commands <samp>`show w'</samp> and <samp>`show c'</samp> should show
582
+ the appropriate parts of the General Public License. Of course, the
583
+ commands you use may be called something other than <samp>`show w'</samp> and
584
+ <samp>`show c'</samp>; they could even be mouse-clicks or menu items--whatever
585
+ suits your program.
586
+ </p>
587
+
588
+ <p>
589
+ You should also get your employer (if you work as a programmer) or your
590
+ school, if any, to sign a "copyright disclaimer" for the program, if
591
+ necessary. Here is a sample; alter the names:
592
+ </p>
593
+
594
+
595
+ <pre>
596
+ Yoyodyne, Inc., hereby disclaims all copyright
597
+ interest in the program `Gnomovision'
598
+ (which makes passes at compilers) written
599
+ by James Hacker.
600
+
601
+ <var>signature of Ty Coon</var>, 1 April 1989
602
+ Ty Coon, President of Vice
603
+ </pre>
604
+
605
+ <p>
606
+ This General Public License does not permit incorporating your program into
607
+ proprietary programs. If your program is a subroutine library, you may
608
+ consider it more useful to permit linking proprietary applications with the
609
+ library. If this is what you want to do, use the
610
+ <a href="/licenses/lgpl.html">GNU Lesser General Public License</a>
611
+ instead of this License.
612
+ </p>
613
+
614
+ </div>
615
+ <div id="sidebar">
616
+ <h3>Site</h3>
617
+ <ul>
618
+ <li><a href="/search.html">Search</a></li>
619
+ <li><a href="/server/sitemap.html">Sitemap</a></li>
620
+ <li><a href="/links/links.html">Links</a></li>
621
+ <li><a href="/philosophy/">GNU Philosophy</a></li>
622
+ <li><a href="/jobs">Free Software Jobs</a></li>
623
+ <li><a href="/graphics/graphics.html">Art</a></li>
624
+ <li><a href="/fun/humor.html">Fun</a></li>
625
+ </ul>
626
+ <h3>&nbsp;&nbsp;Software</h3>
627
+ <ul>
628
+ <li><a href="http://directory.fsf.org/">Free&nbsp;Software&nbsp;Directory</a></li>
629
+ <li><a href="/server/takeaction.html#directory">Add to Directory</a></li>
630
+ <li><a href="http://savannah.gnu.org/">Software Development Projects</a></li>
631
+ <li><a href="/doc/doc.html">GNU Documentation</a></li>
632
+ <li><a href="/licenses/licenses.html">Licenses</a></li>
633
+ <li><a href="/links/links.html#FreeGNULinuxDistributions">Obtaining
634
+ GNU/Linux</a></li>
635
+ <li><a href="/software/devel.html">Developer Resources</a></li>
636
+ <li><a href="/help/gethelp.html">GNU Software Help</a></li>
637
+ <li><a href="/help/help.html">How to Help GNU</a></li>
638
+ <li><a href="http://www.fsf.org/campaigns/priority.html">Suggest a
639
+ Priority Project</a></li>
640
+ </ul>
641
+ <h3>&nbsp;&nbsp;Help FSF!</h3>
642
+ <ul>
643
+ <li><a href="http://order.fsf.org/">Buy manuals and gear</a></li>
644
+ <li><a href="http://donate.fsf.org/">Donate</a></li>
645
+ <li><a href="http://member.fsf.org/">Associate Membership</a></li>
646
+ <li><a href="http://patron.fsf.org/">Corporate Patronage</a></li>
647
+ <li><a href="/thankgnus/thankgnus.html">Thank GNUs</a></li>
648
+ </ul>
649
+ <h3>&nbsp;&nbsp;Keeping Up</h3>
650
+ <ul>
651
+ <li><a href="/keepingup.html">Keeping Up</a></li>
652
+ <li><a href="http://lists.gnu.org">GNU Mailing Lists</a></li>
653
+ <li><a href="/people/speakers.html">GNU Speakers</a></li>
654
+ <li><a href="/gnu/gnu-user-groups.html">User Groups</a></li>
655
+ <li><a href="/press/press.html">Press Information</a></li>
656
+ <li><a href="http://www.freesoftwaremagazine.com">Free Software Magazine</a> (independently published)</li>
657
+ </ul>
658
+ </div>
659
+ <!-- close columns -->
660
+ </div>
661
+ <div id="searcher">
662
+
663
+
664
+ <form method="post" action="http://www.gnu.org/cgi-bin/htsearch">
665
+ <div><label for="method">Search:</label>
666
+ <input type="hidden" name="method" id="method" value="and" />
667
+ <input name="words" id="words" type="text" size="20" />
668
+ <input type="submit" value="Go" />
669
+ <input type="hidden" name="format" value="builtin-long" />
670
+ <input type="hidden" name="config" value="htdig" /></div>
671
+ </form>
672
+ <p>&nbsp;</p>
673
+ </div>
674
+
675
+ <!-- BEGIN FSFlinks -->
676
+ <div id="fsflinks">
677
+ <ul>
678
+ <li><a href="http://www.fsf.org">FSF</a></li>
679
+ <li><a href="http://www.fsfeurope.org/">FSF Europe</a></li>
680
+ <li><a href="http://fsf.org.in/">FSF India</a></li>
681
+ <li><a href="http://www.fsfla.org">FSF Latin America</a></li>
682
+ <li><a href="home.shtml#translations">Translations of this page</a></li>
683
+ </ul>
684
+ </div>
685
+
686
+ <!-- END FSFlinks -->
687
+
688
+ <div class="copyright">
689
+ <p>
690
+ Return to the <a href="/home.html">GNU Project home page</a>.
691
+ </p>
692
+
693
+ <p>
694
+ Please send FSF &amp; GNU inquiries to
695
+ <a href="mailto:gnu@gnu.org"><em>gnu@gnu.org</em></a>.
696
+ There are also <a href="http://www.fsf.org/about/contact.html">other ways to contact</a>
697
+ the FSF.
698
+ <br />
699
+ Please send broken links and other corrections (or suggestions) to
700
+ <a href="mailto:webmasters@gnu.org"><em>webmasters@gnu.org</em></a>.
701
+ </p>
702
+
703
+ <p>
704
+ Please see the
705
+ <a href="/server/standards/README.translations.html">Translations
706
+ README</a> for information on coordinating and submitting
707
+ translations of this article.
708
+ </p>
709
+
710
+ <p>
711
+ Copyright notice above.<br />
712
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
713
+ <br />
714
+ Verbatim copying and distribution of this entire article is
715
+ permitted in any medium without royalty provided this notice is
716
+ preserved.
717
+ </p>
718
+
719
+ <p>
720
+ Updated:
721
+ <!-- timestamp start -->
722
+ $Date: 2006/08/23 20:00:02 $ $Author: johnsu01 $
723
+ <!-- timestamp end -->
724
+ </p>
725
+ </div>
726
+ </div>
727
+ </body>
728
+ </html>
data/LICENSE ADDED
@@ -0,0 +1,58 @@
1
+ This package is copyrighted free software by Tim Becker <tim@kuriositaet.de>.
2
+ You can redistribute it and/or modify it under either the terms of the GPL
3
+ (see COPYING.txt file), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) rename any non-standard executables so the names do not conflict
21
+ with standard executables, which must also be provided.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or executable
26
+ form, provided that you do at least ONE of the following:
27
+
28
+ a) distribute the executables and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c) give non-standard executables non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution
42
+ are not written by the author, so that they are not under this terms.
43
+
44
+ They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
45
+ files under the ./missing directory. See each file for the copying
46
+ condition.
47
+
48
+ 5. The scripts and library files supplied as input to or produced as
49
+ output from the software do not automatically fall under the
50
+ copyright of the software, but belong to whomever generated them,
51
+ and may be sold commercially, and may be aggregated with this
52
+ software.
53
+
54
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
55
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
56
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
57
+ PURPOSE.
58
+
data/README ADDED
@@ -0,0 +1,121 @@
1
+
2
+ = hello -- a sample ruby project
3
+
4
+ This package contains a hello project which is meant to provide
5
+ suggestions concerning how to structure and package ruby projects.
6
+
7
+ * how to structure project directories
8
+ * which auxilliary files to include in a distribution (README,
9
+ CHANGELOG, etc)
10
+ * providing source code documentation using +rdoc+
11
+ * approriate unit test using +runit+
12
+ * build support using +rake+
13
+
14
+ None of the suggestions here are set in stone, so feel free to do things
15
+ diffrently if you feel it makes more sense. (I prefer to indent using
16
+ tabs not spaces, which is the 'norm' in ruby). Consider this project to
17
+ be a template that might help you through the tedium of setting up a
18
+ project infrastructure to help you get coding real stuff quicker.
19
+
20
+
21
+ == Files and Directories
22
+
23
+ Providing the typical distribution files and directory structure that a
24
+ programmer expects make it easier for others to work with a freshly
25
+ unpacked package. Just imagine a world where everyhting is where you
26
+ expect it. Birds chirping peacefully be the stream, a README containing
27
+ all the information you need, and not long winded musings ...
28
+
29
+ * +README+ first stop for users of the package. Should contain
30
+ general information what the project is about, how to install, where
31
+ to get help.
32
+
33
+ * +CHANGELOG+ contains information about what changed between diffrent
34
+ revisions of the software. Some packages like to call this file
35
+ +RELEASES+.
36
+
37
+ * +LICENSE+ should contain information about the license
38
+ that the software is provided under. This file is sometimes called
39
+ +COPYING+, especially if it contains the GPL.
40
+
41
+ * +AUTHORS+ lists contributors to the project, a short description of
42
+ their contribution and how they can be reached.
43
+
44
+ * +TODO+ things left laying around. Stuff you never get around doing.
45
+ Boring crap.
46
+
47
+ * +Rakefile+ just like a +Makefile+, only for ruby. If you don't know what
48
+ either +make+ or +rake+ is: they're tools to automate tedious
49
+ repetitive stuff (called tasks) that need to be done during certain
50
+ stages of your project, like creating packages, uploading stuff to
51
+ repositories and to figure out if all dependancies for the task at
52
+ hand are met. But you either already knew that or if not most likely
53
+ still don't understand what +rake+ is about, so look around
54
+ here[http://rake.rubyforge.org/]. Actually that probably wouldn't
55
+ help much either, maybe try
56
+ this[http://jimweirich.umlcoop.net/index.cgi/Tech/Rake/Tutorial/RakeTutorialIntroduction.rdoc]
57
+ or this[http://docs.rubyrake.org/] or google around a little bit.
58
+
59
+ * +gemspec+ the specification for the +gem+ packaging is sometimes
60
+ maintained in a seperate file, but it's easiest to just pack it into
61
+ the +Rakefile+.
62
+
63
+ == Installing
64
+
65
+ TODO: installing per gem.
66
+
67
+ Currently, there's really nothing to install. In future, you should be
68
+ able to install this via:
69
+
70
+ gem install hello
71
+
72
+ but that won't work until we get things sorted out. If you're reading
73
+ this, chances are you've already downloaded the package
74
+ here[http://www.kuriositaet.de/ruby/hello].
75
+
76
+
77
+
78
+ == Tools
79
+
80
+ === Documentation using +rdoc+
81
+
82
+ Ruby source code is typically documented with the +rdoc+ tool. +rdoc+ is
83
+ included with Ruby distributions and can generate documenation directly
84
+ from the sources and the included comments. +Markup+ may be used to format
85
+ comments just like in the file. More information about +rdoc+ and
86
+ +markup+ can be found
87
+ here[http://www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/classes/RDoc.html].
88
+
89
+ === Unit Testing using +runit+
90
+
91
+ === Build Support using +rake+
92
+
93
+ +rake+ belongs to the defacto standard toolset for ruby. It's basically
94
+ the ruby equivalent of +make+ in that it's a tool for dealing with
95
+ dependancies and automating routine tasks. The tasks typically expected
96
+ to be in a +Rakefile+ are:
97
+
98
+ * clean - remove all temporary, intermediary and generated files
99
+ * rdoc - generate +rdoc+ documentation
100
+ * test - run the packages test suite
101
+ * package - assemble all the necessary files into a package for
102
+ distribution
103
+
104
+
105
+
106
+
107
+ === Packaging using +rubygems+
108
+
109
+
110
+
111
+ == Commandline usage
112
+
113
+ == Plattform Specific Issues
114
+
115
+ == Distributing and Promoting the Project
116
+
117
+ === rubygems
118
+ === rubyforge sourceforge
119
+ === Ruby Application Archive
120
+
121
+
@@ -0,0 +1,85 @@
1
+ require "rake/rdoctask"
2
+ require "rake/gempackagetask"
3
+ require "rake/clean"
4
+ require "rubygems"
5
+
6
+ # Specifies the default task to execute. This is often the "test" task
7
+ # and we'll change things around as soon as we have some tests.
8
+
9
+ task :default => [:rdoc]
10
+
11
+ # The directory to generate +rdoc+ in.
12
+ RDOC_DIR="doc/html"
13
+
14
+ # This global variable contains files that will be erased by the `clean` task.
15
+ # The `clean` task itself is automatically generated by requiring `rake/clean`.
16
+
17
+ CLEAN << RDOC_DIR << "pkg"
18
+
19
+
20
+ # This is the task that generates the +rdoc+ documentation from the
21
+ # source files. Instantiating Rake::RDocTask automatically generates a
22
+ # task called `rdoc`.
23
+
24
+ Rake::RDocTask.new do |rd|
25
+ # Options for documenation generation are specified inside of
26
+ # this block. For example the following line specifies that the
27
+ # content of the README file should be the main page of the
28
+ # documenation.
29
+ rd.main = "README"
30
+
31
+ # The following line specifies all the files to extract
32
+ # documenation from.
33
+ rd.rdoc_files.include( "README", "AUTHORS", "LICENSE", "TODO",
34
+ "CHANGELOG", "bin/**/*", "lib/**/*.rb",
35
+ "examples/**/*rb","test/**/*.rb")
36
+ # This one specifies the output directory ...
37
+ rd.rdoc_dir = "doc/html"
38
+
39
+ # Or the HTML title of the generated documentation set.
40
+ rd.title = "hello: Exemplary Documenation"
41
+
42
+ # These are options specifiying how source code inlined in the
43
+ # documentation should be formatted.
44
+
45
+ rd.options = ["--line-numbers", "--inline-source"]
46
+
47
+ # Check:
48
+ # `rdoc --help` for more rdoc options
49
+ # the {rdoc documenation home}[http://www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/index.html]
50
+ # or the documentation for the +Rake::RDocTask+ task[http://rake.rubyforge.org/classes/Rake/RDocTask.html]
51
+ end
52
+
53
+ # The GemPackageTask facilitates getting all your files collected
54
+ # together into gem archives. You can also use it to generate tarball
55
+ # and zip archives.
56
+
57
+ # First you'll need to assemble a gemspec
58
+
59
+ PKG_VERSION = "0.0.0"
60
+ PKG_FILES = FileList['lib/**/*.rb', 'bin/**/*', 'examples/**/*', '[A-Z]*', 'test/**/*'].to_a
61
+
62
+ spec = Gem::Specification.new do |s|
63
+ s.platform = Gem::Platform::RUBY
64
+ s.summary = "hello: an exemplary ruby project."
65
+ s.name = 'hello'
66
+ s.version = PKG_VERSION
67
+ s.files = PKG_FILES
68
+ s.requirements << "none"
69
+ s.require_path = 'lib'
70
+ s.description = <<END_DESC
71
+ This is a short description
72
+ END_DESC
73
+ end
74
+
75
+
76
+ Rake::GemPackageTask.new(spec) do |pkg|
77
+ pkg.need_zip = true
78
+ pkg.need_tar_gz = true
79
+ end
80
+
81
+ task :test do
82
+ puts "hello"
83
+ end
84
+
85
+
data/TODO ADDED
@@ -0,0 +1,8 @@
1
+ There's so much left to do that I don't even know where to start.
2
+
3
+ * Rakefile task for submitting to rubyforge.
4
+ * Dealing with Verison Control, automating tagging etc. in Rakefile
5
+
6
+ * source code commenting
7
+ * command line arguments
8
+ * dealing with c extensions
File without changes
metadata ADDED
@@ -0,0 +1,52 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.11
3
+ specification_version: 1
4
+ name: hello
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.0
7
+ date: 2006-09-14 00:00:00 +02:00
8
+ summary: "hello: an exemplary ruby project."
9
+ require_paths:
10
+ - lib
11
+ email:
12
+ homepage:
13
+ rubyforge_project:
14
+ description: This is a short description
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: false
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ authors: []
29
+
30
+ files:
31
+ - lib/hello.rb
32
+ - CHANGELOG
33
+ - LICENSE
34
+ - Rakefile
35
+ - AUTHORS
36
+ - TODO
37
+ - COPYING
38
+ - README
39
+ test_files: []
40
+
41
+ rdoc_options: []
42
+
43
+ extra_rdoc_files: []
44
+
45
+ executables: []
46
+
47
+ extensions: []
48
+
49
+ requirements:
50
+ - none
51
+ dependencies: []
52
+